“多字符串?dāng)?shù)據(jù)處理問(wèn)題地編程方法”_第1頁(yè)
“多字符串?dāng)?shù)據(jù)處理問(wèn)題地編程方法”_第2頁(yè)
“多字符串?dāng)?shù)據(jù)處理問(wèn)題地編程方法”_第3頁(yè)
“多字符串?dāng)?shù)據(jù)處理問(wèn)題地編程方法”_第4頁(yè)
“多字符串?dāng)?shù)據(jù)處理問(wèn)題地編程方法”_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

“多字符串?dāng)?shù)據(jù)處理問(wèn)題的編程方法”教學(xué)方案設(shè)計(jì)【所屬學(xué)科】自動(dòng)化【所屬專業(yè)】自動(dòng)化【課程】計(jì)算機(jī)技術(shù)基礎(chǔ)【適用對(duì)象】c語(yǔ)言程序設(shè)計(jì)的初學(xué)者【教學(xué)目的】掌握利用數(shù)組實(shí)現(xiàn)多字符串?dāng)?shù)據(jù)存儲(chǔ)的方法;掌握算法實(shí)現(xiàn)過(guò)程中的5種編程技巧?!窘虒W(xué)重點(diǎn)】利用數(shù)組下標(biāo)與對(duì)象的關(guān)系編寫(xiě)程序。【教學(xué)難點(diǎn)】?jī)芍匮h(huán)嵌套程序的算法形成?!菊n時(shí)】20分鐘 【教學(xué)方法】講授+演示【課前準(zhǔn)備】多字符串問(wèn)題及編程方法的搜集多媒體課件的制作【教學(xué)過(guò)程】講解:向?qū)W生說(shuō)明多字符串問(wèn)題是工作和生活中經(jīng)常碰到的。這類(lèi)問(wèn)題的解決很有意義。如以下問(wèn)題:(對(duì)應(yīng)PPT中第2頁(yè))按學(xué)習(xí)成績(jī)的降序順序?qū)?duì)應(yīng)學(xué)生姓名排序文章中多行文字的字?jǐn)?shù)統(tǒng)計(jì)先進(jìn)工作者的選舉投票結(jié)果統(tǒng)計(jì)班級(jí)學(xué)生的生日月份統(tǒng)計(jì)…………這些問(wèn)題都涉及多字符串問(wèn)題。如月份中有“January”、“February”、“March”等字符串。說(shuō)明:明確說(shuō)明這堂課的重點(diǎn)內(nèi)容:(對(duì)應(yīng)PPT中第2頁(yè))——如何定義數(shù)據(jù)結(jié)構(gòu)?——有何編程技巧?舉例:投票的票數(shù)統(tǒng)計(jì)(對(duì)應(yīng)PPT中第3頁(yè))有n位候選人,m位選民投票。統(tǒng)計(jì)每位候選人的得票數(shù)。不選,多選或選其他人視為廢票,也要統(tǒng)計(jì)。講解:遇到難以解決的問(wèn)題時(shí)可以先把問(wèn)題簡(jiǎn)化。如該問(wèn)題簡(jiǎn)化為有3個(gè)候選人,5張選票。由此介紹第一個(gè)編程技巧:編程技巧1:現(xiàn)具體,再一般。編程技巧1:現(xiàn)具體,再一般。一、分析問(wèn)題:(對(duì)應(yīng)PPT中第4頁(yè))講解:針對(duì)上述的具體投票情況,找到其中要解決的兩個(gè)核心問(wèn)題。如何存放多個(gè)候選人的人名——數(shù)據(jù)結(jié)構(gòu)建立問(wèn)題如何實(shí)現(xiàn)票數(shù)的統(tǒng)計(jì)(每人的票數(shù)和廢票處理)——算法形成的技巧二、數(shù)據(jù)結(jié)構(gòu)的建立講解:先回顧前面課程中學(xué)過(guò)的變量定義類(lèi)型。說(shuō)明字符型、整型、實(shí)型等都不能存放字符串。選擇字符型一維數(shù)組和二維數(shù)組分別存放每張選票的人名和3位候選人的人名。根據(jù)票數(shù)統(tǒng)計(jì)的整型數(shù)據(jù)存儲(chǔ)特點(diǎn),選擇一維整型數(shù)組存放每位候選人的票數(shù)統(tǒng)計(jì)結(jié)果。每張選票的人名存儲(chǔ):一維字符數(shù)組charselect[10];(對(duì)應(yīng)PPT中第5頁(yè))候選人名的存儲(chǔ):二維字符數(shù)組(對(duì)應(yīng)PPT中第6頁(yè))charcandidate[3][10]={“zhangsan”,”lisi”,”wangwu”};票數(shù)統(tǒng)計(jì)結(jié)果的存儲(chǔ):intticket[4];(對(duì)應(yīng)PPT中第7、8頁(yè))講解:說(shuō)明一維整型數(shù)組的下標(biāo)使用技巧。在票數(shù)統(tǒng)計(jì)時(shí),將三位候選人按順序依次編號(hào),并按編號(hào)與對(duì)應(yīng)的數(shù)組元素一一對(duì)應(yīng),從而實(shí)現(xiàn)每位候選人的票數(shù)的統(tǒng)計(jì)。提問(wèn):讓學(xué)生考慮廢票的存儲(chǔ)方法。并找同學(xué)回答問(wèn)題。講解:由于ticket[0]元素未用,可用于存儲(chǔ)廢票數(shù)。在此介紹編程的第二個(gè)技巧:編程技巧2:尋找數(shù)組下標(biāo)與對(duì)象的關(guān)系編程技巧2:尋找數(shù)組下標(biāo)與對(duì)象的關(guān)系編寫(xiě)數(shù)據(jù)輸入部分程序:#include"stdafx.h"#include"stdafx.h"#include"string.h"intmain(intargc,char*argv[]){inti; charcandidate[3][10]; charselect[10]; intticket[4]; for(i=1;i<=3;i++) { printf("請(qǐng)輸入第%d個(gè)候選人名字:",i); scanf("%s",candidate[i]); }for(i=1;i<=m;i++) printf("候選人%d為:%s\n",i,candidate[i]);三、票數(shù)的統(tǒng)計(jì)問(wèn)題講解:可以將票數(shù)統(tǒng)計(jì)問(wèn)題分解為三個(gè)小問(wèn)題?;麨榱阈纬伤惴?。算法形成步驟:(對(duì)應(yīng)PPT中第10頁(yè))第一張選票為有效票的結(jié)果統(tǒng)計(jì)第一張選票為廢票的結(jié)果統(tǒng)計(jì)5張選票的結(jié)果統(tǒng)計(jì)講解:介紹第三個(gè)編程技巧:編程技巧3:編程技巧3:善于化整為零講解:按照提取的三個(gè)子問(wèn)題按順序繪制流程圖(圖1所示),并編寫(xiě)選票統(tǒng)計(jì)程序(對(duì)應(yīng)PPT中第11頁(yè))圖1票數(shù)統(tǒng)計(jì)流程圖講解:在流程圖繪制過(guò)程中,不斷觀察重復(fù)步驟形成循環(huán),便于計(jì)算機(jī)程序的編寫(xiě)。介紹第四個(gè)編程技巧:編程技巧4:尋找重復(fù)步驟編程技巧4:尋找重復(fù)步驟編寫(xiě)候選人票數(shù)統(tǒng)計(jì)程序段:(對(duì)應(yīng)PPT中第11頁(yè))for(i=0;i<5;i++)for(i=0;i<5;i++){printf("請(qǐng)輸入第%d張選票結(jié)果:",i+1);scanf("%s",select);for(j=1;j<=3;j++){if(strcmp(candidate[j],select)==0){ ticket[j]++;break;}}if(j==4)ticket[0]++;}輸出結(jié)果……四、程序調(diào)試(對(duì)應(yīng)PPT中第12頁(yè))首先補(bǔ)充數(shù)據(jù)輸出部分程序,形成完整程序。for(i=1;i<=m;i++)for(i=1;i<=m;i++)printf("候選人%s的為:%d\n",candidate[i],ticket[i]);printf("廢票數(shù)為:%d\n",ticket[0]);getchar();return0;運(yùn)行票數(shù)統(tǒng)計(jì)程序,得到如圖2所示結(jié)果:圖2結(jié)果錯(cuò)誤的調(diào)試程序界面思考:紅色圓圈中的結(jié)果明顯錯(cuò)誤。請(qǐng)同學(xué)們思考程序中哪里存在問(wèn)題。操作:請(qǐng)一位同學(xué)上臺(tái)親自運(yùn)行程序,假設(shè)班級(jí)選班長(zhǎng)。由同學(xué)們?cè)O(shè)定三位候選人,并投出5張選票。同學(xué)親自操作得到程序的正確運(yùn)行結(jié)果如圖3所示。圖3運(yùn)行結(jié)果正確的調(diào)試程序界面思考:投票人數(shù)和候選人數(shù)實(shí)時(shí)變化,如何改進(jìn)程序?程序運(yùn)行的效果如圖4所示。圖4投票人數(shù)和候選人數(shù)可變的調(diào)試界面思考:投票人數(shù)未知,需統(tǒng)計(jì)投票人數(shù),怎么改進(jìn)程序?講解:根據(jù)思考的幾個(gè)問(wèn)題,讓同學(xué)明白編程時(shí)要不斷的優(yōu)化程序,使程序具有更好的適應(yīng)性。介紹編程的第五個(gè)技巧:編程技巧5:不斷優(yōu)化程序編程技巧5:不斷優(yōu)化程序講解:本次課有兩個(gè)重點(diǎn)。(對(duì)應(yīng)PPT中第13頁(yè))多字符串問(wèn)題可用二維字符數(shù)組存放。編程時(shí)采用我們總結(jié)的編程技巧。講解:編程的技巧有從具體到一般尋找數(shù)組下標(biāo)與對(duì)象關(guān)系善于化整為零尋找重復(fù)步驟不斷優(yōu)化程序講解:更重要的一個(gè)編程技巧是多練習(xí)。對(duì)班級(jí)學(xué)生的生日按月份進(jìn)行統(tǒng)計(jì)。【教學(xué)總結(jié)與反思】本課程的設(shè)計(jì)主要考慮這幾個(gè)方面:從生活中很熟悉的問(wèn)題入手,引出本次課的內(nèi)容,能集中學(xué)生的注意力;在解題過(guò)程中,采用由淺入深、圖文并茂的方式,提高學(xué)生的學(xué)習(xí)興趣;講課過(guò)程中,利用提問(wèn)等手段督促學(xué)生積極思考,跟上課程的節(jié)奏;讓學(xué)生親自上臺(tái)操作運(yùn)行程序,并模擬現(xiàn)場(chǎng)的班長(zhǎng)投票活動(dòng),活躍班級(jí)氣氛。從上課的效果看,基本能實(shí)現(xiàn)上述功能。待改進(jìn)的環(huán)節(jié):選票人名和候選人名的存儲(chǔ)問(wèn)題比較簡(jiǎn)單,這部分的授課應(yīng)更簡(jiǎn)潔一些?!菊n后作業(yè)及參考題】1、指出程序運(yùn)行結(jié)果#include<stdio.h>voidmain(){charstr[20]="azdwgtjqmn";voidtran(chara[]);tran(str);printf("str[%d]=%s\n",strlen(str),str);}voidtran(charch[]){inti=0;while(ch[i]!='\0'){ch[i]+=4;if(ch[i]>'z')ch[i]-=26;i++;}2、選擇題(1)若有以下語(yǔ)句,則下面____是正確的描述。charx[]="12345";chary[]={'1','2','3','4','5'};A)x數(shù)組和y數(shù)組長(zhǎng)度相同。B)x數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度。C)x數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度。D)x數(shù)組等價(jià)于y數(shù)組。(2)執(zhí)行語(yǔ)句chars[]="Sunday";后,下面____輸出語(yǔ)句可以輸出字符串"Sunday"。A)putchar(s);B)puts(s);C)printf("%c",s);D)printf("%s",s[0]);(3)執(zhí)行語(yǔ)句chars[20];后,下面____輸入語(yǔ)句可以將字符串"Iamaboy."輸入給字符數(shù)組s。A)gets(s);B)gets(&s);C)scanf("%s",s);D)scanf("%s",&s);(4)執(zhí)行如下程序后,輸出的結(jié)果為_(kāi)___。#include<st

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論