信息學(xué)奧賽:基礎(chǔ)課件《夢(mèng)想啟航-編程改變思維》_第1頁(yè)
信息學(xué)奧賽:基礎(chǔ)課件《夢(mèng)想啟航-編程改變思維》_第2頁(yè)
信息學(xué)奧賽:基礎(chǔ)課件《夢(mèng)想啟航-編程改變思維》_第3頁(yè)
信息學(xué)奧賽:基礎(chǔ)課件《夢(mèng)想啟航-編程改變思維》_第4頁(yè)
信息學(xué)奧賽:基礎(chǔ)課件《夢(mèng)想啟航-編程改變思維》_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、夢(mèng) 想 啟 航信息學(xué)奧賽:基礎(chǔ)課件有夢(mèng)就有花開(kāi)的地方編程改變思維為什么要學(xué)習(xí)編程?比爾蓋茨說(shuō):“學(xué)習(xí)編程可以鍛煉你的思維,幫助你更好地思考,創(chuàng)建一種我認(rèn)為在各領(lǐng)域都非常好用的思維方式?!甭槭±砉W(xué)院的切爾雷斯尼克說(shuō):“當(dāng)你學(xué)會(huì)編程,你會(huì)開(kāi)始思考世界上的一切過(guò)程?!本幊谈淖兯季S為什么要學(xué)習(xí)編程?2015年,美國(guó)政府投入40億美元推動(dòng)全美孩子學(xué)習(xí)編程,他們?yōu)槭裁慈绱酥匾暰幊蹋课磥?lái)的世界一定是智能化、自動(dòng)化的世界,與大數(shù)據(jù)、人工智能等技術(shù)相關(guān),而這一切的基礎(chǔ)是程序。編程改變思維為什么要學(xué)習(xí)編程?學(xué)會(huì)編程:1就能在計(jì)算機(jī)無(wú)處不在的世界里,更高效的使用計(jì)算機(jī);2學(xué)會(huì)編程就能更好地讀懂世界、適應(yīng)世界、創(chuàng)造

2、未來(lái)世界。編程改變思維為什么要學(xué)習(xí)編程?做為中小學(xué)生,小小年紀(jì)我們就學(xué)習(xí)編程,究竟是為了什么呢?難道為了我們將來(lái)能成為程序員?不是的,而是為了在學(xué)習(xí)中,開(kāi)發(fā)智力、培養(yǎng)創(chuàng)造力,學(xué)會(huì)運(yùn)用計(jì)算思維解決問(wèn)題,學(xué)會(huì)編程就擁有了一筆巨大的財(cái)富。編程改變思維為什么要學(xué)習(xí)編程?正因?yàn)榫幊倘绱酥匾袊?guó)計(jì)算機(jī)學(xué)會(huì)從1984年起,每年都舉行“青少年信息學(xué)奧林匹克賽事,包括全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽(NOIP)和競(jìng)賽(NOI)等”,希望通過(guò)比賽促進(jìn)學(xué)校、社會(huì)開(kāi)展程序教學(xué)。信息學(xué)奧賽介紹一 、信息學(xué)奧林匹克競(jìng)賽介紹面向全國(guó)中學(xué)生的一種競(jìng)賽活動(dòng)旨在激發(fā)中學(xué)生在計(jì)算機(jī)科學(xué)方面的興趣培養(yǎng)他們的邏輯思維能力給那些有才華的學(xué)

3、生提供相互交流和學(xué)習(xí)的機(jī)會(huì)通過(guò)競(jìng)賽和相關(guān)的活動(dòng)培養(yǎng)和選拔優(yōu)秀的計(jì)算機(jī)后備人才。 信息學(xué)奧賽介紹二、信息學(xué)奧林匹克競(jìng)賽賽事1.NOIP(全國(guó)信息學(xué)奧林匹克聯(lián)賽)National Olympiad in Informatics in Provinces 2.NOI (全國(guó)信息學(xué)奧林匹克競(jìng)賽) National Olympiad in Informatics3.IOI (國(guó)際信息學(xué)奧林匹克競(jìng)賽)International Olympiad in Informatics信息學(xué)奧賽介紹三、NOIP 聯(lián)賽初賽:10月中旬(周六/周日下午2:30-4:30)筆試(100分)資格賽,地市獨(dú)立組織(全國(guó)統(tǒng)一命題

4、,統(tǒng)一時(shí)間)復(fù)賽:11月份中旬(第二周,提高組周六周日上午3.5個(gè)小時(shí),普及組周六下午3個(gè)小時(shí))上機(jī)編程兩試:每試3個(gè)題目,300分,共600分。提交源程序,黑盒子測(cè)試法。夢(mèng)想啟航引例:60秒彩色閃屏倒計(jì)時(shí) 夢(mèng)想啟航1.讓計(jì)算機(jī)代替你跟我們打個(gè)招呼“wawawawawawawawawawa”。 夢(mèng)想啟航 夢(mèng)想啟航2.讓自己的“wawawawawawawawawawa”帶有色彩。 夢(mèng)想啟航system(color F5);“F”在前面,代表背景色,是白色的;“5”在后面,代表文字顏色,是紫色的。 設(shè)置背景色和文字顏色的方法是: 在color后面加上兩個(gè)一位數(shù)字,第一個(gè)數(shù)字表示背景色,第二個(gè)數(shù)字表

5、示文字顏色。如果在color后面只加了一個(gè)一位數(shù)字,則表示只設(shè)置文字顏色,背景色仍然使用默認(rèn)的顏色。0=黑色1=藍(lán)色2=綠色3=湖藍(lán)色4=紅色5=紫色6=黃色7=白色8=灰色9=淡藍(lán)色A=淡綠色B=淡淺綠色C=淡紅色D=淡紫色E=淡黃色F=亮白色。 夢(mèng)想啟航練習(xí)1:輸出自已多彩的英文名字,沒(méi)有的則輸出中文名字全拼。 夢(mèng)想啟航3.動(dòng)手試一試:讓計(jì)算機(jī)打印這個(gè)小隊(duì)旗圖案(白底紅字)。AI*I*I*I*I*IIII 夢(mèng)想啟航4.倒計(jì)時(shí)3秒。分析:先出現(xiàn)3,等待1秒,出現(xiàn)3的地方出現(xiàn)2,等待1秒,最后出現(xiàn)0,等待1秒。 夢(mèng)想啟航練習(xí)2.動(dòng)手試一試 * A * * BC * * DEF * * GHIJ

6、 * KLMNO圖一 圖二 圖一代碼:圖二代碼: 夢(mèng)想啟航如何讓計(jì)算機(jī)對(duì)我們隨意給的兩個(gè)數(shù)進(jìn)行加減乘除等各種運(yùn)算呢?因?yàn)槲覀冸S意給的兩個(gè)數(shù)是不定的,是變化的。這需要計(jì)算機(jī)提供不同數(shù)據(jù)類(lèi)型的“小房子”來(lái)存放這些變化的數(shù),這些“小房子”我們給它個(gè)名字,叫“變量”。 夢(mèng)想啟航5.求兩個(gè)整數(shù)的加法。問(wèn)題分析:說(shuō)明三個(gè)整數(shù)變量a,b,c,分別放被加數(shù)、加數(shù)、和。給被加數(shù)a和加數(shù)b賦值。根據(jù)輸入的兩個(gè)操作數(shù)算出和c。輸出和c。代碼一:用賦值語(yǔ)句賦值代碼二:用cin語(yǔ)句輸入賦值代碼二:用cin語(yǔ)句輸入賦值(加提示) 夢(mèng)想啟航6.求兩個(gè)整數(shù)和兩個(gè)浮點(diǎn)數(shù)的除法。分析:用a、b變量存儲(chǔ)兩個(gè)int 類(lèi)型,c放整數(shù)商

7、,用d、e變量存儲(chǔ)兩個(gè)float類(lèi)型(也可以是doule類(lèi)型,要看題目要求而定),f 存放浮點(diǎn)數(shù)的商。代碼如下: 夢(mèng)想啟航同樣都是5除以2,為什么整數(shù)的商為2?浮點(diǎn)數(shù)的商為2.5呢?這是因?yàn)檎麛?shù)的除法只取整除的商,而浮點(diǎn)數(shù)則不是。整數(shù)還有一個(gè)取余數(shù)的運(yùn)算符:%。5%2=1,結(jié)果為余數(shù)。 夢(mèng)想啟航7.打印字符a后面的字母。分析:字符a后面的字符是b,等于a+1。代碼如下:各個(gè)數(shù)據(jù)類(lèi)型 夢(mèng)想啟航 夢(mèng)想啟航7.整型數(shù)據(jù)類(lèi)型存儲(chǔ)空間大小分析:分別定義int,double類(lèi)型的變量各一個(gè),并依次輸出它們的存儲(chǔ)空間大小(單位:字節(jié))。代碼如下:各種語(yǔ)句的格式 夢(mèng)想啟航1.定義變量變量的類(lèi)型 變量的名稱(chēng) ,

8、 變量的名稱(chēng), ;例如:int a,b;2.輸入語(yǔ)句(也叫輸入流)cinCin變量1變量2變量n;其中“”是預(yù)定義的插入運(yùn)算符,作用在“cin”上,實(shí)現(xiàn)鍵盤(pán)輸入。例如:輸入雙精度浮點(diǎn)數(shù)a,b寫(xiě)為cinab;各種語(yǔ)句的格式 夢(mèng)想啟航3.輸出語(yǔ)句(也叫輸出流)coutcout表達(dá)式1表達(dá)式2表達(dá)式n;其中“”是預(yù)定義的插入運(yùn)算符,作用在“cout”上,實(shí)現(xiàn)屏幕輸出,輸出結(jié)果依次為各個(gè)表達(dá)式的值。例如:輸出一個(gè)表達(dá)式的值:cout3+4/2-4。各種語(yǔ)句的格式 夢(mèng)想啟航4.賦值語(yǔ)句=;賦值語(yǔ)句的功能是:首先計(jì)算表達(dá)式的值,再賦給賦值號(hào)左邊的變量。對(duì)任意一個(gè)變量必須先賦值,然后才能引用,否則未賦值的變

9、量將以一個(gè)隨機(jī)值參與運(yùn)算。例如:float pi=3.14,char ch1=x。 夢(mèng)想啟航8.交換兩個(gè)整數(shù)的值。分析:這道題類(lèi)似于生活中醬油和醋的故事。話(huà)說(shuō)一瓶醋,一瓶醬油,想在醬油和醋不混合的情況下,交換。拿一空瓶,先把醋倒空瓶里,再把醬油倒醋瓶里,然后把醋倒到醬油瓶里。C+輸入輸出流語(yǔ)句代碼如下:C輸入輸出語(yǔ)句代碼如下: 夢(mèng)想啟航練習(xí)3:交換兩個(gè)整數(shù)的值。(用數(shù)學(xué)方法完成交換)C+輸入輸出流語(yǔ)句代碼如下:C輸入輸出語(yǔ)句代碼如下:(學(xué)生自己寫(xiě))C+賦值運(yùn)算符 夢(mèng)想啟航簡(jiǎn) 寫(xiě)含 義簡(jiǎn) 寫(xiě)含 義a+=ba=a+ba&=ba=a&ba-=ba=a-ba|=ba=a|ba*=ba=a*ba=ba=

10、aba/=ba=a/ba=ba=a=ba=aba+,+aa=a+1a-,-aa=a-1 夢(mèng)想啟航9.求出一個(gè)三位數(shù)每個(gè)位上的數(shù)字值。(全面認(rèn)識(shí)一下C+語(yǔ)言程序的組成)分析:根據(jù)整數(shù)的“/”整除運(yùn)算和“%”取除運(yùn)算把百位、十位和個(gè)位上的數(shù)字取出來(lái)。 夢(mèng)想啟航#include /*以符號(hào)“#”開(kāi)頭的行稱(chēng)為編譯預(yù)處理行,也叫頭文件,所用的cin、cout、endl都在頭文件里。*/using namespace std; /為變量名開(kāi)辟內(nèi)存空間int main() /主程序 /程序開(kāi)始 int n,a,b,c; /變量說(shuō)明 cinn; /從鍵盤(pán)輸入一個(gè)三位數(shù)n a=n/100; /求出百位上的數(shù)字,

11、賦值給a b=n/10%10; /求出十位上的數(shù)字賦值給b c=n%10; /求出個(gè)位上的數(shù)字賦值給c couta b cendl; /依次輸出百位、十位、個(gè)位上的數(shù)字a、b、c return 0; /結(jié)束 /程序結(jié)束“/”是內(nèi)容在同一行的注釋符號(hào);“/*/”是內(nèi)容不在同一行的注釋符號(hào)。 夢(mèng)想啟航10.轉(zhuǎn)換字符的大小寫(xiě),把大寫(xiě)轉(zhuǎn)換成小寫(xiě),把小寫(xiě)轉(zhuǎn)換成大寫(xiě)。分析:輸入入大寫(xiě)。轉(zhuǎn)換為小寫(xiě),輸入小寫(xiě),轉(zhuǎn)換為大寫(xiě)。C+輸入輸出流語(yǔ)句代碼如下:C輸入輸出語(yǔ)句代碼如下: 夢(mèng)想啟航無(wú)論是整數(shù)、浮點(diǎn)數(shù)、字符,還是布爾類(lèi)型,在計(jì)算機(jī)內(nèi)部都要以數(shù)值的形式存儲(chǔ)的。所有字符采用ASCII編碼,ASCII編碼共有128

12、個(gè)字符。如字符A的序號(hào)是65,字符a的序號(hào)是97, 字符0的序號(hào)的48。在程序中,通常用一對(duì)單引號(hào)將單個(gè)字符括起來(lái)表示一個(gè)字符常量。如:a,A,0等。ASCII編碼 夢(mèng)想啟航ASCII編碼序號(hào)字符序號(hào)字符序號(hào)字符序號(hào)字符序號(hào)字符序號(hào)字符32空格4806480P96112p33!49165A81Q97a113q34”50266B82R98b114r35#51367C83S99c115s36$52468D84T100d116t37%53569E85U101e117u38&54670F86V102f118v3955771G87W103g119w40(56872H88X104h120 x41)5797

13、3I89Y105i121y42*58:74J90Z106j122z43+59;75K91107k12344,6078N94110n12647/63?79O95_111o127deL 夢(mèng)想啟航轉(zhuǎn)義字符表示形式。 轉(zhuǎn)義字符有三種用法:表示控制字符、表示特殊字符、表示所有字符。常用的轉(zhuǎn)義字符如右表所示。轉(zhuǎn)義字符轉(zhuǎn)義字符含義n換行t水平制表b退格r回車(chē)(不換行)0空字符單引號(hào)”雙引號(hào)一個(gè)反斜杠字符ddd13位八進(jìn)制數(shù)所代表的字符xhh12位十六進(jìn)制數(shù)所代表的字符 夢(mèng)想啟航 C語(yǔ)言的scanf語(yǔ)句和printf語(yǔ)句,并不認(rèn)識(shí)讀入的、輸出的是什么類(lèi)型的數(shù)值,所以需要在“”中用“%”+數(shù)值類(lèi)型來(lái)表達(dá),比如整

14、型用“%d”,超長(zhǎng)整型用“%lld”,單精度浮點(diǎn)數(shù)用“%f”,多精度浮點(diǎn)數(shù)用“l(fā)f”,字符型用“%c”,字符串用“%s”。c語(yǔ)言的scanf語(yǔ)句和printf語(yǔ)句 夢(mèng)想啟航scanf語(yǔ)句和printf語(yǔ)句的區(qū)別:1.scanf語(yǔ)句是讀入語(yǔ)句,printf語(yǔ)句是輸出語(yǔ)句。2、讀入比輸出在a前面多一個(gè)“&”符號(hào)?!?”符號(hào)是變量在計(jì)算機(jī)內(nèi)部的地址。因?yàn)樵谧x入數(shù)據(jù)的時(shí)候,計(jì)算機(jī)需要把讀入的值存放在變量中,需要知道指定的變量的地址,才能把值成功地放進(jìn)變量中,但是在輸出的時(shí)候,值已經(jīng)在變量中了,就可以直接輸出到屏幕上。3、printf可以輸出字符串常量,例如:printf(“Hello world! ”

15、),但scanf則不能輸入。scanf語(yǔ)句和printf語(yǔ)句 夢(mèng)想啟航11.求長(zhǎng)方形的周長(zhǎng)和面積分析:設(shè)長(zhǎng)方形的長(zhǎng)和寬分別為a和b,利用求周長(zhǎng)c=2*(a+b)和面積s=a*b,求出長(zhǎng)方形的周長(zhǎng)和面積。C+輸入輸出流語(yǔ)句代碼如下:C輸入輸出語(yǔ)句代碼如下:練習(xí)4:求正方形的周長(zhǎng)和面積 夢(mèng)想啟航12.求圓的周長(zhǎng)和面積分析:設(shè)圓的周長(zhǎng)為c,面積為s,半徑為r,則周長(zhǎng)c=2*r,面積s=*r*r,因?yàn)橄ED字母不能出現(xiàn)在程序中,且為常量,我們用常量在程序中說(shuō)明。C+輸入輸出流語(yǔ)句代碼如上圖C輸入輸出語(yǔ)句代碼如下: 夢(mèng)想啟航在這里主要介紹利用C+標(biāo)準(zhǔn)庫(kù)提供的操作符函數(shù)控制輸出寬度、填充字符和精度的方法。需

16、要注意的是在使用這些操作符函數(shù)時(shí)需要包含頭文件iomanip,即將文件iomanip中的內(nèi)容寫(xiě)入到程序當(dāng)中。 輸出流cout的格式化輸出 夢(mèng)想啟航在這里主要介紹利用C+標(biāo)準(zhǔn)庫(kù)提供的操作符函數(shù)控制輸出寬度、填充字符和精度的方法。需要注意的是在使用這些操作符函數(shù)時(shí)需要包含頭文件iomanip,即將文件iomanip中的內(nèi)容寫(xiě)入到程序當(dāng)中。 輸出流cout的格式化輸出 夢(mèng)想啟航設(shè)置輸出寬度的函數(shù):setw(寬度值) 我們可根據(jù)輸出格式的要求使用此函數(shù)在輸出語(yǔ)句中自動(dòng)定義每個(gè)輸出項(xiàng)的寬度。 如果域?qū)挶刃枰膶挾刃≡趺崔k?例如我輸出上面程序的n,它的域?qū)挒?,但我設(shè)為2;不用怕,C+自動(dòng)設(shè)為最小的實(shí)際寬

17、度,即n需要的3位。 若不使用setw(int)設(shè)定,則各項(xiàng)默認(rèn)寬度為0,所以是按實(shí)際需要位數(shù)顯示的。 對(duì)于浮點(diǎn)型數(shù)據(jù),若設(shè)定寬度超過(guò)其實(shí)際寬度,是通過(guò)在其小數(shù)最后位之后被“0”來(lái)達(dá)到設(shè)定寬度的。 輸出流cout的格式化輸出 夢(mèng)想啟航設(shè)置輸出填充字符的函數(shù):setfill(填充字符)此函數(shù)常與setw()函數(shù)聯(lián)合使用,達(dá)到向不滿(mǎn)設(shè)置輸出寬度的空間填入指定字符的目的,不設(shè)置則填充空格。例:數(shù)據(jù)按寬度輸出,前面空格以其它字符填充。如:coutsetw(6)setfill($)27;則輸出為:$27。$需加單引號(hào),則輸出總長(zhǎng)度為6個(gè),若長(zhǎng)度不夠,則在前面填充$。又如:coutsetfill()set

18、w(5)255endl;則輸出為:255 輸出流cout的格式化輸出 夢(mèng)想啟航設(shè)置輸出精度的函數(shù):setprecision(有效位數(shù))此函數(shù)用來(lái)指明顯示浮點(diǎn)型數(shù)據(jù)的有效位數(shù),可用的最后一位的值四舍五入。 例如:#include #include using namespace std;int main()float a=10.0/3,b=2.0/3;couta bendl;coutsetprecision(2)a b0,說(shuō)明多計(jì)算了腳數(shù),凡是雞都多計(jì)算了兩只腳,用它除以2就能得到雞的只數(shù),算法為: j=(4*h - f)/2 /先用腳數(shù)差值除以2算出雞的只數(shù) t=h - j /再用總頭數(shù)減雞數(shù)算出免的只數(shù) 夢(mèng)想啟航 夢(mèng)想啟航練習(xí)6:歌手大獎(jiǎng)賽上6名評(píng)委給一位參賽者打分,6個(gè)人打分的平均分為9.6分;如果去掉一個(gè)最高分,這名參賽者的平均分為9.4分;如果去掉一個(gè)最低分,這名參賽者的平均分為9.8分;如果去掉一個(gè)最高分和一個(gè)最低分,這名參賽者的平均是多少?參考程序:#include Using namespace std;int main() float high,low, sall, shigh, slow,ans; sall=6*9.6; /求6名評(píng)委的總分 shigh=5*9.4; /求去掉最高分后的總分 slow=5*9.8; /求去掉最低分后的總分 high= sall

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論