第一篇:c語言選擇界面循環(huán)控制方法小結(jié)
一、利用無限可控循環(huán)
在一般有實(shí)用性的c語言程序中都用到字幕選擇交互屏幕來使得程序更友好,人機(jī)互動性更強(qiáng)。
而符合有效得控制字母選擇屏幕的循環(huán)輸出則顯得尤為重要。而利用無限可控循環(huán)則是一種高效的方法之一。其基本思路是。在生成字母屏幕的函數(shù)中創(chuàng)建一個無限循環(huán),在循環(huán)體內(nèi)利用switch,case語句或者if,else語句來控制選擇結(jié)果的動態(tài)處理。如果要要用戶更加靈活的使用是否來決定程序的繼續(xù)運(yùn)行與否,則可在循環(huán)體內(nèi)在套一層循環(huán)來實(shí)現(xiàn)。當(dāng)內(nèi)層循環(huán)break到外部循環(huán)的時候程序繼續(xù)正常運(yùn)行。當(dāng)內(nèi)部循環(huán)改變了外部循環(huán)的條件并且滿足終止條件時外部的無限可控循環(huán)結(jié)束。程序正常運(yùn)行結(jié)束。請看以下代碼實(shí)例:
int menu_select()/*菜單函數(shù)*/ {
char c;
do{
system(“cls”);/*運(yùn)行前清屏*/
printf(“tt**** 商品系統(tǒng)****n”);/*菜單選擇*/
printf(“tt | 1.輸入數(shù)據(jù) |n”);
printf(“tt | 2.顯示數(shù)據(jù) |n”);
printf(“tt | 3.插入數(shù)據(jù) |n”);
printf(“tt | 4.刪除數(shù)據(jù) |n”);
printf(“tt | 5.查找數(shù)據(jù) |n”);
printf(“tt | 6.統(tǒng)計并顯示進(jìn)貨時間最早且最接近保質(zhì)期中止時間的貨物 |n”);
printf(“tt | 7.寫入文件 |n”);
printf(“tt | 8.讀文件 |n”);
printf(“tt | 9.對讀入的文件進(jìn)行排序 |n”);
printf(“tt | 0.退出 |n”);
printf(“tt*****************************************n”);
printf(“ttt請選擇(0-9):”);
c=getchar();/*讀入選擇*/
}while(c<'0'||c>'9');return(c-'0');/*返回選擇*/ } //到此以上是定義的產(chǎn)生字幕屏幕的函數(shù)。。
int main()/*主函數(shù)*/ {
int n=0;
for(;;)
{
switch(menu_select())/*選擇判斷*/
{
case 1:
printf(“ttt輸入最初商品n”);/*輸入若干條記錄*/
n=Input(gs,n);
break;
case 2:
printf(“ttt顯示所有商品n”);/*顯示所有記錄*/
Display(gs,n);
break;
case 3:
printf(“ttt插入n”);
n=Insert_a_record(gs,n);/*插入*/
printf(“ttt”);
system(“pause”);
break;
case 4:
printf(“ttt刪除n”);
n=Delete_a_record(gs,n);/*按商品名稱查找,刪除*/
printf(“ttt”);
system(“pause”);
break;
case 5:
printf(“ttt查找并顯示n”);
Query_a_record(gs,n);/*查找并顯示*/
printf(“ttt”);
system(“pause”);
break;
case 6:
printf(“ttt統(tǒng)計并顯示進(jìn)貨時間最早且最接近保質(zhì)期中止時間的貨物n”);
printf(“ttt共有 %d 件商品.n”,n);/*總共記錄數(shù)*/
printf(“ttt進(jìn)貨時間最早且最接近保質(zhì)期中止時間的貨物:n”);
printf(“ttt商品名稱r:%sn”,gs[0].name);
printf(“ttt進(jìn)貨時間:%dn”,gs[0].time);
printf(“ttt生產(chǎn)日期:%dn”,gs[0].year);
printf(“ttt保質(zhì)期:%dnn”,gs[0].no);
printf(“ttt”);
system(“pause”);
break;
case 7:
printf(“ttt寫到文件中n”);
WritetoText(gs,n);/*循環(huán)寫入數(shù)據(jù)*/
printf(“ttt”);
system(“pause”);
break;
case 8:
printf(“ttt文件中讀數(shù)據(jù)n”);
n=AddfromText(gs,n);
printf(“ttt”);/*文件中讀數(shù)據(jù)*/
break;
case 9:
printf(“tttn”);
Sort_by_time(gs,n);
printf(“ttt”);/*對讀入的文件進(jìn)行排序*/
break;
case 0:
printf(“ttt結(jié)束退出!n”);/*結(jié)束程序*/
printf(“ttt”);
system(“pause”);
exit(0);
}
} } //在主函數(shù)中,主函數(shù)接受來自定義字幕屏幕函數(shù)的參數(shù),通過對參數(shù)的動態(tài)控制來達(dá)到控制整個字幕屏幕的結(jié)果的效果。
二、函數(shù)調(diào)用
除了以上的利用可控?zé)o限循環(huán)來控制整個字幕的循環(huán)輸出外,還可以利用函數(shù)調(diào)用的方法來達(dá)到相同的效果。當(dāng)然這個思想的難度較上一個方法小一些,不過這種方法在我個人認(rèn)為比較易理解,高效,簡便。用起來比較方便和靈活。思想如下:
將程序中在不同的地方并且會多處用到的函數(shù)功能相同或相近的函數(shù)(功能相近的意思是可以利用變化的參數(shù)來控制這種差別)抽象出來用一個由多個參數(shù)控制的函數(shù)來統(tǒng)一表達(dá)。定義好該函數(shù)之后,只需要在需要用的地方傳參調(diào)用的即可。需要注意的是,在此方法中需要對方法進(jìn)行提前聲明。否則可能會出現(xiàn)異常。請看以下代碼實(shí)例: #include
//declare all the function that will be defined later void save(char *name, int n);int readout(char *name, char *type);void insert(char *name);void deletedata(char *name);void rankout(char *name);void deletefile(char *name);void fileinitialize(char *name);void update(char *name);void cleanscreen();void makechoice(char *name);int main()。。//以上是程序開頭的函數(shù)聲明
。。
int readout(char *name, char *type){
int i;
FILE *fp;
if((fp = fopen(name, type))== NULL){
printf(“cannot open filen”);
exit(0);
}
printf(“n=========================================n”);
printf(“nametidtchinesetmathtenglish *n”);
for(i = 0;fread(&info[i], sizeof(struct student_info), 1, fp)!= 0;i++){
printf(“%st%dt%dt%dt%dt*n”, info[i].name, info[i].num,info[i].Chinese, info[i].math, info[i].english);
}
printf(“=========================================n”);
printf(“Total %d record(s)nn”, i);
fclose(fp);
return i;} //以上便是對需要多次調(diào)用的函數(shù)進(jìn)行的定義。。
void insert(char *name){
//defien the insert()function to insert the record
//to the file you've appointed from the end of the file
FILE *fp;
int i, n;
p = “r”;
strcpy(type, p);
readout(filename, type);
printf(“Enter the number of record you want to insertnnumber=”);
scanf(“%d”, &n);
for(i = 0;i < n;i++){//get infomation from keybord to memory
printf(“>NO_%d ”, i + 1);
scanf(“%s%d%d%d%d”, info[i].name, &info[i].num, &info[i].Chinese,&info[i].math, &info[i].english);
}
if((fp = fopen(name, “a+”))== NULL){//try open the file and ready to write
printf(“cannot open filen”);
exit(0);
}
for(i = 0;i < n;i++){//write the data to the file
if(fwrite(&info[i], sizeof(struct student_info), 1, fp)!= 1)
printf(“file write error”);
}
fclose(fp);
printf(“after insert the new data,data of the file like following:n”);
p = “r”;
strcpy(type, p);
readout(filename, type);
makechoice(filename);} //在以上函數(shù)的紅色部分便是對函數(shù)的傳參調(diào)用
我接觸c語言時間不長以上文間有什么錯誤的地方還請各位大蝦海涵 QQ:670161519
第二篇:循環(huán)控制教學(xué)設(shè)計(范文)
《循環(huán)的嵌套》教學(xué)設(shè)計
《循環(huán)的嵌套》是清代大學(xué)出版社出版的教材《C程序設(shè)計》第三次修訂本中第六章第六節(jié)的內(nèi)容,現(xiàn)就教材、教法與學(xué)法及教學(xué)過程三方面加以說明。
一、教材分析:
循環(huán)結(jié)構(gòu)是建立在順序結(jié)構(gòu)和分支結(jié)構(gòu)的基礎(chǔ)上,既是教材中的重點(diǎn)又是難點(diǎn)。循環(huán)的嵌套是循環(huán)結(jié)構(gòu)中第三課時的教學(xué)內(nèi)容,是在學(xué)習(xí)了循環(huán)結(jié)構(gòu)的for兩種語句形式的基礎(chǔ)上的深化,本節(jié)課的重點(diǎn)和關(guān)鍵是對循環(huán)嵌套的應(yīng)用。循環(huán)的嵌套在教材上屬于擴(kuò)展內(nèi)容,但是等級考試把這部分作為重點(diǎn)考查內(nèi)容,因此,還是要把循環(huán)的嵌套作來重點(diǎn)來講解。教材關(guān)于循環(huán)的嵌套只有一個例題,且呈現(xiàn)有點(diǎn)突兀,學(xué)生要掌握難度較大,我在處理時把例題進(jìn)行逐層分解,由最基本的輸出一個星號、一列、一行、矩形、三角形、等腰三角形圖案再到菱形,一步一個階梯,便于引導(dǎo)學(xué)生通過一個個臺階,最后達(dá)到頂峰,此時,學(xué)生才有“一覽眾山小”的傲然之勢,以此增強(qiáng)學(xué)生成功的自豪感和學(xué)習(xí)編程的自信心。
二、學(xué)情分析:
1、知識掌握上:教學(xué)對象為高二年級綜合班的學(xué)生,通過前面循環(huán)結(jié)構(gòu)的for語句形式的學(xué)習(xí),學(xué)生已具備學(xué)習(xí)循環(huán)嵌套的基礎(chǔ)。學(xué)生不容易理解循環(huán)嵌套的執(zhí)行過程。
2、學(xué)習(xí)心理上:學(xué)生對計算機(jī)語言類課不感興趣,學(xué)生上課時易分散注意力,不易接受,教師應(yīng)注意到這些問題,引導(dǎo)學(xué)生認(rèn)真學(xué)習(xí)本節(jié)內(nèi)容。
3、學(xué)生生理上:青少年好動,注意力易分散,愛發(fā)表見解,希望得到教師的肯定,所以在教學(xué)中應(yīng)抓住學(xué)生的這一特點(diǎn),創(chuàng)造條件和機(jī)會,讓學(xué)生發(fā)表見解,發(fā)揮學(xué)生學(xué)習(xí)的主動性。
職高的學(xué)生與普高學(xué)生是有區(qū)別。故我在進(jìn)行教學(xué)任務(wù)設(shè)計時,從職高學(xué)生的實(shí)際情況出發(fā),充分考慮學(xué)生現(xiàn)有的文化知識、認(rèn)知能力、年齡、興趣等特點(diǎn),遵循由淺入深、由表及里、循序漸進(jìn)等原則。因?yàn)閷W(xué)生在完成一個比較有趣的學(xué)習(xí)教學(xué)任務(wù)時,他們會非常專心致志,樂此不疲。在這次任務(wù)完成的過程中,學(xué)生不僅掌握了應(yīng)該掌握的知識,而且還培養(yǎng)了創(chuàng)新的思維的能力。
三、教學(xué)目標(biāo)的確立:
針對學(xué)情,我把總目標(biāo)細(xì)分成一個個的小目標(biāo),并把每一個教學(xué)目標(biāo)和內(nèi)容細(xì)化為一個個容易掌握的小任務(wù),通過這些小的任務(wù)來體現(xiàn)出總的教學(xué)目標(biāo)。并根據(jù)教學(xué)大綱對知識傳授、能力培養(yǎng)、思想教育三者統(tǒng)一以及循環(huán)嵌套知識分層次掌握的要求,加上對教材的分解和對學(xué)生的了解,我將本節(jié)課的教學(xué)目標(biāo)定為知識目標(biāo)、能力目標(biāo)和情感目標(biāo)三個方面,具體如下:
1、知識和技能目標(biāo):
A、使學(xué)生初步了解FOR循環(huán)嵌套的格式和執(zhí)行過程 B、使學(xué)生初步建立嵌套的算法概念,C、使學(xué)生初步掌握文本作圖的程序設(shè)計算法
2、智能力目標(biāo):
A、初步培養(yǎng)學(xué)生的創(chuàng)新能力和獨(dú)立分析問題、解決問題的能力
B、有意識地對學(xué)生進(jìn)行舉一反三的思維遷移訓(xùn)練,提高學(xué)生的觀察和編程能力
3、情感目標(biāo):
A、讓學(xué)生在課堂上充分享受成功的喜悅:當(dāng)學(xué)生在答題時獲得成功時,體驗(yàn)了成功的感受,增強(qiáng)了自信心,同時也增加了學(xué)習(xí)主動性
B、鼓勵學(xué)生流暢地發(fā)表觀點(diǎn),交流思想,形成與信息社會相適應(yīng)的價值觀和責(zé)任感 C、通過完善和編寫程序,培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)乃季S習(xí)慣。
四、教學(xué)重點(diǎn)與難點(diǎn)分析
學(xué)生是學(xué)習(xí)的主體,考慮到學(xué)生在學(xué)習(xí)本課知識時的原有基礎(chǔ)、現(xiàn)有困難及某些學(xué)習(xí)心理特征,從而有針對性地確定學(xué)習(xí)的重點(diǎn)、難點(diǎn)及教學(xué)對策。剛升入職高一年級的學(xué)生,對程序設(shè)計算法的把握程度還只停留在運(yùn)用格式來套用程序的方法來編寫程序的水平上,而程序設(shè)計本身內(nèi)核即算法卻還未真正把握,并且他們的邏輯思維能力尚在進(jìn)一步形成中。根據(jù)大綱要求結(jié)合學(xué)生的實(shí)際情況以及本課的特點(diǎn),我確立本文重點(diǎn)及難點(diǎn)如下:
1、教學(xué)重點(diǎn):
重點(diǎn):FOR循環(huán)嵌套的格式和執(zhí)行過程
依據(jù):根據(jù)配套大綱要求,循環(huán)嵌套知識尤其是FOR循環(huán)嵌套是整個循環(huán)嵌套的核心,它與后續(xù)教學(xué)內(nèi)容緊密相連,此內(nèi)容教學(xué)的成敗關(guān)系到整個程序設(shè)計的全局,對是否能達(dá)到整個課程教學(xué)大綱規(guī)定的要求和實(shí)現(xiàn)專業(yè)培養(yǎng)目標(biāo)至關(guān)重要。
2、教學(xué)難點(diǎn):
A、難點(diǎn):循環(huán)嵌套語句的應(yīng)用——文本作圖。B、依據(jù):本課程教授對象是職業(yè)高中一年級學(xué)生,對專業(yè)課沒有程序設(shè)計基礎(chǔ),并且缺乏課程中需要的算法分析知識;再加上這些學(xué)生好動,注意力容易分散,學(xué)習(xí)積極性不夠高,課堂上很難集中思想來觀察、想象、思維;而教學(xué)內(nèi)容中的文本作圖的畫法正需要集中思想用腦,需要學(xué)生有一定的觀察力和想象力。
五、教法與學(xué)法
1、教法:
任務(wù)驅(qū)動法,使用探究式教學(xué)模式:由于語言類課的層次性和實(shí)用性,提出了由表及里、逐層深入的學(xué)習(xí)途徑,便于學(xué)生循序漸進(jìn)地學(xué)習(xí)編程的知識和技能。讓學(xué)生在一個個典型的文本作圖的例題下展開教學(xué)活動,引導(dǎo)學(xué)生由簡到繁、由易到難、循序漸進(jìn)地完成一系列教學(xué)任務(wù),從而得到清晰的思路、方法和系統(tǒng)的知識,在完成教學(xué)任務(wù)的過程中,培養(yǎng)分析問題、解決問題的能力以及養(yǎng)成某種算法。形成了具有“以任務(wù)為主線、教師為主導(dǎo)、學(xué)生為主體”的基本特征的教學(xué)模式。方法:講解、啟發(fā)、演示
2、學(xué)法:
自主探究、模仿、實(shí)踐、協(xié)作
上機(jī)實(shí)踐:因?yàn)榫幊淌且婚T實(shí)踐性非常強(qiáng)的課程。“百講不如一練”,光講的教學(xué)方法是行不通的。讓學(xué)生親自上機(jī)動手實(shí)踐遠(yuǎn)比聽老師講要有效得多。通常,教師在對知識進(jìn)行講解后,最關(guān)鍵的是讓學(xué)生親自動手實(shí)踐,讓學(xué)生在實(shí)踐中把握真知、掌握方法。教學(xué)用具:微機(jī)房多媒體演示系統(tǒng)
六、教學(xué)過程
一、[復(fù)習(xí)舊知,引入新課](5分鐘)
“興趣是最好的老師”。故我在本節(jié)學(xué)習(xí)中以創(chuàng)設(shè)學(xué)習(xí)情景,激發(fā)學(xué)習(xí)興趣為導(dǎo)入新課的指導(dǎo)思想,從文本作圖入手,引發(fā)學(xué)生的求知欲望,從而調(diào)動其學(xué)習(xí)的積極性和主動性。情境:從文本作圖入手,引發(fā)學(xué)生的求知欲望
提問:如何使用一般FOR循環(huán)語句實(shí)現(xiàn)簡單文本作圖? “*****”
二、[新課內(nèi)容]:(40分鐘)
再提出問題,給學(xué)生搭知識臺階,引學(xué)生思維上路,也就是說從最簡單的文本作圖出發(fā),緊扣教材,由淺入深地設(shè)置一連串有內(nèi)在邏輯性的問題,一環(huán)緊扣一環(huán),引導(dǎo)學(xué)生積極思維,經(jīng)過獨(dú)立思考或共同討論,得出每一問題的準(zhǔn)確答案,在這里重在培養(yǎng)學(xué)生的理解能力和分析綜合能力。故我決定從如下三步著手: 第一步:從“果”入手,切中要害
問題:一行星會畫了,那么有沒有同學(xué)思考過
如果有五行星那如何畫呢?(如右圖)
第二步:講解格式及執(zhí)行過程
由上一問題的引出FOR循環(huán)嵌套的格式,并引導(dǎo)學(xué)生學(xué)會思考它的執(zhí)行過程。第三步:由淺入深,設(shè)置任務(wù)
教學(xué)過程是一個復(fù)雜的問題,教學(xué)過程中對學(xué)生的訓(xùn)練也應(yīng)是多層次、多結(jié)構(gòu)的。訓(xùn)練不僅僅體現(xiàn)在課堂上的鞏固練習(xí),而應(yīng)是貫穿在教學(xué)過程的各個環(huán)節(jié)上。教師連貫、準(zhǔn)確、富有邏輯論證性的講述本身就使學(xué)生受到科學(xué)思維方法的訓(xùn)練,教師精心設(shè)計的思考題、討論題都是對學(xué)生思維能力的訓(xùn)練,當(dāng)然最重要的是對學(xué)生課堂上知識進(jìn)行形成性訓(xùn)練,及時鞏固教學(xué)成果。根據(jù)本課時的教學(xué)目標(biāo)和學(xué)生的知識基礎(chǔ)以及因材施教的原則,我設(shè)計了四個梯度的任務(wù),每梯度的任務(wù)即為一個高度的臺階,學(xué)生每得出一個答案就登上一個臺階,這樣任務(wù)就迎刃而解了。
*****
***** ***** **********
*
** *** **** ***** ***** **** *** ** * * ** *** **** ***** ***** **** *** ** *
任務(wù)一 任務(wù)二 任務(wù)三 任務(wù)四 由任務(wù)
一、引出對FOR循環(huán)嵌套中內(nèi)循環(huán)變量的值的探究 由任務(wù)
二、引出對FOR循環(huán)嵌套中步長及循環(huán)變量的探究
由任務(wù)三、四引出在內(nèi)外循環(huán)之間如何控制作圖坐標(biāo)的探究,并鞏固任務(wù)一和二
由以上四個梯度任務(wù)不僅在教授了學(xué)生FOR循環(huán)嵌套的格式和執(zhí)行過程,更重要的是通過任務(wù)的逐層深入,再采用設(shè)問、類比啟發(fā)并輔之以討論的方法,培養(yǎng)學(xué)生的分析能力和思維能力。
[歸納小結(jié)](3分鐘): 引導(dǎo)學(xué)生歸納小結(jié),教師歸納總結(jié),同時在本節(jié)課所教授的主要內(nèi)容;循環(huán)嵌套是個難點(diǎn),要求學(xué)生結(jié)合文本作圖多看、多想、多比較、不斷實(shí)踐,逐步提高循環(huán)程序設(shè)計的分析問題和解決問題的能力。
[課后思考]:(2分鐘)
* ** *** **** *** ** * **** *** ** * ** *** ****
* *** ***** *******
* *** ***** *******
思考一 思考二
(垂直對稱文本作圖的算法)(水平對稱文本作圖的算法)
(此思考題可以幫助學(xué)生加深對嵌套的格式的理解,以及對文本作圖的掌握,對本節(jié)課的教學(xué)重點(diǎn)和難點(diǎn)內(nèi)容加以鞏固,提高學(xué)生分析問題、解決問題的能力)
七、教學(xué)反思:
本節(jié)課通過簡單問題入手,引導(dǎo)學(xué)生應(yīng)用自己理解的知識由簡單到復(fù)雜,沿著臺階狀的問題步步上升、層層深入,在生生、師生討論中找到解決問題的辦法,也使學(xué)生在不知不覺中到達(dá)頂峰,體味“一覽眾山小”的氣勢,這在無形中增強(qiáng)了學(xué)生成功的自豪感和學(xué)習(xí)編程的自信心。學(xué)生全程參與了知識的形成過程,通過積極思考、廣泛交流、主動探究與建構(gòu),使問題得到解決,把新知識納入舊知識的體系中,在整個學(xué)習(xí)過程中,學(xué)生成為真正的學(xué)習(xí)的主體,教師只是起到主導(dǎo)的作用,是學(xué)生學(xué)習(xí)的幫助者和促進(jìn)者。
在本節(jié)課中,學(xué)生掌握的不僅僅是知識本身,更重要的是學(xué)會了解決問題的方法,知道了在什么情況下、在什么地方去應(yīng)用所學(xué)的知識,真正做到學(xué)以致用。在程序設(shè)計語言的教學(xué)之中,最重要的是基本思想和方法的教學(xué),教師的任務(wù)是如何恰當(dāng)?shù)匾龑?dǎo),使學(xué)生準(zhǔn)確地領(lǐng)悟思想,從而較好地掌握基本方法并能恰當(dāng)應(yīng)用。
在上述教學(xué)中,沒有改變常規(guī)教學(xué)的各個環(huán)節(jié),但由于教學(xué)過程設(shè)計符合學(xué)生的認(rèn)識規(guī)律,堅持循序漸進(jìn)的原則,充分發(fā)揮主導(dǎo)和主體的積極性,又以訓(xùn)練為主線,同樣可以收到較好的教學(xué)效果。
以上是對〈循環(huán)嵌套〉這一教學(xué)內(nèi)容的認(rèn)識和對教學(xué)過程的設(shè)計,不妥之處,請指正,謝謝。
第三篇:循環(huán)知識小結(jié)
循環(huán)知識小結(jié)
一、有關(guān)循環(huán)的語法
1.while語句 2.do~while語句 3.for語句 4.break語句 5.continue語句
? 循環(huán)方式
? while語句和do~while語句多采用標(biāo)記式循環(huán)
? 用于循環(huán)次數(shù)不定的情況
? for語句更方便對于循環(huán)次數(shù)確定的情況
?
循環(huán)結(jié)構(gòu)
? for語句和while語句先判斷循環(huán)控制條件,后執(zhí)行循環(huán)體
? 可能一次也不執(zhí)行循環(huán)體
? do~while語句是先執(zhí)行循環(huán)體,后進(jìn)行循環(huán)控制條件的判斷
? do~while語句至少執(zhí)行一次循環(huán)體
? do~while語句更適合于第一次循環(huán)肯定執(zhí)行的場合
? 實(shí)現(xiàn)功能
? do~while和while語句只有一個表達(dá)式,用于控制循環(huán)是否進(jìn)行 ? for語句有三個表達(dá)式
? 可以控制循環(huán)是否進(jìn)行,并能為循環(huán)變量賦初值及不斷修改循環(huán)變量的值 ? for語句比while和do~while語句功能更強(qiáng),更靈活
? 語句形式
? 初始值
? while、do~while循環(huán)時,循環(huán)變量的初始值操作應(yīng)放在while和do~while
語句之前完成
? for語句通常在表達(dá)式1中實(shí)現(xiàn)循環(huán)控制變量的初始化
? while和for表達(dá)式的括號后面沒有“;” ? do~while表達(dá)式的括號后面有“;”
? 循環(huán)語句的選用原則
? 循環(huán)次數(shù)是否確定
? 循環(huán)次數(shù)已知,一般用for語句
? 循環(huán)次數(shù)由循環(huán)體的執(zhí)行情況來確定,一般采用while語句或do~while語句
? 循環(huán)體是否一定執(zhí)行
? 循環(huán)體至少要執(zhí)行一次時,采用do~while語句
? 循環(huán)體可能一次也不執(zhí)行,則選用while語句或for語句
二、循環(huán)語句的比較
三、關(guān)于嵌套循環(huán)
1.在嵌套的各層循環(huán)中,應(yīng)使用復(fù)合語句保證邏輯上的正確性 2.嵌套循環(huán)的內(nèi)層和外層的循環(huán)控制變量不應(yīng)同名,以免造成混亂 3.嵌套循環(huán)最好采用右縮進(jìn)格式書寫,以保證層次的清晰性
4.循環(huán)嵌套不能交叉,即在一個循環(huán)體內(nèi)必須完整地包含另一個循環(huán)
5.在多層循環(huán)中,應(yīng)將最忙(循環(huán)次數(shù)最多)的循環(huán)放在最內(nèi)層,以減少CPU切入循環(huán)的次數(shù)
1、國王的許諾。相傳國際象棋是古印度舍罕王的宰相達(dá)依爾發(fā)明的。舍罕王十分喜歡象棋,決定讓
四、有關(guān)循環(huán)應(yīng)用的討論
宰相自己選擇何種賞賜。這位聰明的宰相指著8×8共64格的象棋盤說:陛下,請您賞給我一些下麥子吧,就在棋盤的第1格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完64個格子,我就感恩不盡了。舍罕王讓人扛來一袋麥子,他要兌現(xiàn)他的許諾。請問:國王他能兌現(xiàn)他的許諾嗎?請編程計算舍罕王共要多少麥子賞賜他的宰相,這些麥子合多少立方米(已知1立方米麥子約為1.42e8粒)?
問題分析:這是一個典型的循環(huán)次數(shù)已知的等比數(shù)列求和問題。第1格放1粒,第2格放2粒,第3格放4=22?!趇格放2i-1粒。所以,總粒數(shù)為sum=1+2+22+23+……+263。對于這樣的問題,我們采取的策略是每次加一個累加項(xiàng),用循環(huán)語句重復(fù)執(zhí)行64次累加運(yùn)算,即可求出累加和sum。在累加求和問題中,尋找累加項(xiàng)的構(gòu)成規(guī)律是問題求解的關(guān)鍵。一般地,尋找累加項(xiàng)構(gòu)成規(guī)律有兩種方法:一種是尋找統(tǒng)一的累加項(xiàng)表示規(guī)律,即用一個通式來表示累加項(xiàng);另一種是尋找前后項(xiàng)之間的統(tǒng)一的變化規(guī)律,即利用前項(xiàng)得到后項(xiàng)的表示。
該題用第一種方法,可得累加項(xiàng)的通式為term=2n-1,即term=pow(2,n-1),n從1變化到64,即從第一項(xiàng)開始計算累加和,所以有sum=sum+term,sum的初始值為0。因此得源代碼如下:
# include
# include
以上程序運(yùn)行的結(jié)果為:
這種數(shù)值如此龐大,是舍罕王絕對沒有預(yù)料到的,它相當(dāng)于全世界若干世紀(jì)的全部小麥,看來舍罕王是無法兌現(xiàn)自己的諾言了!
2、馬克思手稿中的數(shù)學(xué)問題。馬克思手稿中有一道趣味數(shù)學(xué)題:有30個人,其中有男人、女人和小孩,在一家飯館里吃飯共花了30先令,每個男從各花3先令,每個女人各花2先令,每個小孩各花1先令,問男人、女人和小孩各有幾個人?
問題分析:設(shè)男人、女人和小孩各x、y、z人,按題目要求可得到下面的方程: x+y+z=30 3x+2y+z=50 兩個方程有三個未知數(shù),因此這是一個不定方程,有多組解,用代數(shù)方法很難求解,一般采用“窮舉法”求解該類問題。所以“窮舉法”(也稱“枚舉法”)就是將所有可能的方案都逐一測試,從中找出符合指定要求的答案。如果由人工來進(jìn)行這樣的求解過程,工作量不可想象,而由計算機(jī)來完成卻十分簡單。窮舉法是計算機(jī)程序設(shè)計中最簡單、最常用的一種方法,它充分利用了計算機(jī)處理速度高的特性。使用窮舉
法的關(guān)鍵是要確定正確的窮舉范圍,過分?jǐn)U大會導(dǎo)致程序運(yùn)行效率的降低,過分縮小會遺漏正確的結(jié)果而導(dǎo)致錯誤。
方法一 采用三重循環(huán)窮舉x、y、z的全部可能的組合。源代碼如下:
# include
方法2 改進(jìn)算法。
# include
3、編程計算一元二次方程ax2+bx+c=0的根,a,b,c由鍵盤輸入,其中a≠0。程序設(shè)計時,根據(jù)一元二次方程求根公式把所有的可能考慮進(jìn)來,設(shè)計算法如下: # include
{ printf(“不是一元二次方程n”);
exit(0);
//終止整個程序的執(zhí)行,強(qiáng)制返回操作系統(tǒng)
} disc=b*b-4*a*c;if(fabs(disc)<=EPS)
//實(shí)數(shù)disc與0相比較
printf(“該方程有兩個相等的實(shí)根:x1=x2=%.2fn”,-b/(2*a));else { p=-b/(2*a);
q=sqrt(fabs(disc))/(2*a);
if(disc>1e-6)
printf(“該方程有兩個不等的實(shí)根:x1=%.2f,x2=%.2fn”,p+q,p-q);
else
{ printf(“該方程有兩個共軛復(fù)根:n”);
printf(“x1=%.2f+%.2fin”,p,q);
printf(“x2=%.2f-%.2fin”,p,q);
} } } 程序運(yùn)行的結(jié)果測試如下: 測試1:測試2:測試3:
測試4:
補(bǔ)充說明: 1)函數(shù)exit()其作用是終止整個程序的執(zhí)行,強(qiáng)制返回操作系統(tǒng)。和goto,break,continue等控制語句類似,可以用于控制程序的流程。當(dāng)程序執(zhí)行的必需條件不能滿足時,常用exit()函數(shù)終止程序的執(zhí)行。調(diào)用該函數(shù)需要包含頭文件
exit(code);參數(shù)code為int型。當(dāng)code值為0或?yàn)楹瓿A縀XIT_SUCCESS時,表示程序正常退出;當(dāng)code值為非0或?yàn)楹瓿A縀XIT_FAILURE,表示程序出現(xiàn)某種錯誤后退出。
2)實(shí)數(shù)不能直接和0比較相等與否
本例中由于a是用戶輸入的原始數(shù)據(jù),不存在計算誤差,因此a與0的比較也可以用a==0代替。但因disc變量是經(jīng)過計算得到的浮點(diǎn)數(shù),而絕大多數(shù)計算機(jī)中表示的浮點(diǎn)數(shù)都只是它們在數(shù)學(xué)上表示的數(shù)據(jù)的近似值,因此disc與0的比較不能用disc==0來代替,必須用fabs(disc)<=EPS表示。
3)有關(guān)實(shí)型數(shù)據(jù)的輸入格式 實(shí)型變量若定義為float類型,則在用scanf()函數(shù)輸入時應(yīng)用%f格式;若定義為double類型,則應(yīng)用%lf格式輸入。實(shí)際從鍵盤輸入的數(shù)據(jù)可以是整數(shù)、小數(shù)或指數(shù)形式,存入變量對應(yīng)的存儲空間均為指數(shù)形式。在C中所有實(shí)型常量的類型默認(rèn)為double類型,若將一個實(shí)型常量賦值給float型變量時,系統(tǒng)會出現(xiàn)警告,提醒用戶由于兩種類型的有效數(shù)字位數(shù)不同,容易產(chǎn)生精度損失問題,如果所處理的數(shù)據(jù)有效數(shù)字位數(shù)在7位以內(nèi),此警告可忽略。
4、從鍵盤輸入一個正整數(shù),編程判斷它是否是素數(shù)。若是素數(shù),輸出“Yes!”,否則輸出“No!”
問題分析:所謂“素數(shù)”即質(zhì)數(shù),是只能被1和本身整除的數(shù)。所以判素數(shù)的方法:把m作為被除數(shù),窮舉2~m-1之間的數(shù)作為除數(shù),若其中有一個能整除,即可確定m不是素數(shù),否則是素數(shù)。事實(shí)上,根本用不著除那么多次,用數(shù)學(xué)的方法可以證明:只需要用2~m之間的整數(shù)去除m,即可得到正確的判定結(jié)果。
方法一 用goto語句實(shí)現(xiàn)的程序如下:
# include
{ printf(“%d不是素數(shù)!n”,m);
goto end;
} } printf(“%d是素數(shù)!n”,m);end: printf(“程序結(jié)束!n”);} 方法二
用break語句實(shí)現(xiàn)的程序如下:
# include
# include
if(m%i==0)
break;if(i>k)
printf(“%d是素數(shù)!n”,m);else
printf(“%d不是素數(shù)!n”,m);} 分析:goto語句可以控制流程跳轉(zhuǎn)到程序中任意某個指定的語句處去執(zhí)行,而break語句的作用是終止整個循環(huán)的執(zhí)行,從循環(huán)體內(nèi)中途退出,接著去執(zhí)行循環(huán)語句之后的第一條語句。break語句的使用使循環(huán)的控制更靈活了。使用break語句的副作用是它會使循環(huán)體本身形成兩個出口,同goto語句相比,只不過break語句跳轉(zhuǎn)的距離和方向受到了嚴(yán)格的限制,而不像goto語句那樣可以向任意方向跳轉(zhuǎn)。因此,無論使用goto語句還是break語句,都不是一種好的選擇,所以應(yīng)盡量少用或不用它們。很多情況下,可以采用標(biāo)志變量并加強(qiáng)循環(huán)測試的方法是完全可以避免使用break語句的。方法三 通過設(shè)置標(biāo)志變量并加強(qiáng)循環(huán)測試的方法實(shí)現(xiàn)程序如下:
# include
if(m%i==0)
flag=0;if(flag)
printf(“%d是素數(shù)!n”,m);else
printf(“%d不是素數(shù)!n”,m);} 結(jié)論:從程序的可讀性方面看,方法三比方法一和方法二都好!
5、從鍵盤輸入一個正整數(shù)m,若m不是素數(shù),則打印其所有因子;否則,打印“沒有因子,是素數(shù)!”
問題分析:能被m整除的數(shù)i就是m的因子,因此當(dāng)m%i==0時,不退出循環(huán)而打印當(dāng)時的i值即可。為了得到m的所有因子,循環(huán)變量i應(yīng)從2一直變化到m-1,即無論m是否是素數(shù)都要檢驗(yàn)所有的i值。
# include
} printf(“請從鍵盤輸入一個正整數(shù):”);scanf(“%d”,&m);for(i=2;i<=m-1;i++)//此處的m-1可否改為m/2或sqrt(m)?
if(m%i==0){ flag=0;
printf(“%dn”,i);} if(flag)printf(“%d是素數(shù),沒有因子!n”,m);
五、有關(guān)getchar()、getche()和getch()的討論
? getchar()函數(shù)采用緩沖輸入方式,即輸入字符先被放到緩沖隊(duì)列中,直到鍵入回車鍵時才返回,getcahr()每次從輸入緩沖隊(duì)列中讀取第一個字符進(jìn)行相應(yīng)的處理。
? getch()函數(shù)在擊鍵之后立即返回,無需輸入回車鍵,且不向屏幕回顯鍵入的字符。? getche()函數(shù)功能同getch()函數(shù),只是前者要向屏幕回顯鍵入的字符。? getch()和getche()是Turbo C特有的庫函數(shù),在頭文件conio.h中定義。
例1:從鍵盤輸入一個班學(xué)生(人數(shù)不確定)一門課程的五分制成績,編程要求每輸入一個五分成績,就顯示其所在的分?jǐn)?shù)段,同時,統(tǒng)計并打印每種成績的人數(shù)。
問題分析:對于這類輸入數(shù)據(jù)個數(shù)不確定的問題,常常采用輸入一個特殊的數(shù)作為程序判斷循環(huán)結(jié)束標(biāo)志的方法。例如,輸入百分制成績時,用負(fù)數(shù)作為輸入結(jié)束的標(biāo)志,輸入五分制成績里,則可用一個特殊的符號作為輸入結(jié)束的標(biāo)志。
程序如下:
# include
switch(grade)
{ case 'A': case 'a': printf(“90--100n”);
aCount++;
break;case 'B': case 'b': printf(“80--89n”);
bCount++;
break;case 'C': case 'c': printf(“70--79n”);
cCount++;
break;case 'D': case 'd': printf(“60--69n”);
dCount++;
break;case 'E': case 'e': printf(“<60n”);
}
eCount++;
break;
default: printf(“輸入錯誤!n請重新輸入:n”);} grade=getchar();} printf(“統(tǒng)計結(jié)果: A: %d, B: %d, C:%d, D:%d, E:%dn”,aCount,bCount,cCount,dCount,eCount);運(yùn)行結(jié)果如下:
測試1:
問題:只有輸入#并回車才能真正結(jié)束程序,#沒有直到預(yù)期的目的。測試2:
問題:以回車或空格作為每個等級的分隔符,統(tǒng)計結(jié)果雖然正確,但都會提示出錯信息,解決方法一:在switch語句中增加一個case分支:
case ' ': case 'n': break;解決方法二:將接收字符的操作改用scanf函數(shù)實(shí)現(xiàn),并在%c格式前增加一個空格,將前面輸入數(shù)據(jù)輸入時存于緩沖區(qū)的回車符讀入,避免被后面的字符型變量作為有效字符讀入。scanf(“ %c”,&grade);例2:設(shè)計一個簡單的計算器程序,要求用戶可以連續(xù)做多次算術(shù)運(yùn)算,每次運(yùn)算結(jié)束后,程序都會給出提示: Do you want to continue(Y /N or y/n)? 如果用戶輸入Y或y時,程序繼續(xù)執(zhí)行其他運(yùn)算,否則退出程序。程序如下:
# include
} char op,reply;do { printf(“請輸入計算表達(dá)式:”);scanf(“%d %c %d”,&d1,&op,&d2);switch(op){ case '+': printf(“%d%c%d=%dn”,d1,op,d2,d1+d2);break;
case '-': printf(“%d%c%d=%dn”,d1,op,d2,d1-d2);break;
case '*': printf(“%d%c%d=%dn”,d1,op,d2,d1*d2);break;
case '/': if(d2==0)
printf(“除數(shù)不能為0n”);
else
printf(“%d%c%d=%dn”,d1,op,d2,d1/d2);
break;
default: printf(“運(yùn)算符錯誤!n”);} printf(“Do you want to continue(Y /N or y/n)? ”);reply=getchar();}while(reply=='Y'||reply=='y');printf(“程序結(jié)束!n”);問題:測試不能得到預(yù)期的結(jié)果,原因在于函數(shù)getchar的行緩沖問題導(dǎo)致getchar()把用戶輸入表達(dá)最后的回車符作為其讀入字符。
解決辦法:將語句reply=getchar();改為reply=getch();或reply=getche();或scanf(“ %c”,&reply);都可以。
六、結(jié)構(gòu)化程序設(shè)計的核心思想
結(jié)構(gòu)化程序設(shè)計是一種進(jìn)行程序設(shè)計的原則和方法,按照這種原則和方法設(shè)計的程序具有結(jié)構(gòu)清晰、容易閱讀、容易修改、容易驗(yàn)證等特點(diǎn)。因此,人們把“結(jié)構(gòu)清晰、容易閱讀、容易修改、容易驗(yàn)證”作為衡量程序質(zhì)量的首要條件。也就是說,所謂“好”的程序是指“好結(jié)構(gòu)”的程序,一旦效率與“好結(jié)構(gòu)”發(fā)生矛盾時,那么寧可在可容忍的范圍內(nèi)降低效率,也要確保好的結(jié)構(gòu)。
結(jié)構(gòu)化程序設(shè)計的基本核心思想歸納起來為以下3點(diǎn):
(1)采用順序、選擇、循環(huán)三種基本結(jié)構(gòu)作為程序設(shè)計的基本單元。
(2)盡量不要使用多于一個的goto語句標(biāo)號,同時只允許在一個“單入口單出口”的模塊內(nèi)用goto語句向前跳轉(zhuǎn),不允許回跳。
(3)采用“自頂向下、逐步求精”和模塊化方法進(jìn)行結(jié)構(gòu)化程序設(shè)計。
七、循環(huán)的應(yīng)用
(一)遞推算法
1.編程計算1+2+3+……100的值。
2.編程計算1×2×3+3×4×5+5×6×7+……+99×100×101的值
[提示:用累加和算法,通項(xiàng)公式為term=i*(i+1)*(i+2)(i=1,3,5,…,99),或者公式為term=(i-1)*i*(i+1)(i=2,4,6,…,100),步長為2。] 2.編程計算n!=1×2×3×……×n的值。
3.編程計算1!+2!+3!+……+10!的值。
[提示:用累加和算法,累加項(xiàng)為term=term*i(i=1,2,3,…,10),term的初始值為1。] 4.編程計算a+aa+aaa+……+aa…a(n個a)的值,n和a由鍵盤輸入。
[提示:用累加和算法,累加項(xiàng)為term=term*10+a(i=1,2,3,…,n),term初始值為0。]
5.編程計算分?jǐn)?shù)數(shù)列6.編程計算s7.編程計算s?1?12221,,235358138,2113,?前20項(xiàng)之和。
111?2?342?11?2?3562???1?2?3??n直到,n由鍵盤輸入。如n為11時,s=1.83333。
?10?3?????(2?n?1)(2?n)2(2?n?1)(2?n)2。
8.編程計算xn,其中x和n均由鍵盤輸入。
9.一球從200米高度自由落下,每次落地后反跳回原高度的一半,再落下。編程求它第10次落地時共經(jīng)過的路程及第10次落地后反彈的高度。10.猴子吃桃問題。11.求∏的近似值。12.求Fibonacci數(shù)列。
(二)窮舉算法
1.請編程判斷一個正整數(shù)m(m>=3)是否是素數(shù)。
2.編程實(shí)現(xiàn)從鍵盤上輸入整數(shù)m和k,輸出大于且緊靠m的k個素數(shù)。3.請編程找出1至99之間的全部同構(gòu)數(shù)。所謂同構(gòu)數(shù)是這樣的一組數(shù):它出現(xiàn)在它平方數(shù)的右邊。(例如:4是25右邊的數(shù),25是625右邊的數(shù),5和25都是同構(gòu)數(shù)。)5.輸入兩個正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。
6.輸出所有的水仙花數(shù)。所謂“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。7.從鍵盤輸入任意一個整數(shù),編程計算該整數(shù)各位數(shù)字的累加和(忽略整數(shù)前的正負(fù)號)。
8.韓信點(diǎn)兵。韓信有一隊(duì)兵,他想知道有多少人,便讓士兵排隊(duì)反報數(shù)。按從1到5報數(shù),最末一個士兵報的數(shù)為1;按從1到6報數(shù),最末一個士兵報的數(shù)為5;按從1到7報數(shù),最末一個士兵報的數(shù)為4;最后再按從1到11報數(shù),最末一個士兵報的數(shù)為10。編程計算韓信一共有多少士兵?
[提示:設(shè)兵數(shù)為x,則按題意x應(yīng)滿足以下關(guān)系:
x%5==1&&x%6==5&&x%7==4&&x%11==10 用窮舉法對x從1開始試驗(yàn),可得結(jié)果。
] 9.雞兔同籠,共有98個頭,386只腳,編程求雞、兔各多少只?
[提示:設(shè)雞數(shù)為x,兔數(shù)為y,根據(jù)題意有x+y=98,2x+4y=386,采用窮舉法,x從1變化到97,y取98-x,如果x,y同時滿足條件2x+4y=386,則打印x,y的值。] 10.百錢買百雞問題。取自《張丘建算經(jīng)》:“雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞,問雞翁、母、雛各幾何?”
[提示:設(shè)公雞、母雞、小雞數(shù)各為x,y,z,依題意有x+y+z=100, 5x+3y+z/3=100。采用窮舉法求解,因100元買公雞最多20只,買母雞最多33只,所以只要x從0變化到20,y從0變化到33,則z=100-x-y,若同時滿足5x+3y+z/3=100,即得解。]
第四篇:財務(wù)控制方法
財務(wù)控制方法
什么是財務(wù)控制方法[1]
財務(wù)控制方法是指在財務(wù)管理過程中,利用有關(guān)信息和特定手段,對企業(yè)財務(wù)活動所施加的影響或進(jìn)行的調(diào)節(jié)的一種方法。
財務(wù)控制方法的種類[2]
由于各控制主體的目的、職責(zé)和任務(wù)各有不同,可采用不同的調(diào)控方法。財務(wù)控制的主要方法有以下幾種:
一、制度控制法
制度控制法指按照國家和企業(yè)制定的法令、條例、制度、辦法等進(jìn)行的控制。包括財產(chǎn)物資、現(xiàn)金收支的管理及清查盤點(diǎn)制度,崗位責(zé)任制,財務(wù)管理基本業(yè)務(wù)程序制度。制度控制通常規(guī)定只能做什么,不能做什么。制度控制通常具有防護(hù)性特征。
二、定額控制法
定額控制法是指以定額為標(biāo)準(zhǔn),對經(jīng)濟(jì)活動或資金運(yùn)動所進(jìn)行的控制。符合定額的經(jīng)濟(jì)業(yè)務(wù)要給予支持,保證資金需要;超過定額的經(jīng)濟(jì)業(yè)務(wù)要分析超過的原因,再分別處理。一般地說,財務(wù)管理中的定額管理本質(zhì)上是對財務(wù)管理各方面的工作明確提出定量、定時的要求,建立各種各樣有科學(xué)依據(jù)、切實(shí)可行的定額,并按照它們的內(nèi)在聯(lián)系組成一個定額體系。這個體系按內(nèi)容分有資金定額、成本費(fèi)用定額、設(shè)備定額、物資定額;按性質(zhì)分有狀態(tài)定額、消耗定額和效率定額。
定額管理的實(shí)施要求企業(yè)做好兩項(xiàng)基礎(chǔ)性工作:計量與驗(yàn)收工作和原始記錄工作。①計量與驗(yàn)收工作包括:明確企業(yè)各種計量檢測工具的配置、使用、管理、維修要求;規(guī)范企業(yè)商品、材料、物資的購進(jìn)、入庫、領(lǐng)用、轉(zhuǎn)移、出庫等各環(huán)節(jié)的管理工作。②信息工作:建立健全原始記錄和財務(wù)資料的編制、審核、傳遞、反饋、檔案管理的責(zé)任制,財務(wù)管理要求信息工作全面、及時、準(zhǔn)確。
三、授權(quán)控制法
授權(quán)控制法指在某項(xiàng)財務(wù)活動發(fā)生之前,按既定的程序?qū)ζ湔_性、合理性、合法性加以核準(zhǔn)并確定是否讓其發(fā)生的控制。授權(quán)管理的原則是:對授權(quán)范圍內(nèi)的行為給予充分信任,但對授權(quán)以外的行為不予認(rèn)可。
授權(quán)通常分為一般授權(quán)和特別授權(quán)。一般授權(quán)是指企業(yè)內(nèi)較低層次的管理人員根據(jù)既定的預(yù)算、計劃、制度等標(biāo)準(zhǔn),在其權(quán)限范圍內(nèi)對正常的經(jīng)濟(jì)行為進(jìn)行的授權(quán)。例如,因工出差問題,只要出差人部門的負(fù)責(zé)人按照工作計劃和制度授權(quán)即可。特別授權(quán)是指對非經(jīng)常經(jīng)濟(jì)行為進(jìn)行專門研究作出的授權(quán)。與一般授權(quán)不同,特別授權(quán)的對象是某些例外的經(jīng)濟(jì)業(yè)務(wù)。這些例外的經(jīng)濟(jì)業(yè)務(wù)往往是個別的、特殊的,一般沒有既定的預(yù)算、計劃等標(biāo)準(zhǔn)所依,需要根據(jù)具體情況進(jìn)行具體的分析和研究。例如,授權(quán)購買一項(xiàng)重要設(shè)備、授權(quán)降價出售商品等都是特別授權(quán)的事例。一般授權(quán)在企業(yè)中大量存在,授權(quán)給較低的管理人員就可以了。特別授權(quán)在企業(yè)中較少出現(xiàn),較低層次的管理人員是無法處理的,需要較高層次的管理人員乃至最高領(lǐng)導(dǎo)人專門研究,作出決定。
一般來說,有些經(jīng)營業(yè)務(wù)授權(quán)可以一次完成。而對大多數(shù)經(jīng)濟(jì)業(yè)務(wù)來說,是需要兩次或兩次以上相互聯(lián)系的授權(quán)才能完成的。第二次授權(quán)不僅是對第一次授權(quán)的認(rèn)可,同時還是對第一次授權(quán)所形成的經(jīng)營業(yè)務(wù)的進(jìn)一步監(jiān)督和控制。如果負(fù)責(zé)第二次授權(quán)的人或部門獨(dú)立于第一次授權(quán)的人或部門,則能加強(qiáng)授權(quán)的控制功能。
一個企業(yè)的授權(quán)控制應(yīng)做到以下幾點(diǎn):①企業(yè)的所有人員不經(jīng)合法授權(quán),不能行使授權(quán)。②企業(yè)的所有業(yè)務(wù)不經(jīng)授權(quán)不能執(zhí)行。③經(jīng)營業(yè)務(wù)一經(jīng)授權(quán)必須予以執(zhí)行。
四、責(zé)任制度控制法
在現(xiàn)代組織形式下科學(xué)的組織結(jié)構(gòu)、合理分工管理的基礎(chǔ)上,進(jìn)而建立適當(dāng)?shù)呢?zé)任制度,是組織控制的一項(xiàng)重要內(nèi)容。責(zé)任制度控制法是以明確責(zé)任、檢查和考核責(zé)任履行情況為主要內(nèi)容的控制方法。責(zé)任制度具有三大特點(diǎn):①職責(zé)和權(quán)利結(jié)合起來;②工作任務(wù)和方法結(jié)合起來;③縱向和橫向工作結(jié)合起來。
責(zé)任制度的具體形式主要有以下兩種:
(1)部門責(zé)任制。部門責(zé)任制指按照企業(yè)各部門具備的職能來明確責(zé)任,考核責(zé)任的制度。實(shí)行部門責(zé)任制,首先要明確各個部門的工作內(nèi)容、責(zé)任范圍及部門之間的聯(lián)系。其次要制訂各個部門的工作標(biāo)準(zhǔn),以及各部門之間的聯(lián)系、協(xié)調(diào)制度,并經(jīng)常檢查執(zhí)行情況,以使企業(yè)內(nèi)部各部門既能各司其職,又能協(xié)調(diào)配合,從而有條不紊地完成各自的工作任務(wù),實(shí)現(xiàn)企業(yè)的整體目標(biāo)。
(2)崗位責(zé)任制。崗位責(zé)任制指按照崗位明確責(zé)任、考核責(zé)任的制度。建立崗位責(zé)任制的目的是使企業(yè)內(nèi)部各級組織和人員都有明確而具體的職權(quán)范圍和工作責(zé)任。以做到人人有專責(zé),事事有人管,辦事有標(biāo)準(zhǔn),工作有檢查。實(shí)施崗位責(zé)任制的具體要求是:第一,在工作內(nèi)容上要明確職責(zé)范圍和權(quán)限,有時,一個崗位有幾個人負(fù)責(zé);有時,幾個崗位有一個人負(fù)責(zé)。第二,在質(zhì)量標(biāo)準(zhǔn)方面,質(zhì)量標(biāo)準(zhǔn)要指標(biāo)化。第三,在政策規(guī)定方面,要紀(jì)律嚴(yán)明,要經(jīng)常性進(jìn)行檢查和監(jiān)督。
五、預(yù)算控制法
預(yù)算是一種控制機(jī)制,預(yù)算表現(xiàn)了執(zhí)行主體的責(zé)任和奮斗目標(biāo),因而能約束預(yù)算執(zhí)行主體的行為,最大限度的保證預(yù)算目標(biāo)的實(shí)現(xiàn)。通過預(yù)算目標(biāo)與實(shí)際業(yè)績的比較,能使經(jīng)理人員隨時了解預(yù)算主體范匭內(nèi)的企業(yè)實(shí)際業(yè)績的進(jìn)展情況,通過分析目標(biāo)與實(shí)際的差異,揭示產(chǎn)生差異的原因,以便反映原始預(yù)算的現(xiàn)實(shí)性與可行性,并由此決定是否修改原始預(yù)算,以使目標(biāo)變得科學(xué)與合理。通過實(shí)際業(yè)績與預(yù)算業(yè)績的定期比較,可以最大限度的提高企業(yè)的經(jīng)營效率。在集團(tuán)內(nèi)實(shí)施預(yù)算控制,更有利于落實(shí)責(zé)任,有利于企業(yè)的控制與經(jīng)營。
六、利益控制法
應(yīng)當(dāng)明確,參與財務(wù)活動的各行為主體的主要目的在于保證或增加自身的經(jīng)濟(jì)利益,不管是國家、部門還是企業(yè)概莫能外。當(dāng)各行為主體間的利益界限清晰,各自的行為結(jié)果與其利益所得直接相關(guān)時,外來的利益調(diào)控措施就能發(fā)揮應(yīng)有的作用。企業(yè)為了使自身的運(yùn)行更順利有效,常用留利分配比例、工資分配、獎金分配等杠桿調(diào)控內(nèi)部的諸多財務(wù)關(guān)系。誠然,利益杠桿作用具有雙向性,它一方面鼓勵人們從事某種行為,另一方面也會抑制人們從事某種活動,通過利益的間接調(diào)控,盡可能地使各行為主體的財務(wù)活動符合調(diào)控主體的計劃和目標(biāo)。當(dāng)市場氛圍越來越濃時,利益激勵機(jī)制將會成為調(diào)動職工積極性的主要動力。
七、平衡控制法
平衡控制法指對系統(tǒng)內(nèi)部各部分、各要素間能夠按其固有的比例搭配并以特有的規(guī)律協(xié)調(diào)有效的控制運(yùn)行。財務(wù)工作作為一種價值管理工作,不僅在總體上、在整個過程中,具有某種平衡性要求,且在每一局部和環(huán)節(jié)上也必然存在一個特定的配置比例要求。平衡性主要表現(xiàn)在以下三個方面:
(1)財務(wù)收入與財務(wù)支出的平衡調(diào)控。財務(wù)收入與支出、資金的供應(yīng)與需求永遠(yuǎn)是一對矛盾,二者之間可能在一系列外在條件約束下暫時地達(dá)成某種平衡,但很難永久處于自發(fā)平衡之中。一般地說,對資金的需求總是大于資金的供給,即一方面財力有限,另一方面又需求無限。這就要求財務(wù)調(diào)控積極發(fā)揮作用,分清輕重緩急,本著量入為出的原則,將有限的資金用于恰當(dāng)?shù)捻?xiàng)目上,實(shí)現(xiàn)財務(wù)收支平衡。
(2)資金運(yùn)行與物資運(yùn)行的平衡調(diào)控。資金流與物資流是企業(yè)的兩大主流,二者之間可以平衡運(yùn)行,也可以交叉運(yùn)行。即資金流可以變?yōu)槲镔|(zhì)流,物質(zhì)流也可以變?yōu)橘Y金流,并且都與信息流相關(guān)。對于資金與物資的調(diào)控,應(yīng)當(dāng)以企業(yè)目標(biāo)為出發(fā)點(diǎn),適時地實(shí)現(xiàn)它們之間的銜接或轉(zhuǎn)換,保證資金運(yùn)動與物資運(yùn)動的協(xié)調(diào)及企業(yè)生產(chǎn)經(jīng)營的正常進(jìn)行。
(3)財務(wù)活動內(nèi)部結(jié)構(gòu)的平衡協(xié)調(diào)。當(dāng)一個經(jīng)濟(jì)系統(tǒng)的結(jié)構(gòu)和運(yùn)行軌跡確定之后,其內(nèi)部的財務(wù)結(jié)構(gòu)也隨之確定下來,處于一種相對穩(wěn)定的暫時平衡狀態(tài)。對于一個企業(yè)來說,當(dāng)其生產(chǎn)能力、產(chǎn)品品種、工藝流程等確定之后,其生產(chǎn)經(jīng)營的資金結(jié)構(gòu)、成本結(jié)構(gòu)、銷售收入結(jié)構(gòu)和利潤分配結(jié)構(gòu)也就確定下來,并且變得相對穩(wěn)定的。一旦某一結(jié)構(gòu)發(fā)生變化,就應(yīng)查找造成變化的內(nèi)在原因,就要分析看是企業(yè)內(nèi)部因素的變化,還是外界因素的變化。若確是外界不可控因素發(fā)生了變化,就應(yīng)當(dāng)果斷地改變原有的結(jié)構(gòu)狀態(tài),適應(yīng)形式的變化。
八、區(qū)域控制法
區(qū)域控制法,即根據(jù)財務(wù)活動的規(guī)律性大致規(guī)定一個財務(wù)活動的區(qū)域,凡是某一系列指標(biāo)處于該區(qū)域內(nèi)者,則視為正常;如果超過了區(qū)域的范圍,便認(rèn)為是超常,從而查核其中原因。由于此時的判別標(biāo)準(zhǔn)是“區(qū)域性”,因此區(qū)域的位置、區(qū)域的大小便成為該種調(diào)控方式的重心所在。要求在確定區(qū)域時充分考慮各種相關(guān)因素,分析它們之間的關(guān)系及變化趨勢,進(jìn)而確定一個科學(xué)、合理的財務(wù)調(diào)控區(qū)域。
九、比率控制法
比率控制是一種相對數(shù)控制方法,是通過兩個相關(guān)指標(biāo)的比較及數(shù)期變化趨勢,來分析說明事物的本質(zhì)及規(guī)律性。在許多情況下,運(yùn)用絕對數(shù)無法說明問題,但使用具有可比意義的相對數(shù)卻能作出有效的比較,進(jìn)而找出差距和不足。
十、限額控制法
限額是指根據(jù)經(jīng)驗(yàn)或科學(xué)計算而對某種行為的消耗、占用、或產(chǎn)出所做的數(shù)量規(guī)定,其主要理論依據(jù)是以前的行為具有歷史延續(xù)性,環(huán)境的相對穩(wěn)定性。但對于沒有歷史延續(xù)性的行為,或?qū)τ谕饨绛h(huán)境處于飛速變化的事件及各種非線性變量不斷產(chǎn)生的系統(tǒng),限額調(diào)控是難以奏效的。在財務(wù)管理中,常用于調(diào)控財務(wù)行為的限額有收支總額、流動資金占用額、工資定額、利潤總額、銷售總額等。
要正確運(yùn)用以上各種調(diào)控方式,必須做到以下幾點(diǎn):
(1)對需要的反饋信息,應(yīng)進(jìn)行認(rèn)真的反復(fù)的測算,并對有關(guān)資料整理加工,以便于進(jìn)行比較。
(2)檢測數(shù)據(jù)應(yīng)盡量達(dá)到及時性、準(zhǔn)確性、適用性要求。
(3)被控對象的狀態(tài)空間要規(guī)定適當(dāng)?shù)南拗平缦蕖?/p>
(4)受控時間要適時,不要等系統(tǒng)已運(yùn)行完一個周期再進(jìn)行比較分析。
(5)外部信息要可靠、真實(shí),信息應(yīng)當(dāng)以適當(dāng)?shù)挠嬃繂挝槐硎尽?/p>
(6)信息的反饋循環(huán)應(yīng)盡量減少層次,以加快反饋速度,提高信息反饋效率。
(7)對有些事物的控制要建立一定的模型,運(yùn)用各種現(xiàn)代數(shù)學(xué)的手段,進(jìn)行數(shù)量分析和模擬仿真。
第五篇:循環(huán)經(jīng)濟(jì)理論和方法研究
課題描述:循環(huán)經(jīng)濟(jì)理論和方法研究
點(diǎn)評專家:段寧(中國環(huán)境科學(xué)研究院副院長、國家清潔生產(chǎn)中心主任)
“個體的先進(jìn)技術(shù)對于經(jīng)濟(jì)和社會等發(fā)展來說非常重要,但是整體理論和方法研究同樣、甚至更為重要,因?yàn)檫@關(guān)系到對國家資源和環(huán)境等形勢的整體客觀把握,對基本形勢的判斷,避免戰(zhàn)略,甚至是國策的失誤。比如,過去各國科技之爭的制高點(diǎn)之一在于如何更好、更高效地把不可再生的礦物質(zhì)挖出來,提高其利用率。但現(xiàn)在不同了,發(fā)達(dá)國家科學(xué)研究的重點(diǎn)轉(zhuǎn)向了如何把已經(jīng)挖出來的物質(zhì)資源回收再利用等。正是通過循環(huán)經(jīng)濟(jì)理論和方法等研究,使我們對當(dāng)今國內(nèi)外的總體形勢有了一些新認(rèn)識。”在明亮的會議室里,段寧語重心長地告訴記者,我國在循環(huán)經(jīng)濟(jì)領(lǐng)域與發(fā)達(dá)國家的差距不但沒有縮小,反而在擴(kuò)大。
三大定理構(gòu)建理論框架
“隨著科學(xué)技術(shù)的進(jìn)步,人類物質(zhì)代謝總規(guī)模的發(fā)展趨勢是上升還是下降,各國科學(xué)家們長期以來重點(diǎn)研究和爭論的這一問題,不僅是可持續(xù)發(fā)展的核心問題,也是關(guān)于發(fā)展循環(huán)經(jīng)濟(jì)的必要性和迫切性的基本理論問題?!倍螌幷f,課題組在對國內(nèi)外大量數(shù)據(jù)和事實(shí)廣泛分析的基礎(chǔ)上總結(jié)了過去6年左右循環(huán)經(jīng)濟(jì)科研實(shí)踐的經(jīng)驗(yàn),通過理論提煉和數(shù)學(xué)推導(dǎo),提出了趕不上定理、上升多峰原理和物質(zhì)減項(xiàng)定理和完全循環(huán)原理,比較系統(tǒng)地從自然科學(xué)層面解答了這一重要問題。
趕不上定理是指一個正常的經(jīng)濟(jì)體系,在時間足夠長的增長過程中,人均物質(zhì)消費(fèi)量上升的充分必要條件是物質(zhì)強(qiáng)度下降的速度趕不上人均GDP增長的速度;上升多峰原理是指在人類發(fā)展歷史中,總的趨勢是人均經(jīng)濟(jì)總量不斷上升,人均物質(zhì)代謝規(guī)模永遠(yuǎn)隨其上升而上升,盡管在這一過程中兩者不同程度的、相對的或絕對的脫鉤會反復(fù)發(fā)生;物質(zhì)減項(xiàng)定理是指停止使用不可循環(huán)利用的不可再生物質(zhì),是人類實(shí)現(xiàn)可持續(xù)發(fā)展的充分必要條件。
課題組通過研究,認(rèn)識到了污染物排放量與物質(zhì)消費(fèi)總量密切相關(guān),如果不減少我國的生產(chǎn)物質(zhì)消費(fèi)總量,污染排放量難以削減,國務(wù)院的“十一五”社會發(fā)展中長期規(guī)劃中“主要污染物要下降10%”的剛性指標(biāo)就難以實(shí)現(xiàn)。所以,優(yōu)化產(chǎn)業(yè)結(jié)構(gòu)和物質(zhì)代謝途徑,提高廢物的循環(huán)利用率勢在必行。
另一方面,我國正處在高速發(fā)展的重化工階段,由于產(chǎn)業(yè)結(jié)構(gòu)不合理等現(xiàn)實(shí)制約,我國在資源利用率上與國際上存在很大差距。我國單位產(chǎn)值能耗比世界平均水平高3.2倍,分別是日本、德國和美國的7.7、4.7和3.5倍;單位產(chǎn)值水耗約為發(fā)達(dá)國家的8~20倍,是美國的9.8倍、法國的17.5倍、日本的24.2倍。加上人們強(qiáng)大的改善物質(zhì)生活條件的內(nèi)源性需求———要生活更好、消費(fèi)更豐富的物質(zhì),因此,在可以預(yù)測的未來,當(dāng)我國人均GDP上升很快,但物質(zhì)強(qiáng)度下降不快時,我國的物質(zhì)消耗總量還將繼續(xù)增大。專家點(diǎn)評:
現(xiàn)在的末端污染治理技術(shù),比如建設(shè)污水處理廠來削減水污染物、建設(shè)脫硫設(shè)施削減大氣污染物等,不但花費(fèi)昂貴,而且不能同時削減水、大氣和固體廢棄物。大力發(fā)展循環(huán)經(jīng)濟(jì),從源頭減少投入生產(chǎn)的一次性物質(zhì),阻隔主要污染物產(chǎn)生途徑,可以使進(jìn)入末端治理的污染物銳減,控制污染排放量,提高環(huán)境質(zhì)量。
日本經(jīng)驗(yàn)也說明,通過產(chǎn)業(yè)結(jié)構(gòu)的改變,節(jié)能、能源結(jié)構(gòu)的改變,削減了4/5的二氧化硫,比末端污染治理削減量要大得多;從1979年到2000年日本資源循環(huán)率從8%%提高到10%%,同時期廢物填埋總量下降了40%。
新方法破除理論“怪圈”
除了提出理論外,課題組還提出了新方法。段寧說:“粗放式發(fā)展經(jīng)濟(jì),復(fù)合型污染是我國一大特征,因此,我國的工業(yè)代謝研究不能局限于分析污染物進(jìn)入環(huán)境后的代謝過程,也不能局限于利用廢物構(gòu)建生態(tài)工業(yè)鏈網(wǎng)的努力?!?/p>
生態(tài)工業(yè)園區(qū)是我國工業(yè)發(fā)展的重要方向,其規(guī)劃建設(shè)是從1999年開始進(jìn)行的,如廣西貴港市、新疆石河子市、內(nèi)蒙古包頭市等,這些城市一個共同特點(diǎn)是技術(shù)水平相對較低、污染排放高。因此,我國生態(tài)工業(yè)園區(qū)的早期規(guī)劃中形成了主要利用廢棄物設(shè)計工業(yè)鏈網(wǎng)的模式。但是后來蘇州高新區(qū)、天津泰達(dá)開發(fā)區(qū)、大連經(jīng)濟(jì)技術(shù)開發(fā)區(qū)等一大批技術(shù)含量高、污染排放少的工業(yè)園區(qū)發(fā)展生態(tài)工業(yè)時受到以上模式的束縛,紛紛感到生態(tài)工業(yè)園區(qū)規(guī)劃無從下手,一時間國內(nèi)形成了“污染越重的地區(qū)生態(tài)工業(yè)越好搞,污染越輕的地區(qū)生態(tài)工業(yè)越難搞”的理論怪圈。為了突破我國生態(tài)工業(yè)園區(qū)發(fā)展的瓶頸,課題組提出了產(chǎn)品代謝分析方法。這一方法集中研究產(chǎn)品生產(chǎn)過程中的物質(zhì)和能量流動規(guī)律,尋找從源頭削減污染物產(chǎn)生的途徑,提出從產(chǎn)品鏈、關(guān)鍵環(huán)節(jié)和成因分析產(chǎn)品的代謝過程,從生產(chǎn)工藝流程和產(chǎn)品群的最佳組合,從元器件到半成品到成品的物質(zhì)減量等方面辨識補(bǔ)鏈技術(shù)、提出改善措施,建立了基于中國國情的一種新的生態(tài)工業(yè)分析方法。打破了“污染越重的地區(qū)生態(tài)工業(yè)越好搞,污染越輕的地區(qū)生態(tài)工業(yè)越難搞”的理論怪圈,并在幾十個城市的循環(huán)經(jīng)濟(jì)發(fā)展及生態(tài)工業(yè)園區(qū)規(guī)劃中得到了應(yīng)用。專家點(diǎn)評:
在課題研究中,我們發(fā)現(xiàn),當(dāng)前,包括發(fā)達(dá)國家在內(nèi),各國的物質(zhì)消費(fèi)總量都還在不斷攀升,物質(zhì)需求的無限性與地球資源的有限性之間存在天然矛盾。
物質(zhì)消費(fèi)的臺階技術(shù)將極大地推動人類文明發(fā)展,如過去沒有石油,主要能源是木炭和煤炭,石油出現(xiàn)后,隨之而來的是汽車等現(xiàn)代大工業(yè)。在過去的幾十年內(nèi),人類社會沒有出現(xiàn)新的類似臺階式技術(shù),我們不能預(yù)測今后會出現(xiàn)哪一種具體的臺階式技術(shù),但是可以預(yù)測今后一定會出現(xiàn)這一類臺階技術(shù)。一旦出現(xiàn),人類物質(zhì)消費(fèi)總量還要增加,必將對污染控制提出新要求。為了落實(shí)環(huán)境優(yōu)化增長,當(dāng)前要回答五個問題:過去20年我國結(jié)構(gòu)調(diào)整污染預(yù)防消減了多少污染物?僅依靠末端控制我國能否實(shí)現(xiàn)主要污染物消減目標(biāo)?如果不能,結(jié)構(gòu)調(diào)整和循環(huán)經(jīng)濟(jì)等預(yù)防性措施應(yīng)該對主要污染物消減目標(biāo)承擔(dān)多大份額?有哪些相應(yīng)的技術(shù)途徑?我國應(yīng)該采取什么樣的政策手段?
循環(huán)經(jīng)濟(jì)發(fā)展需要多樣人才
課題組利用研究得到的產(chǎn)品代謝分析方法,首次對我國半導(dǎo)體工業(yè)整體的硅元素利用效率和能源利用效率進(jìn)行了定量研究,不但發(fā)現(xiàn)我國半導(dǎo)體工業(yè)的硅元素和能源利用率極低,而且揭示了該行業(yè)污染嚴(yán)重,并非是清潔工業(yè)。
段寧說,半導(dǎo)體工業(yè)是信息產(chǎn)業(yè)的基礎(chǔ)和核心,影響面廣,后續(xù)產(chǎn)業(yè)鏈長。但從硅石開采到生成硅片整個產(chǎn)品代謝過程,2002年我國半導(dǎo)體硅元素利用效率僅為2.6%%,不足1998年世界
平均水平的1/3。其中,工業(yè)硅生產(chǎn)多晶硅環(huán)節(jié),硅元素利用效率僅為世界平均水平的1/2;能源利用率不足國外的1/2。
課題組還發(fā)現(xiàn),硅元素生產(chǎn)分成單晶硅和多晶硅環(huán)節(jié),單晶硅生產(chǎn)污染大,附加值低,多晶硅生產(chǎn)正相反。我國缺乏多晶硅的生產(chǎn)能力,把生產(chǎn)出的大量單晶硅出口到歐美、日本等發(fā)達(dá)國家,再把這些國家利用我國出口的單晶硅生產(chǎn)的多晶硅進(jìn)口回來,不但消耗了能源,廉價出售了資源,還把大量污染留在了國內(nèi),造成了經(jīng)濟(jì)損失。專家點(diǎn)評:
如何發(fā)展循環(huán)經(jīng)濟(jì),如何使得資源效率利用率提高,并循環(huán)起來,目前在學(xué)術(shù)界相對而言,口號和概念更多一些,理論、方法和途經(jīng)少。循環(huán)經(jīng)濟(jì)是一門包括經(jīng)濟(jì)學(xué)、管理學(xué)、制度學(xué)等其他學(xué)科在內(nèi)的綜合科學(xué),下一步該怎么走?必須有經(jīng)濟(jì)、物理、化學(xué)和工程界的各種人才都投入到其研究中來。
■攻關(guān)動態(tài)