![程式語言教學講義_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/13/63f0ca47-b7ec-4699-af8b-d87ffa823b2a/63f0ca47-b7ec-4699-af8b-d87ffa823b2a1.gif)
![程式語言教學講義_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/13/63f0ca47-b7ec-4699-af8b-d87ffa823b2a/63f0ca47-b7ec-4699-af8b-d87ffa823b2a2.gif)
![程式語言教學講義_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/13/63f0ca47-b7ec-4699-af8b-d87ffa823b2a/63f0ca47-b7ec-4699-af8b-d87ffa823b2a3.gif)
![程式語言教學講義_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/13/63f0ca47-b7ec-4699-af8b-d87ffa823b2a/63f0ca47-b7ec-4699-af8b-d87ffa823b2a4.gif)
![程式語言教學講義_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/13/63f0ca47-b7ec-4699-af8b-d87ffa823b2a/63f0ca47-b7ec-4699-af8b-d87ffa823b2a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、卞卞卞中卞寧卞屮卞卞卒卞中卞寧卞卞卞卞寧卞卒TtF* tttFtF*程式語言教學講義-進階挑戰(zhàn)篇f 朱 卞 F* 卞tttfft?SFiFf?IF*iF *ttSF-?SF-tF-?IF-ftt?IF單元一重複結構:for壹、觀念介紹條件結構(ifelse)執(zhí)行程式敘述一次,就是上課提過的偶爾出現(xiàn)。重複結構:重複結構可以重複執(zhí)行某一段程式好幾遍,直到條件的不成立才跳 出這個循環(huán)。先前我們教過的while就屬於這類型。今天我們要介紹新的重複結構:forFor的用法附註:1. for中的主要敘述,要用完整的上下大括號”和”包起來。2. 使用for迴圈可以省去使用counter(計數(shù)器)的麻煩,以下
2、範例將讓同學體會。3. 因為同屬重複結構,while 迴圈都可以用for迴圈改寫。貳、操作範例【範例1-1】(檔名:Ex1-1.java)先前我們學到的while結構,可以幫助我們解決以下問題,程式解法如下:使用while結構,讓使用者輸入某位同學的8科成績後,程式能自動計算總分。7: /*程式開女臺 */8:int score ;9:int sum = 0;10:int count = 0;11:while(cou nt8)12:System.out.pri ntl n(”請輸入成績:);13:score = In teger.parse In t(i nput.readL in e();1
3、4:sum = sum + score;15:count = count + 1;16:17:System.out.pri ntl n (”總分為:+sum+分);18 /*程式結束 */現(xiàn)在我們要使用for結構改寫以上的while範例使用for結構,讓使用者輸入某位同學的 8科成績後,程式能自動計算總分。【範例1-1】程式碼8:int score ;9:int sum = 0;10:11:for(int i=0 ; i0; i-)System.out.pr intln(”請猜數(shù)字(120):);guess = In teger.parse In t(i nput.readL in e();
4、if (an swer != guess)System.out.println(Sorry你猜錯了 );elseSystem.out.println(恭喜你猜對了 );i=0;System.out.pri ntl n(*程式結束);程式結束*/【課堂筆記】【習題2】(檔名:Ex1Hw2.java)計算五個等差數(shù)列的總和:請寫一個程式讓使用者輸入等差數(shù)列的 首項及公差,程式會自動印出五個數(shù)列的內容。 程式範例如右下圖所示附註:如果在一數(shù)列中,任意相鄰兩項的後面的項減去前面的項所得的差都是一樣,就稱此數(shù)列 為等差數(shù)列,並稱所得的差為公差。通常以d代表公差,耳代表首項,an代表第n項。a1 =首項a
5、n =印 +(n-1)*d;【習題2】程式碼/*程式開女臺double a, d, num=0;System.out.println(請輸入首項); a = Double.parseDouble(i nput.readL in e();System.out.println(請輸入公差);d = Double.parseDouble(i nput.readL in e();System.out.pri ntln (5 個等差數(shù)列為:程式範例請輸入首項:3請輸入公差:45個等差數(shù)列為:3.07.0 */11.015.019.0I!);for(i nt n=1 ; n=5; n+)num=a+( n
6、-1)*d; System.out.pr intln(nu m);/*程式結束 */【課堂筆記】【習題3】(檔名:Ex1Hw3.java)計算N個等差數(shù)列的總和:請寫一個程式:1. 讓使用者輸入等差數(shù)列總共有幾項2. 讓使用者輸入等差數(shù)列的 首項及公差3. 程式會自動印出五個數(shù)列的內容,並計算總和程式範例請輸入等差數(shù)列總共有幾項4請輸入首項2請輸入公差54個等差數(shù)列為:2.0/*程式開女臺double a, d, N, num=0,sum=0;System.out.pri ntl n(請輸入等差數(shù)列總共有幾項N = Double.parseDouble(i nput.readL in e();
7、System.out.println(請輸入首項);:7.0水*12*0*/17.022.027.O等差數(shù)列的總和為:87.0【習題3】程式碼a = Double.parseDouble(i nput.readL in e(); System.out.println(請輸入公差);d = Double.parseDouble(i nput.readL in e(); System.out.pri ntl n(N+個等差數(shù)列為:);for(i nt n=1 ; n二N; n+) num=a+( n-1)*d; System.out.pr intln(nu m);for(i nt n=1 ; n二
8、N; n+) sum=sum+(a+( n-1)*d);System.out.pri ntl n(”等差數(shù)列的總和為:+ sum );*程式結束 *【課堂筆記】單元二陣列先前我們學過了變數(shù)的概念。 變數(shù):用來存放會變動的數(shù)值或字串。但變數(shù)宣告有時會出現(xiàn)以下問題,我們先進行以下範例:【教師範例1】請寫程式讓使用者分別輸入並儲存八科成績,之後再印出各科成績。你會怎麼寫這個程式呢?【教師範例1】程式碼請教師視課堂時間足夠與否進行,可以教師直接示範或讓學生親身體驗恐怖冗長的程式碼請輸入第一科成績”請輸入第二科成績”請輸入第三科成績”請輸入第四科成績” .你的第一科成績是”你的第二科成績是”你的第三科成
9、績是”你的第四科成績是” 【教師範例2】請寫程式讓使用者分別輸入並儲存八科成績,計算平均後,輸出大於平均的科目有哪幾科【教師範例2】程式碼請教師視課堂時間足夠與否進行,可以教師直接示範或請學生體驗 (程式太長了 本頁放不下,直接用超連結檔案的方式)打開程式範例檔你發(fā)現(xiàn)以上程式的問題了嗎?憫丿王戎兩其實我們可以用另一種方法儲存資料那如果今天你有很多筆資誹斗要存放呢?我們可以使用 陣列就像在 電腦裡放一個檔 案櫃*把要存放 的資料一筆-筆 地存到對應的抽 屜裡。變數(shù)就像足在電腦裡創(chuàng)造一個盤 子1盒內可放任意物品-但規(guī)則 是禽內只能放一樣物品。在程式中,我們往往需要處理大量的資料,為避免宣告上的麻煩
10、,我們以陣列(array)的方式來儲存與使用資料。陣列(array):就是多個擁有相同名稱且相同類型的變數(shù)集合 當需要一個空的陣列時,你可以這樣宣告:int| a = new int4;當需要有內容的陣列時,你可以這樣宣告:doubled a = 1.2, 2.3, 3.8, 4.6,51;使用陣列的優(yōu)點:1. 不用宣告多次。2.使用方便,可用迴圈控制。請教師記得講述陣列是從0開始,宣告八個陣列時,是0叫7,而不是18,所以當需要 存8個資料時,為了方便理解,我們會宣告陣列大小為9, 0讓它浪費掉。現(xiàn)在我們就用陣列來重寫以上兩個範例?!竟犂?-1】(檔名:Ex2-1.java)【教師範例2】的
11、改寫:請寫程式讓使用者分別輸入並儲存八科成績,計算平均後,輸出大於平均的科目有哪幾科【範例2-1】程式碼程式開始*/第+ n +科大於平均);程式結束*/double score = new double9;double sum = 0, ave = 0;for (i nt n=1; n9;n+)System.out.println(請輸入第+ n +科成績);score n二 Double.parseDouble(i nput.readL in e(); sum = sum + score n;ave = sum / 8;System.out.println(”你的平均是 +ave+分);f
12、or (i nt n=1; nave)System.out.pri ntln(”【課堂筆記】【習題1】(檔名:Ex2Hw1.java)剛剛的範例,解決了之前恐怖的教師範例二,現(xiàn)在換你了喔!【教師範例1】的改寫:請寫程式讓使用者分別輸入並儲存八科成績的成績,之後再印出各科成績?!玖曨}1】程式碼程式開始*/20double score = new double9; double sum = 0, ave = 0;for (i nt n=1; n9;n+)System. out .println(請輸入第+ n +科成績); scoren二 Double. parseDouble (input.re
13、adLine();for (i nt n=1; n9;n+)System. out .println(第+ n +科的成績?yōu)?scoren+ 分); 程式結束*/【課堂筆記】【習題2】(檔名:Ex2Hw2.java)請寫一個程式:讓使用者輸入座號110號同學的國文成績。輸入完成後,程式將自動輸出:1. 成績高於90分的同學座號,並輸出”考得很不錯喔!”2. 成績低於60分的同學座號,並輸出”這樣不行喔,要加油啦!”【習題2】程式碼程式開始*/double score = new double11; double sum = 0, ave = 0;for (i nt n=1; n11; n+)S
14、ystem. out .println(” 請輸入+ n +號的國文成績); scoren二 Double. parseDouble (input.readLine(); for (i nt n=1; n=90)System. out .println( n +號同學,考得不錯喔!); else if(score n60)System. out .println( n + 號同學,再加油吧!”);程式結束*/【課堂筆記】單元三循序搜尋法壹、觀念介紹電腦厲害之處在於可以很快的解決一些問題,我們最常用的一個功能就是:用電腦搜尋資料 今天我們就要學習電腦搜尋資料的其中一種方法:循序搜尋法循序搜尋法:
15、從頭到尾依序尋找,直到找到資料為止。配合投影片(超連結)【範例3-1】(檔名:Ex3-1.java)請寫一個程式,查詢陣列中的資料(假設共有100筆資料)。使用者只要輸入要搜尋的數(shù)字, 程式會自動告知這個數(shù)字存在與否。若存在,程式會輸出此數(shù)字在陣列中的第幾號位置。註:1. 請先使用畐【J程式readfile,讀入文件檔【檔名:scoresl.tx】中的資料到陣列中2. readfile使用法如下readfile(檔案名稱.txt,陣列名稱,陣列大?。┐烁背淌綍盐募n中的第一筆資料讀到第一個位置,第二筆資料讀到第二個位置,以此類推。果一想:1. 程式需要用到哪些變數(shù)(包括陣列)?2. 請問,要
16、用何種結構來逐一搜尋所要找的資料?3. 請問,要用何種結構來判斷是否找到資料,並決 定找到時做什麼動作?例如:若存在,輸出資料在第 24號位置“。 若不存在,輸出”對不起,找不到!”【範例3-1】程式碼int array = new in t101;int key, found = 0;程式輸出範例 請輸入你要查詢的數(shù)字(1100):4資料在第24號位置。請輸入你要查詢的數(shù)字(1100):9對不起,找不到!readfile(scores1.txt, array, 100); 將 numbers.txt讀入到陣列中System.out.println(請輸入你要查詢什麼數(shù)字(1100):);ke
17、y = In teger.parse In t(i nput.readL in e();for (int i=1;i=100;i+)if (arrayi= =key)System.out.println(搜尋資料在第+ i + 號位置); found = 1;if (found= =0)System.out.pri ntl n(對不起,找不到!);程式驗證:請打開scores1.txt!案查看內容,看看你的程式是不是寫對了?【習題1】(檔名:Ja3Hw1.java)成績查詢系統(tǒng):黃老師把全班共35人的成績全部依座號次序存在一個文字檔【檔名:scores2.tx】中。請你幫老師寫一個程式,讓他輸
18、入成績,即可查出哪些座號的同學大於該成績,並輸出該位同學 考幾分。最後,請計算出大於此成績的總共有幾人?註1. 可使用副程式readfile,把成績依序讀入陣列中。2. 參考範例1,讓程式印出高於該成績的同學座號 -想:1. 程式需要用到哪些變數(shù)(包括陣列)?2. 回想一下,之前要計算總共幾人或總共幾次的時 候,你都是怎麼做的呢?【習題1】程式碼int score = new in t36; int key = 0 ;int count =0;int found = 0;readfile(scores2.txt, score, 35);System.out.println(” 請輸入你要查詢的
19、分數(shù)(1100) key =In teger.parse In t(i nput.readL in e();程式輸出範例請輸入你要查詢的分數(shù)(1100):94成績大於94分的座號為19號19號的成績是96分成績大於94分的座號為29號29號的成績是95分成績大於94分的座號為30號30號的成績是95分總共有3個同學考的比94分還高請輸入你要查詢的分數(shù)? (1100)99對不起,沒人考的比這個分數(shù)高!for (int i=1;i key )System.out.println(”成績大於+ key +分的座號為+ i + 號);System.out.println( i + 的成績是+ scorei + 分);found = 1;count = count + 1;if(fou nd = 0) System.out.pri ntl n(”對不起,沒人考的比這個分數(shù)高!);else System.out.println(” 總共有+ count +
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國衣筐行業(yè)投資前景及策略咨詢研究報告
- 2025年男士運動裝項目可行性研究報告
- 2025年激光盤點儀項目可行性研究報告
- 2025年柔絲特潤玉手霜項目可行性研究報告
- 2025年方竹筍項目可行性研究報告
- 2025至2031年中國女士短襪行業(yè)投資前景及策略咨詢研究報告
- 2025年噴霧手槍項目可行性研究報告
- 2025至2030年中國黃金鳥數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國香味硅膠數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年鋼塑柔性復合管項目投資價值分析報告
- 《無菌檢查培訓》課件
- 2024-2030年中國香菇行業(yè)銷售狀況及供需前景預測報告
- 2024年廣東省公務員錄用考試《行測》真題及解析
- 幼兒園開學師德培訓
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 金蛇納瑞2025年公司年會通知模板
- GB/T 16288-2024塑料制品的標志
- 《記念劉和珍君》課件
- 中小型無人駕駛航空器垂直起降場技術要求
- 北京市城市管理委員會直屬事業(yè)單位公開招聘10人高頻難、易錯點500題模擬試題附帶答案詳解
- 禁止送禮的協(xié)議書
評論
0/150
提交評論