99精品久久这里只有精品,三上悠亚免费一区二区在线,91精品福利一区二区,爱a久久片,无国产精品白浆免费视,中文字幕欧美一区,爽妇网国产精品,国产一级做a爱免费观看,午夜一级在线,国产精品偷伦视频免费手机播放

    <del id="eyo20"><dfn id="eyo20"></dfn></del>
  • <small id="eyo20"><abbr id="eyo20"></abbr></small>
      <strike id="eyo20"><samp id="eyo20"></samp></strike>
    • 首頁 > 文章中心 > 程序設(shè)計風格

      程序設(shè)計風格

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

      程序設(shè)計風格

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

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

      中圖分類號:G642 文獻標識碼:B

      1現(xiàn)狀與對策

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

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

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

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

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

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

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

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

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

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

      1.2對策

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

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

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

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

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

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

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

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

      #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準確使用程序工具的習慣

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

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

      數(shù)據(jù)字典以字典式順序組織精確嚴格地定義了每個數(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良好程序書寫風格的養(yǎng)成

      程序不僅要保證運行正確,也是讓別人讀的。程序書寫設(shè)計風格包括4個方面:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)和輸入輸出方法。針對NOIP命題特點,學會從編碼原則提高程序的可讀性著手。由于例題已具有完好的縮進格式,只需要加入相關(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程序算法分析的習慣

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

      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ù)分析,得出程序的時間復雜度為O(n2)。

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

      目前面向?qū)ο蟮某绦蛟O(shè)計技術(shù)在軟件開發(fā)中占據(jù)主導地位,是指導學生學習軟件的發(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)學生學習計算機的興趣,使學生對信息技術(shù)的一些核心內(nèi)容有更多的了解,提高創(chuàng)造性地運用程序設(shè)計知識解決實際問題的能力,而不是一味學習專業(yè)教材。因此,只有開始養(yǎng)成一個良好的程序設(shè)計習慣,才能為將來的軟件開發(fā)打下好基礎(chǔ),而不是追求唯競賽而學的短期效果。

      參考文獻:

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

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

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

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

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

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

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

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

      例如:main()

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

      Very good!\n

      * * * * * \n);}

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

      Very good!

      * * * * *

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

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

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

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

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

      實例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);}

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

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

      char ch;

      ch="M";

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

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

      int a,b;

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

      這是不合法的。Scanf函數(shù)的作用是:按照a、b在內(nèi)存的地址將a、b的值存進去?!?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ù)組名后用方括號括起來的是常量表達式,可以包括常量和符號常量。即C不允許對數(shù)組的大小作動態(tài)定義。

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

      例如: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; }

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

      2 結(jié)論

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

      參考文獻:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      }

      然后對這個程序進行修改,給出用帶參數(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);}

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

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

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

      例如:求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í)行,要求學生通過機上進行調(diào)試、分析程序,發(fā)現(xiàn)錯誤及時改正,培養(yǎng)學生的動手能力和解決問題的能力。學生也積累了調(diào)試程序的經(jīng)驗。

      3)填空式的教學方法

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

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

      4)預測錯誤的教學方法

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

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

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

      參考文獻:

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

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

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

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

      【自我評價范文一】

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

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

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

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

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

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

      【自我評價范文二】

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

      2、良好的獨立分析,故障排查和解決問題的能力,并能關(guān)注細節(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è)計搭建,交換機路由器的配置,熟悉Web,FTP,Samba,VPN等服務(wù)器的部署。

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

      【自我評價范文三】

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

      【自我評價范文四】

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

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

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

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

      一、如何評價遠程教育資源

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

      1.科學性

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

      2.教學性

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

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

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

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

      3.技術(shù)性

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

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

      4.規(guī)范性

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

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

      5.藝術(shù)性

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

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

      亚洲桃色蜜桃av影院| 中国一级毛片在线观看| 成人无码网www在线观看| 亚洲中文字幕高清在线视频一区 | 日韩精品一区二区三区中文 | 草青青视频手机免费观看 | 成人无码α片在线观看不卡| 亚洲成人电影在线观看精品国产| 国产亚洲青春草在线视频| 日韩精品视频在线观看无| 国产欧美日韩一区二区三区| 日本丶国产丶欧美色综合| 在线观看极品裸体淫片av| 亚洲美女自拍偷拍视频| 国产午夜福利不卡在线观看| 国产精品欧美日韩在线一区| 国产精品久久国产精品久久| 草逼短视频免费看m3u8| 中文亚洲欧美日韩无线码 | 久草久热这里只有精品| 日韩精品免费一区二区三区观看 | 97久久久久人妻精品专区| 日韩女优一区二区视频| 一区二区黄色在线观看| 最近在线更新8中文字幕免费 | 久久亚洲中文字幕精品熟| 国产精品99久久久久久猫咪| 欧美性猛交xxxx乱大交蜜桃| 亚洲av性色精品国产| 午夜天堂av天堂久久久| 老熟妻内射精品一区| 久久亚洲AV无码一区二区综合| 国产激情综合五月久久| 国产又爽又黄又刺激的视频| 久久99国产精品尤物| 人妻少妇激情久久综合| 激情内射亚洲一区二区三区| 久久久久亚洲av无码专区桃色| 漂亮的小少妇诱惑内射系列| 亚洲视频免费一区二区 | av资源在线播放网站|