99久久99久久精品免费看蜜桃,亚洲国产成人精品青青草原,少妇被粗大的猛烈进出va视频,精品国产不卡一区二区三区,人人人妻人人澡人人爽欧美一区

首頁 > 文章中心 > 程序設(shè)計風(fēng)格

程序設(shè)計風(fēng)格

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇程序設(shè)計風(fēng)格范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

程序設(shè)計風(fēng)格

程序設(shè)計風(fēng)格范文第1篇

關(guān)鍵詞:信息學(xué);奧林匹克競賽;程序設(shè)計;習(xí)慣

中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B

1現(xiàn)狀與對策

全國青少年信息學(xué)奧林匹克聯(lián)賽(National Olympiad in Informatics in Provinces,簡稱NOIP)是全國信息學(xué)奧林匹克競賽(NOI)系列活動中的一個重要組成部分,旨在向中學(xué)生普及計算機(jī)基礎(chǔ)知識。從早期只考核學(xué)生對程序設(shè)計語言的理解、熟悉程度以及編程技巧發(fā)展到模型設(shè)計、離散數(shù)學(xué)、動態(tài)規(guī)劃的思想及算法,由單純的培養(yǎng)學(xué)生學(xué)習(xí)興趣轉(zhuǎn)變?yōu)閯?chuàng)造性地運(yùn)用程序設(shè)計知識解決實際問題的能力。然而學(xué)生在程序設(shè)計習(xí)慣方面普遍重視不夠,為軟件項目開發(fā)埋下了巨大隱患。

1.1現(xiàn)實中存在的問題

信息學(xué)奧林匹克競賽上由于教學(xué)單位出現(xiàn)急功近利的思想,造成學(xué)生不能較好地正確掌握計算機(jī)程序設(shè)計過程,沒有養(yǎng)成良好的程序編程習(xí)慣。在現(xiàn)實中,程序設(shè)計普遍存在以下一些共性問題:

(1) 不愿意讀別人的程序。強(qiáng)調(diào)自己程序設(shè)計方法的優(yōu)點,不愿意學(xué)習(xí)和借鑒他人的設(shè)計思路。

(2) 不畫流程圖。程序流程圖本來是程序設(shè)計的最簡單最直白書面表達(dá),然而沒有得到足夠的重視與平時養(yǎng)成,學(xué)生不樂意用流程圖來表達(dá)設(shè)計思想與過程,實際上往往導(dǎo)致程序邏輯交叉,當(dāng)程序出錯時排除費(fèi)時費(fèi)力。

(3) 不寫程序功能說明。程序設(shè)計過程中普遍存在只寫源代碼的語句,對程序?qū)崿F(xiàn)的功能沒有描述,別人閱讀程序很難,有時編程者自己對程序的處理技術(shù)方法也遺忘。

(4) 不寫代碼的注釋。不對程序進(jìn)行必要的注釋,造成閱讀困難,程序可讀性差。

(5) 忽視出錯處理。只完成程序功能的單一實現(xiàn)過程,對程序可能的具體出錯處理分析不夠。

(6) 忽視程序算法分析。程序算法對程序運(yùn)行的效率影響是非常大的,程序算法的復(fù)雜度直接影響程序的時間和空間。

(7) 忽視程序設(shè)計過程中文檔資料的積累。普遍認(rèn)為編程就是寫程序和調(diào)試過程,忽視文檔的書寫,其后果導(dǎo)致程序維護(hù)困難。

1.2對策

信息學(xué)奧林匹克競賽注重學(xué)生終生學(xué)習(xí)能力的培養(yǎng),而不停留在唯競賽而學(xué)。在平時的教學(xué)中培養(yǎng)學(xué)生良好的程序設(shè)計習(xí)慣,使學(xué)生學(xué)會準(zhǔn)確運(yùn)用程序設(shè)計工具,養(yǎng)成良好的程序設(shè)計風(fēng)格,將達(dá)到事半功倍的效果。

(1) 勤于思考、克服困難的習(xí)慣。由于學(xué)生對知識層次理解的深度有限,思維是發(fā)散而新穎,學(xué)生所編寫的程序必然有別于專業(yè)人員,但是要培養(yǎng)其具有專業(yè)人員的素養(yǎng),要養(yǎng)成解決問題的好習(xí)慣,從解決方法和基本原理上勤于推敲。

(2) 與人協(xié)作的習(xí)慣。NOIP考試形式上看是學(xué)生個人的行為,而真實的軟件工程是多人合作、信息共享的活動,互學(xué)互助、取長補(bǔ)短、與人溝通、信息交流的好習(xí)慣將使學(xué)生受益終身。

(3) 培養(yǎng)全局規(guī)劃習(xí)慣。不論是程序語言的學(xué)習(xí)例題還是NOIP的考試命題,題目功能典型,學(xué)生要善于從短小的程序代碼中分析計算機(jī)解決問題的方式、途徑,將小代碼功能擴(kuò)充完善,利用程序設(shè)計工具對問題從全局角度進(jìn)行分析處理。

(4) 良好的代碼編寫習(xí)慣。包括程序流程圖、變量命名、代碼標(biāo)注、功能注釋、捕獲代碼異常、測試樣例、文檔記錄等多個環(huán)節(jié)。如果在軟件開發(fā)和程序編寫過程中養(yǎng)成良好的習(xí)慣,那么程序中存在的漏洞就易于發(fā)現(xiàn),為將來大型軟件項目的開發(fā)打下良好基礎(chǔ)。

(5) 養(yǎng)成善于總結(jié)分析、勤于記錄文檔資料的習(xí)慣。建立自己的知識庫,不僅有源程序代碼,還要有完備的文檔資料記錄。

2培養(yǎng)正確程序設(shè)計習(xí)慣的措施

學(xué)生在學(xué)習(xí)過程中主要接觸的是以掌握基本算法為主的程序例題和NOIP獨立命題題目,而軟件開發(fā)過程是一系列活動,包括方法、工具和過程三個要素。因此,如何讓學(xué)生以小見大,培養(yǎng)良好的程序設(shè)計習(xí)慣才是學(xué)習(xí)的根本。以第14屆NOIP提高組C++初賽題目閱讀程序4為例題,說明如何借助程序設(shè)計工具,養(yǎng)成良好的程序設(shè)計風(fēng)格,培養(yǎng)良好的程序設(shè)計習(xí)慣,例題的源程序如下。

#include

#include

using namespace std;

int i,j,len;

char s[50];

int main()

{ cin>>s;

len=strlen(s);

for(i=0;i

{if (s[i]>='A'&&s[i]

for(i=0;i

{if(s[i]

cout

for(j=1;j

{ for(i=0;i

{s[i]=s[i+j];}

}

cout

return 0;

}

2.1準(zhǔn)確使用程序工具的習(xí)慣

學(xué)生在學(xué)習(xí)程序設(shè)計過程中不要過分強(qiáng)調(diào)上機(jī)調(diào)試運(yùn)行,學(xué)會正確運(yùn)用程序設(shè)計工具是根本。程序設(shè)計工具不僅能正確將程序分析過程轉(zhuǎn)變?yōu)槌绦驅(qū)崿F(xiàn),而且還能夠幫助學(xué)生快速分析源程序的語句功能,生成程序設(shè)計過程中所需要的文檔資料。

2.1.1數(shù)據(jù)字典

數(shù)據(jù)字典以字典式順序組織精確嚴(yán)格地定義了每個數(shù)據(jù)元素。通過讀例題源程序,得到例題的數(shù)據(jù)變量的數(shù)據(jù)字典,具體變量描述如表1所示,這有助于理解各變量在程序中的輸入、輸出、存儲和中間計算。

2.1.2N-S圖

N-S圖是適應(yīng)結(jié)構(gòu)化程序設(shè)計特點,逐步求精模塊化程序設(shè)計方法的有力工具。閱讀例題源程序語句可以快速畫出它的N-S圖(圖1),從而確定例題的程序順序結(jié)構(gòu)功能,如圖2所示。

2.2良好程序書寫風(fēng)格的養(yǎng)成

程序不僅要保證運(yùn)行正確,也是讓別人讀的。程序書寫設(shè)計風(fēng)格包括4個方面:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)和輸入輸出方法。針對NOIP命題特點,學(xué)會從編碼原則提高程序的可讀性著手。由于例題已具有完好的縮進(jìn)格式,只需要加入相關(guān)的序言性和語句注釋。程序部分修改內(nèi)容如下。

/* 4.cpp 程序功能: */

/*首先,大小寫混合字母的字符串變成小寫字母;然后以26字母循環(huán)形式,逐個字符替換為其位置后的第3個字符;最后,重新賦值指定位置字符。*/

....

int main()

{ cin>>s; //字符串s初始化

len=strlen(s); //求s長度

for(i=0;i

...

//逐字符轉(zhuǎn)換為其后面的第3個字符

for(i=0;i

...

cout

//3次循環(huán)將s指定字符s[i]重新賦值s[i+j]

for(j=1;j

...

cout

return 0; //返回

}

2.3程序算法分析的習(xí)慣

算法的空間復(fù)雜度和時間復(fù)雜度是分析一個程序算法的執(zhí)行效率與存儲需求,可以有效避免只強(qiáng)調(diào)偏僻技巧而忽略算法復(fù)雜性。

int main()

{ cin>>s; //執(zhí)行次數(shù)1

len=strlen(s); //執(zhí)行次數(shù)1

for(i=0;i

...

for(i=0;i

...

for(j=1;j

for((i=0;i

s[i]=s[i+j] //執(zhí)行次數(shù)4*n

cout

}

通過對例題的基本語句執(zhí)行次數(shù)分析,得出程序的時間復(fù)雜度為O(n2)。

2.4面向?qū)ο蟪绦蛟O(shè)計的習(xí)慣

目前面向?qū)ο蟮某绦蛟O(shè)計技術(shù)在軟件開發(fā)中占據(jù)主導(dǎo)地位,是指導(dǎo)學(xué)生學(xué)習(xí)軟件的發(fā)展方向。根據(jù)例題程序的功能實現(xiàn),通過定義一個obj類,含有實現(xiàn)程序功能的4個成員函數(shù),將例題的面向過程編程改寫為面向?qū)ο蟮某绦蛟O(shè)計,使數(shù)據(jù)和操作具有封裝性。改寫后的程序源代碼如下。

#include

#include

using namespace std;

class obj //定義obj類

{public: //定義公有成員函數(shù)

obj( ) {*s=NULL;len=0;} //定義構(gòu)造函數(shù)

void input( ); //輸入函數(shù)

void change( ); //字符轉(zhuǎn)換函數(shù)

void setvalue( ); //字符重賦值函數(shù)

//定義輸出函數(shù)

void print(){cout

private: //定義私有成員變量

char s[50]; //字符串s

int len; //字符串長度len

};

void obj::input( ) //定義輸入函數(shù)

{cout

cin>>s;

len=strlen(s);

}

void obj::change( ) //定義轉(zhuǎn)換函數(shù)

{ for(int i=0;i

{if (s[i]>='A'&&s[i]

for(i=0;i

{if(s[i]

}

void obj::setvalue ( ) //定義字符重賦值函數(shù)

{ for(int j=1;j

{ for(int i=0;i

s[i]=s[i+j];}

}

int main( ) //主函數(shù)

{ obj x; //obj類的對象x

x.input ( );

x.change ( );

x.setvalue ( );

x.print ( );

return 0;

}

3結(jié)語

NOIP重點是培養(yǎng)學(xué)生學(xué)習(xí)計算機(jī)的興趣,使學(xué)生對信息技術(shù)的一些核心內(nèi)容有更多的了解,提高創(chuàng)造性地運(yùn)用程序設(shè)計知識解決實際問題的能力,而不是一味學(xué)習(xí)專業(yè)教材。因此,只有開始養(yǎng)成一個良好的程序設(shè)計習(xí)慣,才能為將來的軟件開發(fā)打下好基礎(chǔ),而不是追求唯競賽而學(xué)的短期效果。

參考文獻(xiàn):

[1] 馬苗,田紅鵬. “面向?qū)ο蟪绦蛟O(shè)計與C++”教學(xué)中的問題與思考[J]. 計算機(jī)教育,2008(6):81-82.

[2] 楊顯霞. 信息學(xué)奧林匹克競賽教學(xué)模式初探[J]. 西南農(nóng)業(yè)大學(xué)學(xué)報:社會科學(xué)版,2008(4):169-171.

[3] 林小華. 計算機(jī)程序設(shè)計風(fēng)格探討[J]. 軟件導(dǎo)刊,2006(17):33-35.

程序設(shè)計風(fēng)格范文第2篇

關(guān)鍵詞: C語言;常見錯誤;程序調(diào)試;實例

中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)35-9969-02

Analysis of Common Error Based on C Programming Language

GAO Ya-xia1, ZOU Hai-rong2

(1.Shaanxi Commercial School, Hanzhong 723000, China; 2.Shaanxi Institute Of Technology, Hanzhong 723000, China)

Abstract: In recent years, not only the computer professionals use C language, but also the majority of staff computer applications favorite and use. In the use of C language application development, due to C language has a flexible programming style, grammar constraints are less stringent and program design large degree of freedom and so on. This C language to a number of beginner and causing a number of difficulties, in order to be able to quickly identify and correct errors in the program; this paper, the C language program design issues common mistakes analysis and research. Gives some examples and reference solutions, in order to learn C language program designed users to provide with convenient.

Key words: C Language; common errors; debugging program; example

C語言是在國內(nèi)外廣泛流行、使用的一種計算機(jī)高級程序設(shè)計語言。它的主要特點是:概念簡潔、數(shù)據(jù)類型豐富、表達(dá)能力強(qiáng),運(yùn)算符多且使用方便靈活。與其它程序設(shè)計語言相比較,具有靈活的編程風(fēng)格,語法限制不太嚴(yán)格,程序設(shè)計自由度大(例如:一個語句可以采用多種方式,分多行撰寫;對數(shù)組下標(biāo)越界不做檢查;整型、字符型和邏輯型的數(shù)據(jù)可以通用等)。這就給程序設(shè)計人員留下“靈活的余地”,但是由于這個靈活往往給程序調(diào)試,尤其對初學(xué)C語言的人來說,經(jīng)常會出一些連自己都不知道錯在哪里的實例??粗绣e的程序,不知該如何進(jìn)行修改。通過在C語言的教學(xué)與研究過程中,分析了一些關(guān)于C語言程序設(shè)計時容易犯的錯誤實例,提供給學(xué)習(xí)C語言的同學(xué)及相關(guān)人員參考。

1 C語言常見錯誤實例與分析

實例1.Printf語句中“控制字符串”部分分寫在不同的行。

例如:main()

{ printf(“* * * * *”\n

Very good!\n

* * * * * \n);}

該程序的目的是為了顯示這樣的結(jié)果: * * * * *

Very good!

* * * * *

但程序運(yùn)行后卻出現(xiàn)錯誤信息:“Unterminated string or character constant in function main”,對上述錯誤,只要在程序第二行、第三行的最后分別加上“\” 即可得到正確的結(jié)果,也就是說printf語句中的“控制字符串”部分分寫在不同的行時加“\”連接。

實例2. 忽略了“=”與“==”的區(qū)別。

在許多高級語言中,用“=”符號作為關(guān)系運(yùn)算符“等于”。如在BASIC程序中可以寫if (m=10) then …,但C語言中,“=”是賦值運(yùn)算符,“==”是關(guān)系運(yùn)算符。

例如:if (m==10) m=n;

前者是進(jìn)行比較,m是否和10相等,后者表示如果m和10相等,把n值賦給m。由于習(xí)慣問題,初學(xué)者往往很容易犯這樣的錯誤。

實例3.定義變量的位置不正確。

例如:#include

main()

{ char ch,filename[10];

scanf(“%s”,filename);

FILE *fp;

fp=fopen(filename,“w”);

ch=getchar();

while(ch!=‘#’)

{ fputc(ch,fp);putchar(ch);ch=getchar();}

fclose(fp);}

程序運(yùn)行后出現(xiàn)錯信息“Improper use of a typedef symbol in function main”,只要把第六行:FILE *fp;放到第四行前,程序通過。原因是:說明部分要放在其他語句之前。

實例4.將字符常量與字符串常量混淆。

char ch;

ch="M";

在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,而字符串常量是一對雙引號括起來的字符序列。C規(guī)定以‘\0’作字符串結(jié)束標(biāo)志,它是由系統(tǒng)自動加上的,所以字符串“M”實際上包含兩個字符:‘M'和‘\0',而把它賦給一個字符變量是不正確的。

實例5.輸入變量時忘記加地址運(yùn)算符“&”。

int a,b;

scanf("%d%d",a,b);

這是不合法的。Scanf函數(shù)的作用是:按照a、b在內(nèi)存的地址將a、b的值存進(jìn)去。“&a”指a在內(nèi)存中的地址?!?b”指b在內(nèi)存中的地址。

實例6.輸入數(shù)據(jù)的方式與要求不符。

1) scanf("%d%d",&x,&y);

輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符,如下面輸入不合法:

1,5

輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。

2) scanf("%d,%d",&x,&y);

C規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:

1,5

此時不用逗號而用空格或其它字符是不對的。如下面輸入不合法:

1 5 1:5

又如:scanf("a=%d,b=%d",&a,&b);輸入應(yīng)如以下形式:

a=1,b=5

實例7.輸入字符的要求與格式不一致。

在用“%c”格式輸入字符時,“轉(zhuǎn)義字符”和“空格字符”都作為有效字符輸入。

scanf("%c%c%c",&c1,&c2,&c3);

例如:輸入O K !

則字符“O”送給c1,空格字符“ ”送給c2,字符“K”送給c3,因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。

實例8. 同時定義了形參與函數(shù)中的局部變量。

int max(x,y)

int x,y,z;

形參應(yīng)該在函數(shù)體外定義,而局部變量應(yīng)該在函數(shù)體內(nèi)定義。應(yīng)改為:

int max(x,y)

int x,y;

{int z;

z=x>y?x:y;

return(z);}

實例9. 誤用變量定義數(shù)組。

int n;

scanf("%d",&n);

int a[n];

數(shù)組名后用方括號括起來的是常量表達(dá)式,可以包括常量和符號常量。即C不允許對數(shù)組的大小作動態(tài)定義。

實例10. 被調(diào)用的函數(shù)未在主函數(shù)中進(jìn)行聲明。

例如:main()

{ int a,b,*p1,*p2;

Scanf(“%d,%d”,&a,&b);

p1=&a;p2=&b;

if(a

printf(“5d,%d\n”,*p1,*p2); }

void swap(int *p1,int *p2)

{ int *p;

P=*p1;*p1=*p2;*p2=p; }

程序運(yùn)行后出現(xiàn)錯誤信息:“Type mismatch in redeclaration of ‘swap’”,只要在程序的第二句int a,b;前加一句:void swap();程序運(yùn)行通過。也就是說:被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之后(除了函數(shù)的值是整型或字符型的),要在main()函數(shù)中對被調(diào)用函數(shù)進(jìn)行說明,void型函數(shù)也不例外。

2 結(jié)論

通過上面這些實例的分析,可以看出,由于C語言的開放式編程風(fēng)格,讓C語言初學(xué)者,在進(jìn)行C語言程序設(shè)計時往往會出現(xiàn)一些微妙的、不易覺察的錯誤。C語言作為一門完善的編程語言,具有它的科學(xué)性與嚴(yán)謹(jǐn)性。因此,只有在充分掌握和熟練運(yùn)用C語言的基本概念、語法規(guī)范及結(jié)構(gòu)的基礎(chǔ)上,才能真正享受到C語言靈活自如的編程風(fēng)格的魅力,這也是學(xué)習(xí)一切科學(xué)知識的基本方法。

參考文獻(xiàn):

[1] 譚浩強(qiáng).C程序設(shè)計[M].北京:清華大學(xué)出版社,2008:37-242.

程序設(shè)計風(fēng)格范文第3篇

關(guān)鍵詞:C程序設(shè)計;教材內(nèi)容;教學(xué)內(nèi)容;教學(xué)方法

中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2011)21-5263-03

《C程序設(shè)計》是高職高專院校計算機(jī)相關(guān)專業(yè)開設(shè)的一門專業(yè)基礎(chǔ)課,是學(xué)習(xí)計算機(jī)及其他基礎(chǔ)課如《數(shù)據(jù)結(jié)構(gòu)》等課程的先修課。因此,提高這門課程的教學(xué)質(zhì)量對于培養(yǎng)大學(xué)生的計算機(jī)技能至關(guān)重要。但是,對于初學(xué)者來說要在短時間內(nèi)學(xué)好這門課程并不容易。在以前的教學(xué)實踐中,就發(fā)現(xiàn)很多學(xué)生覺得這門課難懂而厭學(xué),有些甚至失去了學(xué)習(xí)的信心,有的不知道學(xué)為何用而不感興趣,教學(xué)效果一直都不是很理想。所以,如何進(jìn)行C程序設(shè)計教材選擇及教學(xué)內(nèi)容改革是我們計算機(jī)教師應(yīng)該研究的課題。

1 程序設(shè)計教材和教學(xué)中存在的問題

程序設(shè)計教材中實例不實,為解釋語法而設(shè)計;語法堆砌,只見樹木不見森林;忽視錯誤程序的分析與講解。

2 教材內(nèi)容的組織

1)教材的特點應(yīng)該順應(yīng)時展,提升實驗平臺。

2)教材特點要求內(nèi)容緊密結(jié)合實踐,實例兼趣味性和實用性。增加游戲類實例如猜數(shù)游戲,文曲星猜數(shù)游戲,撲克牌游戲等;趣味智力題類實例如國王的許諾,愛因期坦數(shù)學(xué)題,漢諾塔,騎士游歷,八皇后問題等;實際生活問題類實例如:體型判斷,身高測試,學(xué)生成績管理,大獎賽現(xiàn)場統(tǒng)分,計算禮炮聲響次數(shù),存款預(yù)算等。

3)教材特點還強(qiáng)調(diào)軟件開發(fā)過程、算法設(shè)計、程序設(shè)計方法與編程技巧。注重程序測試與調(diào)試技術(shù),錯誤案例分析和排錯,程序的健壯性。每章小結(jié)中增加了常見錯誤的總結(jié)。一個程序多種編程方法,注重代碼規(guī)范。在教材注明常見錯誤案例分析有變量初始化錯誤,類型匹配錯誤,死循環(huán)與死語句,越界訪存錯誤,與0比較問題,緩沖區(qū)溢出問題,復(fù)雜情形的關(guān)系判斷問題,內(nèi)存泄漏問題,遺漏邊界條件測試,使用野指針的問題,非所有控制分支都有返回值錯誤,參數(shù)非法問題,類型溢出錯誤,不良代碼風(fēng)格等問題。

3 教學(xué)內(nèi)容的組織

3.1 C程序設(shè)計教學(xué)中以前存在的問題

集中式的講述(運(yùn)算符、數(shù)據(jù)類型);語句的語法講的多,注意事項一堆;忽略程序的“設(shè)計”過程(思維過程);舉例死板、單一、分離;相關(guān)知識聯(lián)系不緊密;過于依賴教材。結(jié)果導(dǎo)致學(xué)生學(xué)了不會編程,不會應(yīng)用;考完試就忘了;學(xué)習(xí)興趣逐漸淡化;學(xué)生不明白,卻又問不出問題來。

3.2 面向計算機(jī)專業(yè)的教學(xué)方法

在強(qiáng)調(diào)基礎(chǔ)知識的同時,注意在開發(fā)實際應(yīng)用程序時具有重要作用的知識。如將程序范型、程序測試、代碼驗證與程序優(yōu)化等內(nèi)容引入課程。

關(guān)注兩部分學(xué)生的教學(xué)方法:面向大部分學(xué)生,對教材上的實例進(jìn)行詳細(xì)講解,使其能夠掌握基本的語法、理解教材上的實例,以解決一般類型的問題。另外,從教材習(xí)題或參考書中選取有一定難度和代表性的實例進(jìn)行概要性的講解,有助于提高學(xué)生學(xué)會利用基礎(chǔ)知識的能力。還有面向一些比較突出的學(xué)生,給出一些綜合性的實例如學(xué)生成績系統(tǒng)的開發(fā),給他們介紹解題思路,使其能夠解決更復(fù)雜的問題,帶動其他同學(xué),增加編程興趣。

實際編程演示互動的教授方法:在課堂上實際編程演示,并運(yùn)行結(jié)果。一方面要體現(xiàn)良好的程序設(shè)計風(fēng)格和編程習(xí)慣,同時也反映了教師在編程時的思維過程,從注重結(jié)果轉(zhuǎn)向注重過程和方法。大量地實踐證明,學(xué)生對編程演示的過程興致很高,為了進(jìn)一步活躍課堂氣氛,在編程過程中會有意設(shè)置Bug,當(dāng)程序的運(yùn)行結(jié)果與期望的結(jié)果不一致或者出現(xiàn)異常情況的時候,學(xué)生的注意力會更集中,此時可讓學(xué)生分析問題的所在。此外,也可以通過對學(xué)生程序樣例展示,鼓勵學(xué)生的學(xué)習(xí)興趣。

3.3 非計算機(jī)專業(yè)的教學(xué)方法

教學(xué)內(nèi)容主要講解數(shù)據(jù)類型,運(yùn)算符與表達(dá)式,簡單的C程序設(shè)計,程序的控制結(jié)構(gòu),函數(shù),數(shù)組,指針,結(jié)構(gòu)體和共用體,文件操作。

1)采用案例――任務(wù)驅(qū)動的教學(xué)方法:“程序設(shè)計語言”強(qiáng)調(diào)的是“設(shè)計”,應(yīng)當(dāng)從“設(shè)計”入手,以程序設(shè)計思想與方法為核心,注重程序的編寫過程,選擇一個恰當(dāng)?shù)陌咐浅V匾?。案例的選擇應(yīng)當(dāng)由淺入深,要做到精、準(zhǔn)、易。精就是突出重點,目的明確;準(zhǔn)就是能夠反映欲教授內(nèi)容的本質(zhì);易是簡單易懂,不能把學(xué)生嚇著。例如在講授函數(shù)時,給出這樣一個案例:“編程設(shè)計一個簡單的計算器程序,要求根據(jù)用戶從鍵盤輸入的表達(dá)式:操作數(shù)1 運(yùn)算符op操作數(shù)2 來計算表達(dá)式的值。指定的運(yùn)算符為加(+)、減(-)、乘(*)、除(/)”。首先用一個簡單的程序來實現(xiàn):

main()

{float a,b;

char c,answer;

do {

printf("input expression:a+(-,*,/)b \n");

scanf("%f%c%f",&a,&c,&b);

switch(c)

{ case '+': printf("%f\n",a+b);break;

case '-': printf("%f\n",a-b);break;

case '*': printf("%f\n",a*b);break;

case '/':if(b!=0)

printf("%f\n",a/b); break;

default: printf("input error\n");

}

printf(“do you want to continue(Y/y , N/n)? \n”);

scanf(“%*c%c”,answer);

}while(answer==‘Y’||answer==‘y’);

}

然后對這個程序進(jìn)行修改,給出用帶參數(shù)的函數(shù)實現(xiàn)。

#include

float Calculator(float a,float b,char c);//函數(shù)聲明

main()

{ float x,y,result;

char op,answer;/*繼續(xù)否 */

do

{printf("input expression:x+(-,*,/)y \n");

scanf("%f%c%f",&x,&op,&y);

if(op != ‘+’ || op != ‘-’|| op != ‘*’ || op != ‘/’ )

{printf("input error\n");

continue;}

else

{result=Calculator(x,y,op);//函數(shù)調(diào)用

printf("%f\n",result);

}

printf(“Do you want to continue(y/Y,n/N)?");

scanf(“%*c%c”, &answer );

}while(answer == ‘y’ || answer == ‘Y’);

printf(“over!”);}

float Calculator(float a,folat b,char c) //函數(shù)定義

{ float z;

switch(c)

{ case '+': z = a + b; break;

case '-‘ : z = a - b; break;

case '*‘: z = a * b; break;

case '/': z = a / b; break;

} return(z);}

再要求學(xué)生對其進(jìn)行修改,用不帶參數(shù)的函數(shù)去實現(xiàn)該題。通過本案例,使學(xué)生理解并掌握了函數(shù)的幾個重要的概念,實現(xiàn)方法及編程技巧,并使學(xué)生真正理解為什么說C語言的程序是由函數(shù)構(gòu)成的。經(jīng)過反復(fù)這樣的練習(xí),使得學(xué)生不但學(xué)到了基礎(chǔ)知識,而且提高了綜合分析和理解能力。

2)設(shè)置錯誤尋求正確答案的教學(xué)方法

在課堂教學(xué)中,有意給出一些帶有算法錯誤或語法錯誤的程序段,使學(xué)生產(chǎn)生一些疑問,去思考,為什么這樣編程不對?為什么這樣的程序得不到正確的運(yùn)行結(jié)果?讓學(xué)生自己去尋找程序答案,修正這種程序中的語法錯誤及算法錯誤。

例如:求100~200間的全部素數(shù),要求每行輸出10個素數(shù)。

#include

main()

{int m,k,i,n;

for(m=101;m

{if(n%10==0)

printf("\n");k=sqrt(m);

for(i= 1;i

if(m%i==0)

continue;

if(i==m%10)

{ printf("%d ",m); n++;

} } }

在這個程序中存在比較隱蔽的錯誤,該程序不能正確執(zhí)行,要求學(xué)生通過機(jī)上進(jìn)行調(diào)試、分析程序,發(fā)現(xiàn)錯誤及時改正,培養(yǎng)學(xué)生的動手能力和解決問題的能力。學(xué)生也積累了調(diào)試程序的經(jīng)驗。

3)填空式的教學(xué)方法

是在講述程序時,不把程序的內(nèi)容和盤托出,而是有意識地在內(nèi)容上制造一定的空白,讓學(xué)生自己去推測可能的結(jié)論。要求學(xué)生首先要讀懂程序,了解程序?qū)崿F(xiàn)的功能,再添上適當(dāng)語句,然后運(yùn)行程序,直到得到正確的運(yùn)行結(jié)果。從而激起學(xué)生的探索欲望,提高學(xué)生的學(xué)習(xí)能力,進(jìn)一步培養(yǎng)學(xué)生的創(chuàng)新思維。

例:下面這個程序的功能是將字符串s中所有的字符c刪除。

#include

#define N 80

main()

{ char s[N];int i,j;

printf("Please enter string s:");

gets(s) ;

for (i=j=0;s[i]!=’\0’; 或i

{ if(s[i]!=’c’)

s[j++]=s[i];或j++;s[j]=s[i];

s[j]=’\0’;

puts(s); }}

學(xué)生通過幾種不同的方法完成了此程序,從而使學(xué)生更好地理解字符串處理中幾個關(guān)鍵部分的處理過程。

4)預(yù)測錯誤的教學(xué)方法

根據(jù)實踐經(jīng)驗總結(jié)出一個程序易出現(xiàn)什么錯誤,在寫程序時要避免這種錯誤的發(fā)生。比如語法錯;運(yùn)行出錯(num/0);未檢測到的錯誤如scanf函數(shù)在對格式參數(shù)%d和%c的處理上有所不同前者會忽略輸入的空白和回車,后得不會忽略;邏輯錯誤等等。

總之,我們是以培養(yǎng)學(xué)生創(chuàng)新能力為主的教學(xué)方法。抽象概念與具體實例相結(jié)合的方法在程序設(shè)計課程中,以語法和結(jié)構(gòu)為基礎(chǔ),以程序設(shè)計方法為主線、以編程和應(yīng)用為目標(biāo)。在講述編程思想、規(guī)范、方法的同時緊密和恰當(dāng)?shù)膶嵗嘟Y(jié)合,形象化的講述,使學(xué)生快速理解抽象的概念,靈活的應(yīng)用這些思想和方法解決問題的能力。傳授知識與創(chuàng)新能力培養(yǎng)緊密結(jié)合分析授課對象的特點,從思維方法入手,引導(dǎo)學(xué)生多思、多想、多問。分解難點內(nèi)容,基礎(chǔ)內(nèi)容側(cè)重于深度,應(yīng)用內(nèi)容側(cè)重于廣度。在講述基本語法、程序設(shè)計基本方法的同時,注重編碼風(fēng)格、編碼規(guī)范、程序調(diào)試、常見錯誤分析。以典型實例驅(qū)動教學(xué),課堂教學(xué)與精心設(shè)計的課后作業(yè)相結(jié)合,作業(yè)的題型豐富,如復(fù)習(xí)題、 練習(xí)題、思考題、一般性作業(yè)、綜合性作業(yè),使學(xué)生在聽中學(xué)、學(xué)中練、練中思、思中創(chuàng),全面地從多角度靈活地應(yīng)用所學(xué)過的知識,培養(yǎng)了學(xué)生的創(chuàng)新思維。課堂講述與討論相結(jié)合的教學(xué)方式把課堂交給學(xué)生,定期組織學(xué)生討論,在程序設(shè)計中,針對一個程序的多種編寫方法展開討論,評價程序,使學(xué)生認(rèn)識到優(yōu)、劣代碼的特征,怎樣思考才能編寫高質(zhì)量的程序。注重實驗教學(xué)和課程設(shè)計在程序設(shè)計語言中以實驗為主,實驗內(nèi)容的設(shè)計是以鞏固和綜合運(yùn)用主要知識點為主線,內(nèi)容具有趣味性和實用性。實驗包括基礎(chǔ)驗證、設(shè)計、綜合設(shè)計十大類題型。通過實驗,激發(fā)了學(xué)生的濃厚學(xué)習(xí)興趣和獨立的編程能力。

由于計算機(jī)領(lǐng)域的知識更新的速度非??欤f的教材、教學(xué)方式方法、教學(xué)內(nèi)容已不能適應(yīng)新形勢的需求,需要隨著技術(shù)的進(jìn)步和社會的發(fā)展進(jìn)行更新,我們要吸收最先進(jìn)的教學(xué)思想,不斷地進(jìn)行教學(xué)改革。只有這樣,我們的教學(xué)才能適應(yīng)學(xué)生的需要,我們培養(yǎng)的學(xué)生才能更好地滿足社會的需要。

參考文獻(xiàn):

[1] 蘇小紅.《C語言程序設(shè)計》課程建設(shè)的創(chuàng)新實踐[J].哈爾濱工業(yè)大學(xué)學(xué)報:社科版,2008.

[2] 王宇穎.C語言實驗課如何培養(yǎng)學(xué)生的創(chuàng)新意識與創(chuàng)新思維[J].中國科教創(chuàng)新,2008.

[3] 王冬.高職C語言程序設(shè)計教學(xué)改革探索[J].計算機(jī)教育,2007(18).

程序設(shè)計風(fēng)格范文第4篇

【自我評價范文一】

1.熟悉數(shù)據(jù)倉庫,包括后臺ETL,前端OLAP。

2.具有良好的數(shù)學(xué)理念和統(tǒng)計學(xué)基礎(chǔ),熟練掌握計算理論與方法,了解數(shù)學(xué)模型、數(shù)據(jù)挖掘算法。

3.具有JAVA語言編程技能,尤其熟悉J2SE/SWING開發(fā)。并致力于JAVA IN SAS的研究。

4.熟悉使用Unix/Linux系統(tǒng),具有IBM AIX小型機(jī)一年操作經(jīng)驗,具有SHELL/PERL使用經(jīng)驗。

5.具有數(shù)據(jù)庫操作技能,可以處理復(fù)雜邏輯及存儲過程等。具有DB2,Oracle,SQL SERVER使用經(jīng)驗,SQLSERVER比較突出。

6.學(xué)習(xí)能力較強(qiáng),能快速接受新事物和新技術(shù),勤奮認(rèn)真、有較強(qiáng)的創(chuàng)新探索精神、良好的團(tuán)隊精神意識。

【自我評價范文二】

1、熟悉軟件驗證的一般理論和方法,較豐富的功能測試與性能測試經(jīng)驗。

2、良好的獨立分析,故障排查和解決問題的能力,并能關(guān)注細(xì)節(jié)。

3、掌握常用測試工具,如Spirent、Silkperformer、Loadrunner,CPPUnit。

4、熟練使用C++、Python、LinuxShell等程序語言。

5、熟練操作Unix/Windows系統(tǒng)和Unix/Windows工具,熟悉Oracle、SQLServer。

6、熟悉網(wǎng)絡(luò)協(xié)議,如TCP/IP,HTTP/HTTPS,FTP,DHCP,DNS,SSH,VNC。

7、熟悉網(wǎng)絡(luò)的設(shè)計搭建,交換機(jī)路由器的配置,熟悉Web,FTP,Samba,VPN等服務(wù)器的部署。

8、CET-6,具備良好的英語聽說讀寫能力,通過國家網(wǎng)絡(luò)工程師(中級)認(rèn)證。

【自我評價范文三】

3年工作經(jīng)驗,對網(wǎng)站設(shè)計及flash動畫設(shè)計有一定的設(shè)計理念,良好的美術(shù)設(shè)計功底和創(chuàng)意設(shè)計能力,獨特的審美能力,色彩搭配能力強(qiáng),能獨立設(shè)計多種風(fēng)格樣式,工作當(dāng)中不斷積累經(jīng)驗,不斷提高自身設(shè)計能力并逐漸形成自己獨到的設(shè)計風(fēng)格,熟練運(yùn)用Dreamweaver,flash,frwoks,Photoshop,Illustrator,CorelDRAW 等設(shè)計軟件。自學(xué)能力強(qiáng),挖掘自身的潛力,善于思考,自律性好,有較強(qiáng)的團(tuán)隊協(xié)作精神。

【自我評價范文四】

熟練掌握計算機(jī)基礎(chǔ)知識,并能熟練運(yùn)用SQL語言、C++、FOXPRO、PowerPoint、office97、FoxBASE等進(jìn)行計算機(jī)軟件應(yīng)用與開發(fā),并具有較好的計算機(jī)網(wǎng)絡(luò)知識與技能。頭腦靈活,動手能力強(qiáng),性格穩(wěn)重,責(zé)任心強(qiáng),具有較強(qiáng)的團(tuán)隊精神。

程序設(shè)計風(fēng)格范文第5篇

【關(guān)鍵詞】遠(yuǎn)程教育資源;評價;評價的應(yīng)用

在教育過程中評價是非常重要的部分,它包括對教學(xué)過程的評價和對學(xué)習(xí)過程的評價,通過對教學(xué)過程的評價可以讓施教者了解,教學(xué)目標(biāo)是否實現(xiàn)、教學(xué)效果是否顯著、教學(xué)過程有哪些不足等,而對學(xué)習(xí)者的評價可以幫助學(xué)習(xí)者提高自身的很多能力,對實現(xiàn)素質(zhì)教育起到實質(zhì)性的作用。應(yīng)用到遠(yuǎn)程教育中,就是遠(yuǎn)程教育資源質(zhì)量該如何評價?在資源建設(shè)中如何應(yīng)用評價?本文我想就這兩個問題進(jìn)行研討。

一、如何評價遠(yuǎn)程教育資源

遠(yuǎn)程教育的特點是學(xué)習(xí)者突破了時間、空間的局限,可以自主性、選擇性學(xué)習(xí),突出了以“學(xué)”為主的教育模式,這學(xué)習(xí)過程中就對遠(yuǎn)程教育資源的質(zhì)量提出了極高的質(zhì)量要求,那么如何評價遠(yuǎn)程教育資源的質(zhì)量,我們將從以下幾個方面探討。(本文案例《VB程序設(shè)計》課程是中央廣播電視大學(xué)開放教育??菩畔⑾到y(tǒng)開發(fā)與維護(hù)等專業(yè)的統(tǒng)設(shè)必修課。)

1.科學(xué)性

資源內(nèi)容科學(xué)、準(zhǔn)確。無二義性。這無論是對網(wǎng)絡(luò)教育資源換是面授課資源都是一個最根本的要求,我想對于這一點就不必做進(jìn)一步的探討了。

2.教學(xué)性

這一指標(biāo)在評價量規(guī)是比較難設(shè)計、難評價的,在突出以“學(xué)”為主的遠(yuǎn)程教育模式中,如何體現(xiàn)教學(xué)性,我認(rèn)為應(yīng)該從以下幾方面進(jìn)行評價:

(1)目標(biāo)控制實現(xiàn):教育目標(biāo)是教學(xué)從設(shè)計到實施的指引者,在《VB程序設(shè)計》課程資源中,教育目標(biāo)和每節(jié)的學(xué)習(xí)者目標(biāo)都已經(jīng)清楚標(biāo)出,具體在資源中的設(shè)計通過了一系列活動實現(xiàn),如在資源中提供了“思維導(dǎo)圖”讓學(xué)習(xí)者清楚本節(jié)內(nèi)容與其他相關(guān)內(nèi)容的聯(lián)系,使學(xué)習(xí)者能夠在思維導(dǎo)圖的幫助建構(gòu)自己的知識框架。通過視頻資源可以讓學(xué)習(xí)者在老師的面授課視頻中細(xì)致學(xué)習(xí)本章內(nèi)容,然后通過重點講授、常見問題對學(xué)習(xí)內(nèi)容進(jìn)行復(fù)習(xí)鞏固,再通過典型實例、在線測試訓(xùn)練學(xué)生的應(yīng)用能力,從而實現(xiàn)本章設(shè)定的目標(biāo)。

(2)內(nèi)容符合:課程內(nèi)容不同,適應(yīng)的教學(xué)資源也不同,即使是同一課程,但對于不同的章節(jié)和內(nèi)容不同,對于教學(xué)資源的要求也不一樣,如《VB程序設(shè)計》課程資源第一章可視化編程理論概述和第三章應(yīng)用程序接口設(shè)計及代碼編寫,內(nèi)容不同,第一章側(cè)重于對VB環(huán)境、特點的了解,而在第三章要求掌握流程控制語句的用法,它們在資源使用中風(fēng)格和類型就有一定的差別,前者理論多些,可在講解內(nèi)容上加重,而后者涉及到編程初步技巧,利用視頻資源表現(xiàn)編程過程和運(yùn)行結(jié)果讓學(xué)習(xí)者能對實例直觀把握,教學(xué)效果會更佳。

(3)對象適應(yīng):通過遠(yuǎn)程教育學(xué)習(xí)的學(xué)習(xí)者,層次不齊是非常典型的特點,那么要適應(yīng)各類學(xué)習(xí)者的對象適應(yīng)要求就非常高。對于不同的學(xué)習(xí)者,他們的學(xué)習(xí)特征各不相同,對資源形式的需求也不相同,如本課程的學(xué)習(xí)對象為大專學(xué)生,年齡在18歲以上,這一年齡的學(xué)習(xí)者思維發(fā)展達(dá)到抽象邏輯水平,辨證邏輯思維開始發(fā)展并逐步提高。應(yīng)對這樣的學(xué)習(xí)者在資源設(shè)計中,考慮他們的學(xué)習(xí)特點,從資源的內(nèi)容表現(xiàn)方式體現(xiàn)了思維的嚴(yán)謹(jǐn)性,內(nèi)容的全面性。

3.技術(shù)性

(1)最小代價:在選擇遠(yuǎn)程教育學(xué)習(xí)模式的學(xué)習(xí)者中,對于學(xué)習(xí)時間和方式以及相對獲得收獲的比例要求是較高的。所以資源的設(shè)計者就要通過增大學(xué)習(xí)者可能獲得的收獲和減少學(xué)習(xí)者可能有的困難的方法,取得學(xué)習(xí)者對其的認(rèn)可。遠(yuǎn)程教育資源不僅要包含較多的信息量,而且要深入淺出,通俗易懂,以使學(xué)習(xí)者能夠只用較少時間就獲得這些信息。

(2)操作簡便:使用操作目的清楚的按鈕或提示,方便學(xué)習(xí)者的選擇使用。如對于各類概念的超文本技術(shù)應(yīng)用,在《VB程序設(shè)計》課程資源中:“典型實例”、“拓展訓(xùn)練”、“常見問題”、“在線測試”、“問題庫”等的設(shè)計,學(xué)習(xí)者一目了然,可以根據(jù)自己的需要進(jìn)行相應(yīng)的選擇。

4.規(guī)范性

(1)資源的通用性:對于遠(yuǎn)程教育資源的使用者,他們的應(yīng)用環(huán)境各不相同,這就要求資源設(shè)計者考慮到應(yīng)用環(huán)境的差異,盡量做到讓學(xué)習(xí)者通過遠(yuǎn)程訪問時,所見即所得,不會因使用環(huán)境的差異使資源內(nèi)容呈現(xiàn)差異,盡量做到資源使用的通用性。

(2)資源引用合法:在強(qiáng)調(diào)知識產(chǎn)權(quán)的今天,網(wǎng)絡(luò)上資源的轉(zhuǎn)載是否合法是遠(yuǎn)程教育資源使用的一個重要考核指標(biāo),資源的建設(shè)者既要給學(xué)習(xí)者提供可用的高質(zhì)量資源,又要做到合理合法,不侵害他人的合法權(quán)益。

5.藝術(shù)性

(1)風(fēng)格協(xié)調(diào)一致:遠(yuǎn)程教育資源通過技術(shù)手段可以提供給學(xué)習(xí)者各式各樣的資源類型,如文本、圖片、音視頻、動畫等等??梢陨世_紛、聲情并茂,但設(shè)計者要注意資源使用的根本:提供給學(xué)習(xí)者有用的信息,而不是一個喧鬧的環(huán)境,不要本末倒置。所有的技術(shù)提供的服務(wù)目的就是如何能增進(jìn)學(xué)習(xí)者的學(xué)習(xí)興趣、使重點突出、簡潔清晰,所以設(shè)計風(fēng)格要協(xié)調(diào)一致。

(2)元素布局合理美觀:在網(wǎng)絡(luò)資源使用中,信息量大,如何使學(xué)習(xí)者方便操作,整體元素的布局很重要,要簡潔、明確、重點突出,如《VB程序設(shè)計》課程資源的布局,采用了國字型框架布局,上面突出標(biāo)題,左邊呈現(xiàn)“使用幫助”、“課程信息”等輔助學(xué)習(xí)信息;右邊呈現(xiàn):“視頻講堂”、“實驗中心”、“實例庫”等學(xué)習(xí)工具;在中間的顯著位置呈現(xiàn):“課程導(dǎo)學(xué)”、“班級論壇”、“課程論壇”這樣的結(jié)構(gòu)重點突出,工具使用方便,學(xué)習(xí)者容易操作。網(wǎng)絡(luò)資源的類型雖然多樣,但總體是刺激視聽的資源,在設(shè)計中要培養(yǎng)學(xué)習(xí)者的審美觀,要富于美感。