下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、很好的教程(帶實例)推薦第一篇:講一下。主要面向菜鳥,懂得編程的朋友就不要浪費時間了, 如果你想接觸以下也可以。 但既然有編程基礎推薦直接去找一些 參考書來讀。會比較快。什么是呢?的全稱是: .( 微軟公司可視化腳本版 ) 。正 如其字面所透露的信息, (的進一步簡寫 ) 是基于 的腳本語言。 我進一步解釋一下, 是微軟公司出品的一套可視化編程工具, 語法基于 . 腳本語言,就是不編譯成二進制文件,直接由宿主()解釋源代碼并執(zhí)行, 簡單點說就是你寫的程序不需要編譯成, 而 是直接給用戶發(fā)送的源程序,用戶就能執(zhí)行了。我知道菜鳥現在最關心的就是用什么工具來開發(fā)程序了, 答 案是:記事本 (). 我
2、不是開玩笑,其實任何一種文本編輯器都可 以用來開發(fā)開發(fā), 只不過記事本是由系統(tǒng)自帶的, 比較好找而已 . 盡管如此, 我還是建議你去下載一個專業(yè)的文本編輯器, 因為這 些工具可以提供 " 語法高亮 " 等功能,更加方便開發(fā),用哪一個 隨你喜好,我比較喜歡 (2.10).,我們先來寫一個程序熱熱身輸入并回顯你的名字' 使用和函數" 請輸入你的名字 :"(," 名稱 ")()把上面的程序清單輸入到記事本里面, 然后保存為以為擴展 名的文件 (" 保存類型 " 里面選擇 "所有文件 "). 然
3、后雙擊運行,觀 察運行結果 . 注意: 請自己輸入程序清單,不要復制 -粘貼 !我來解釋一下這個程序,第一行和第二行的開頭分別是 " 語句和 " ' " ,這兩個東西的作用是相同的,表示本行是注釋行, 就是說這兩行什么也不干 , 只是用來說明這段程序的功能,版權 信息等等 . 注釋行是程序最重要的部分之一,盡管它不是必需 的,但對于其他人閱讀源代碼, 以及自己分析源代碼是很有好處 的. 好的習慣是在必要的地方加上清晰,簡潔的注釋。用來聲明一個變量,在中,變量類型并不是那么重要,就是 說會幫你自動識別變量類型,而且變量在使用前不一定要先聲 明,程序會動態(tài)分配
4、變量空間 . 在中你不用考慮儲存的是一個整 數還是一個小數 ( 學名叫 " 浮點數 ") ,也不用考慮是不是字符串 ( 一串字符,比如 :" ") ,會自動幫你搞定 . 所以第三行語句可以 刪除,效果不會變,但我強烈反對這么做,一個變量的基本原則 就是:先聲明 ,后使用 .變量名用字母開頭 ,可以使用下劃線 ,數 字,但不能使用已經定義的字,比如,也不能是純數字。下一行被稱之為 "賦值" ,"=" 是賦值符號,并不是數學中的 等于號,盡管看起來一樣 . 這是正統(tǒng)的理解,你要理解成等于也 沒有什么不可 . 賦值號的左
5、邊是一個變量, 右邊是要賦給變量的 值,經過賦值以后, 這個變量在程序中等同于 "請輸入你的名字 :" 這個字符串 , 但當被再次復制的時候,原值就會消失 . 不光字符 串,其他任何變量都這樣被賦值,例如 : 2 ,12.222 等等。再往下和是內建的函數, 一個函數就相當于一個 " 黑箱 " ,有 輸入(參數)和輸出 (返回值 ) ,你可以不用了解函數是怎么運作 的,只要了解這個函數能干什么就行了, 我們也可以定義自己的 函數,不過那要等到以后再講 . 現在我們只要了解, 一個函數可 以有返回值也可以沒有, 可以有參數也可以沒有 . 例如就是有返 回值
6、的函數, 我們用賦值號左邊的變量來 "接" 住的返回值就是你 輸入的內容 . 在右邊的括號里是參數列表,每個參數用 "," 分隔 開,每個參數有不同的功效,比如第一個參數會顯示在提示里, 我們把這個變量作為第一個參數傳給了函數,而" 請輸入你的名字:" ,所以我們在對話框的提示欄就會看到 “請輸入你的名字: ” 第二個參數是對話框的標題,我們用直接量 (學名叫 "常量",這 里是 " 字符串常量 ") 傳遞給函數,當然你也可以傳遞變量 . 還有 很多參數,比如你在 "名稱"
7、后面再加一個 "," 然后輸入隨便一串 字符(字符串 , 用雙引號 "" 包裹起來的一串字符叫做字符串 )然后 運行,看看結果 . 你會發(fā)現用于輸入的文本框有了默認的值, 這 就是第三個參數的作用。函數是用來輸出的函數,在中沒有專門的輸出函數 ( 中的中 的) ,所以我們只能用對話框來觀察輸出結果,的必要參數只有 一個,就是要輸出的內容,在這種情況下,我們不需要理會的返 回值. 關于和我們以后還會在討論, 今天只是熱熱身, 到此為止 .要點:1) 注釋( 以或' 開頭)行在程序中不起作用, 但能讓別人更容易讀 懂你的程序 .2) 變量好像一個盒子
8、, 或一個代號, 可以代表你想代表的東西 變量賦值使用 "="3) 以"" 包裹起來的字符稱之為 "字符串 "4) 函數像一個 "黑箱" ,有參數和返回值, 用"=" 左邊的變量可以 接住返回值5) 函數彈出一個輸入對話框,則用于輸出 作業(yè):1) 試驗的第三個參數2) 寫一段程序輸出你的年齡3) 寫一段程序進行 3 次輸入,分別輸入你和你父母的姓名 ( 要求 顯示提示 ) ,并分 3 次輸出。第二篇:我真沒想到,第一次的作業(yè)竟然有人不會??磥硪v的非常非常細致才行,嗯,今天講各種“量”和基 本運
9、算。先說常量,這個比較簡單。 什么是常量呢,常量就是其值不可變化的量。常量分為兩種:第一種,自然常量。這叫是因為它們本身就是常量,你怎么更改 21 的值呢 ? 他永遠都是 21,不可能變成 46如果你在程序中使用 "21=46" ,這樣的語句將會引發(fā)一個錯 誤。同樣的,字符串也是常量 ( 還記得字符串嗎 ? 就是包裹在 "" 之間的一串字符 ) ," "就是一個例子,如果你使用 " "="" 這樣的 語句同樣會引發(fā)一個錯誤。你能舉出自然常量的更多例子嗎?第二種,是我們自己定義的常量,這種量也使用
10、代號,他們 也被賦值,但和變量的不同點在于,他們在定義的時候被賦值, 以后就不能改變了, 如果企圖改變將會引發(fā)一個錯誤。 定義一個 變量,我們使用 "" 這個關鍵字 ( 關鍵字的意思是系統(tǒng)定義了有特 殊功能的字,不能作為變量名或常量名使用 ) ,格式是: 常量名 =常量值例如:3.1415926" 記憶碎片 "這樣我們就定義了兩個常量,和,一般說來,常量名全部使 用大寫,但也可以不用,隨你喜好。將一些在程序中不需要改變 的值定義為常量是個好習慣,這樣能防止不必要的意外。另外, 使用自定義常量也可以減少你的工作量。 比如:這個程序輸出五次 ,如果你想要改變
11、輸出為,就必須修改 全部程序,當然你可以手動修改 5 次,但如果你要輸出 1000 次 呢?常量就可以替我們解決這個問題:()()()()()這樣當你要修改輸出的時候只要修改的值就行了。好了,現在我們來看看編程的第一塊重要“基石” :變量 解釋變量最好的辦法我覺得是 “盒子”,一個變量好像一個盒子,里面只能裝一個東西, 當你要裝進去別的東西的時候必須把原有 的東西拿出來。這個“盒子”是有名稱的,當你在程序中使用變 量的時候, 系統(tǒng)會打開盒子取出里面的東西, 讓這些東西參與處 理,而不是盒子。 有些語言是很依賴 “盒子” 里面裝些什么東西, 這樣才能找到合適的“盒子”(比如C語言),但給我提供的
12、是能 夠自動伸縮的“魔術盒” ,我們不用關心裝進去的是什么東西, 會自動調整盒子的大小。例如:a123a1=14a2=12.23a3=""而不用像C語言那樣麻煩,或者是的正規(guī)聲明(可以聲明也 可以不用)那樣:a1; a1a2; a2 * a3; a3 a1=14; a1=14 a2=12.23; a2=12.23 a3="" a3="嗯扯遠了變量有什么用呢?哇,那用處可大了。最簡單,你并不能確 定程序運行時變量的值,比如前一節(jié)課我們編的輸入姓名的程 序,你不能確定返回的是什么 (還記得的返回值嗎?就是你輸入 的內容),所以你就沒有辦法應對各種情
13、況,但我們用這個“盒 子”把用戶的名字裝起來, 到用的時候我們只要知道這個盒子的 名字就行了, 系統(tǒng)會自己打開他并把里面的內容拿出來用。 再舉 個例子, 我們編寫一個程序計算一個矩形的面積, 比如這個程序 要發(fā)給小學生使用:1512*b(s)這樣就可以求出長為 15,寬為 12 的矩形的面積了,是不是 很簡單?當然, 這個程序也可以這樣寫:15*12 (s)這樣看起來程序短了許多, 也節(jié)約內存, 但并不是鼓勵的做 法,為什么?請看下面?,F在,我們的程序要變得像點樣子才行, 誰的程序寫出來還 要別人修改源代碼才能用???所以,我們要接受用戶的輸入,還記得嗎?函數。修改后程序如下:(" 請
14、輸入矩形的長 :")(" 請輸入矩形的寬 :")*b(s),這么一修改,無論用戶輸入怎樣的數據,我們都能計算出 矩形的面積了。如果你用 15*12 能改嘛?當然不行。我想你已經發(fā)現了, 中的數學計算和真正的算術沒有什么不同, ,*,(), 都是一樣的用法,比如:12+32/4+(23-10)*2()四則運算的法則在編程中同樣生效, 你可以在編程中重新獲 得小學時候的樂趣(你恨數學?那就別學電腦了) 。在編程中有一個有趣的運算符是 "" ,這個運算符叫做 " 取余 運算符 " ,就是取得一次除法的余數,例如:a16 5你知道a
15、等于幾嗎? !沒錯,就是1。因為16 / 5 =31,所以計算的結果就是 1。還有一個運算符是"A"(就是鍵盤“ 6”上面的小箭頭),他表示“乘冪”(或者是“方” ),比如:八2八3(a)(c)則*4 ,*a*8我們一次不要講太多,這次就講到這里,現在總結一下。要點:1) 常量分為自然常量和自定義常量,常量的值不可修改2) 變量就像盒子,我們不在乎盒子里裝的是什么,但一定要知 道盒子的名字3) 四則運算在編程中沒有任何不同4) 是取余運算作業(yè):1) 編一個程序,計算圓形的面積,半徑由用戶給出 ( 使用 ) 取 值 3.141592) 編一個程序取得 20 / 3 的余數估計
16、大家看累了,我來個大話西游 2 游戲計算器的實例吧。小黑在幫派門口擺攤賣藥, 今天共賣了 56 個靈異天香, 每 個的出售價格為 2170 ,那么他賺了多少錢? (藥店出售的靈異 天香價格為 2160)在題目中, 56和 2170是變量。大家可以想想代碼怎么寫, 然后再往下看。" 小黑在幫派門口擺攤賣藥, 今天共賣了 n 個靈異天香, 每個的 出售價格為 m ,那么他賺了多少錢? "(," 靈異天香個數 n"," 請在此輸入靈異天香個數 n")(," 每個售價 m"," 請在此輸入每個藥的出售價格 m&q
17、uot;)(2160)*n(" 答案: " & x)把這段代碼復制粘貼到文本文件, 然后把文本文件后綴改為雙擊 運行看看效果。 如果看不到后綴, 去我的電腦 - 控制面板 - 文件夾 選項-查看 -去掉“隱藏已知文件類型的擴展名”對勾 -確定就行第三篇:是因為我改過前面首先,我來解決一下上次課程的幾個疑問 第一,那個余數問題, 16 / 5 = 3.1, 的部分 , 后面的忘了改了,不好意思。第二,請看一下程序清單:1)("a 是:"," 輸入半徑 ")("b 是:"," 輸入半徑 ")
18、(c)這個 輸入 1、 2 時是 62)("a 是:"," 輸入半徑 ")("b 是:"," 輸入半徑 ")()*2(c)這個輸入 1、2 時是 24為什么會不一樣呢 ? 在數學上 ()*2 和 *2*2 是等價的 , 在中 也是如此 . 問題出在 "+" 上, 在中, + 不僅僅是加號的意思還表 示把兩個字符串連接起來 , 例如 ""+""="" ? 你還記得函數的 返回值嗎?是字符串!這就看出問題了吧,在編程中 "1&qu
19、ot; 不等于 (<>)1, "1" 是一個字符 , 而 1 是一個數,所以都是字符串變量, "1"+"2"="12", 這就好像我們小時跟伙伴開玩笑問他們 1+1=?一 樣,我們總是笑著說“錯啦,應該是 11”,但為什么, a 可以 *2 卻不發(fā)生錯誤呢?這是比較智能的一個表現, 如果這個字符串的 內容是一個數且對他進行數學運算, 則把字符串強制轉換成數參 與運算,如果字符串代表一個數,但不參加數學運算,而是參加 字符串運算 (合并 )則當作字符串處理,所以你看到 12,這時候 的結果(12) 是一個
20、字符串, 當它要乘以 2的時候就被強制轉換成了數字 12,這樣我就得到了結果 24怎么修改這個程序呢?我們需要用到另一個內建的函數:函數的功能是將輸入值轉化成整數值,我們這樣修改: (a)(b)*2這個意思就是把 a 作為參數傳遞給函數, 函數就會返回那個 整數 (你的輸入值 ) ,然后讓返回值參與運算, 這樣就得到了正確 答案。所以,以后如果你用的是函數的話, 最好用語句加工一下: 比如(c) 'c 是你自己的變量。大家是不是覺得這個課程有點枯燥。 呵呵,變量和運算符部 分的確是這樣的,不過多多練習也就好了。這次,我們寫寫真正 好玩的東西:流程控制語句。這個部分開始才是真正的編程。首
21、先介紹判斷結構 .在此之前 , 我們先介紹一種簡單的變量類型 :布爾值 (), 這 種變量只有兩個可能值 , 即真或假 . 這種變量在某些情況下很有 用( 比如 "開關 "). 我們定義一個變量的方法和其他變量一樣 , 賦值也一樣 , 例如 :注意和 "" 是不一樣的是字符串是布爾值 , 千萬不能混淆.回到語句上來 , 我們先來看看簡化版的語句 判斷式 語句 體 我們來看一個例子 :1213b>a ("B 大于 A")我們只看最后一行 , a>b 這個式子 ( 表達式 ) 有一個返回值 , 是型的. 因為這個式子只有兩種可
22、能大于 a, b 不大于 a, 所以 這個式子也只有兩種可能性 , 即真或者假 . 語句判斷這個表達 式的返回值是真還是假 , 如果是真 () 則執(zhí)行后面的語句 , 如果 是假,則不執(zhí)行,你把a的值改成14看看還會不會彈出對話框?當我們要在判斷之后執(zhí)行多行語句怎么辦呢 , 我們需要用 語句塊來解決 , 在這里可以叫塊1213a<b("A 小于 B")("B 大于 A")兩個函數夾在和 之間 , 這個部分就是語句塊 , 塊里的每一 條語句之前請空出 48( 一個<>鍵) 個格, 這不是必需的 , 但是是 一個好習慣 , 以便看清楚程序的結
23、構 . 這樣我們就能運行多于 一個的語句 , 請注意 這三個關鍵部分不要掉了 . , 我出一個 題, 輸入一個數 , 如果小于 100就輸出 "錯誤", 如果大于 100就 輸出 "正確 ", 我這里有兩個程序版本 :a(" 請輸入一個大于 100 的數 ")(a) ' 返回的是字符串 , 我們把他變成整數 : )a>100 (" 正確 ")a<100 (" 錯誤 ")還有一個更簡單的a(" 請輸入一個大于 100 的數 ")(a) ' 返回的是字
24、符串 , 我們把他變成整數a>100(" 正確 ")(" 錯誤 ")看到多了一個了吧 , 的作用就是當要判斷的表達式為時執(zhí) 行的 . 這樣程序就可以處理兩種不同的情況了 . 不要忘了用 結嘿 嘿 , 我 是 變 態(tài) 者 , 現 在 我 要 你 處 理 三 種 情 況 , <100100,>100, 還要寫在一個結構里 , 你怎么辦 , 我給你答案 : a(" 請輸入一個大于 100 的數 ")(a) ' 返回的是字符串 , 我們把他變成整數a>100(" 正確 ")100("
25、; 老大 , 你耍我 ?")(" 錯誤 ")這次輸入 100 看看 , 是什么 ? 語句可以在結構中多次出現 以靈活判斷不同的情況 ( 如果你要判斷得太多 , 就請使用 " 選擇 結構 ", 過會兒就講 ), 當所有都處理完了 , 而沒有符合情況的時 候再執(zhí)行中的語句 . 另一個例子 :("a 是:"," 輸入半徑 ")("b 是:"," 輸入半徑 ")(" 答案 :"," 輸入答案 ")*2*2 ' 這里沒有問題 ,
26、 會自動轉換(" 你好聰明 ") (" 你好豬頭 自己的題還不會 !")再看看這個 , 無論你回答得多么正確你都是豬頭 , 哈哈 , 不是我耍你 , 還是文章開始時候的的返回類型在耍你 , d 是的返 回值 , 他是一個字符串 , 而 c 是一次整數計算的結果 , 他是一 個整數 . 一個字符串無論如何也不等于一個整數 , 盡管他們字 面上是一樣的 :"8"<>( 不等于號 )8 所以的判斷式的值永遠是 , 總是執(zhí)行部分的語句 . 我們可以這么修改("a 是:"," 輸入半徑 ")(
27、"b 是:"," 輸入半徑 ")(" 答案 :"," 輸入答案 ")(d)' 在這里我們取出了 d 的值, 變成整數 , 在放回 "d" 這個盒子里(" 你好聰明 ") (" 你好豬頭 自己的題還不會 !")這樣就成功了 . 這也是函數的一個討厭的地方 , 沒辦法 , 沒有其他好的輸入方式了。說到, 我們不得不說一說邏輯運算符 , 今天介紹兩種 , "" 和 "" 學會了語句之后 , 我舉一個例子 , 你一看
28、就明白了 .(" 輸入一個數 >10")(" 輸入另一個數 >10")(a)(b)a>10 b>10(" 正確 ")(" 錯誤 ")這段程序讓你輸入兩個值 , 必須都大于 10, 只要有一個不 大于 , 就輸出錯誤(" 輸入一個數 >10")(" 輸入另一個數 >10")(a) (b)a>10 b>10 (" 正確 ")(" 錯誤 ")這段程序讓你輸入兩個值 , 只要有一個大于 10, 就
29、返回成 功. 其實和很好理解 , 我讀" a>10 b>10 " 這一句, 用華語是 這樣:"如果a大于10或者b大于10,那么".這樣是不是就很好理解了呢 ., 我們再來看一種新結構 , 今天的課就結束 , 已經午夜了 , 我都累死了 .當你的程序要處理很多種不同的判斷情況的時候會讓程序 看起來很雜亂 , 所以就有了一種 結構專門對付這種情況 , 的 語法結構很簡單 :變量名值語句值語句語句我們舉個例子就能很簡單的說明:a(" 輸入一個 13 的值")(a) ' 處理返回字符串的問題a1(" 壹 &qu
30、ot;)2(" 貳 ")3(" 叁 ")(" 輸入錯誤 ")這個例子把 1,2,3 這三個阿拉伯數字轉化成中國大寫數字 這個程序寫成 的形式如下a(" 請輸入 13 的值 ")(a) 1(" 壹 ")2(" 貳 ")3(" 叁 ")(" 輸入錯誤 ")怎么樣, 麻煩吧, 還是好吧 ., 今天到此結束 , 總結一下 :要點:1)返回的是一個字符串 , 而不是一個數 , 必須用 (a) 這種形式 轉化成數2)變量的值只有兩種2.5) 兩邊的
31、表達式都是 , 則返回 . 兩邊的表達式有一個是 , 就 返回3)語句的格式4)的格式作業(yè) :1) 使用 3 個值, 儲存你的 3 兄弟姐妹是否是男性 ( 提示 1)2) 給定一個個數 , 大于 10而且小于 20輸出"正確", 否則輸出 " 錯誤"3) 輸入 12, 或者 15, 輸出"正確", 否則輸出 " 錯誤"4) 把 5 以內的正整數都轉換成中國大些數字5) 自己隨便設計一個程序 , 應用今天的知識第四篇:循環(huán)結構我們先來看一道題: 商場進行每日結算 , 要求累加出今天的 營業(yè)額 , 每次輸入一個數 ,
32、這道題其實很簡單 , 但就我們現在 學過的知識要完成這道題相當麻煩 , 我們來分析一下 . 首先 , 我們需要知道買賣的次數 , 這樣才能控制輸入的次數 , 但是, 這 種設計是非常低效的 , 每天都要重新設計程序 . 假定今天進行 了 5 次交易 , 以下是源程序 : 0 ' 初始化變量+ (" 請輸入交易額 ")' 這種形式是把本身的值取出來 , 進行一次運算 , 再放回本身 這種方法很有用處 ' 這里使用了函數嵌套 , 把的返回值直接傳給 函數 , 轉化成整數 , 下同+ (" 請輸入交易額 ")+ (" 請輸入交
33、易額 ")+ (" 請輸入交易額 ")+ (" 請輸入交易額 ")()看到了嗎 , 我通過把計算過程復制了 5 遍才設計好了程序 , 這種程序在汽車交易所等交易次數少的地方還能湊合著用 , 如 果放到超市豈不是要復制 , 粘貼幾千遍 ? 我們今天講的內容就 可以克服這種缺陷 , 首先 , 我們來講以下語句 .的結構看上去非常簡單 , 就是 , 僅此而已 , 這個結構不斷 執(zhí)行和之間的語句 (學名叫: 循環(huán)體), 永不停止 . 舉個例子來說 :(" 這個信息會不斷重復出現 , 要停止程序請使用任務管理器 () 中止進程 ")運
34、行這個程序 , 當你點銷掉一個對話框馬上會出來另一個 , 你永遠點不完 , 總有下一個 . 誰會運行這樣的程序 ? 除非是給 別人搗亂 ( 我就干過這種事 ), 所以在結構中還有一個語句 , 這 個語句將終止循環(huán) , 跳到后面的語句繼續(xù)執(zhí)行 . 據個例子來說 :a ' 注意:常量不需要在里面聲明 ,否則會引發(fā)錯誤"123456" ' 這是一個字符串 請用 "" 包裹起來 . 設定密碼為常 量 , 不可變更(" 請輸入密碼 ") (" 密碼校驗成功 ")這個程序會一直不停的問你密碼 , 知道你輸入了正
35、確的密 碼為止 .( 可以嵌套在另一個當中 , 也可以嵌套在循環(huán)體當中 所以一定要用縮進 , 來分清楚程序的各個部分 ). 這個程序是很 經典的, 早期的程序都是這么做的 . 但是我們是 , 所以 我們了解系統(tǒng)的安全性 , 這種無限次認證程序很容易被窮舉破 解, 我們要來限定認證的次數 . 修改程序如下0 ' 設置計數器"123_" ' 上面的那個是弱密碼 , 這次改的強一點(" 已經達到認證上限 , 認證程序關閉 ")(" 請輸入密碼 ")(" 認證成功 ")("( 你可以在這里加一段成
36、功后得到的信息 )")1 ' 如果密碼出錯就增加一次錯誤認證計數(" 認證出錯 , 請檢查密碼 ")運行這個程序試試看 , 當你出了 3 此錯誤以后 , 就會停止 再次詢問密碼 , 關閉程序 . 認證用來限制次數的程序與此大同 小異 . 要注意的是嵌套的語句 , 清仔細讀一下這個程序 , 可能 比較難懂 , 也請你試著自己設計一下類似的程序 .其實 , 要在加上驗證的功能 , 并不一定要用 , 我們可以直 接利用 . 我來介紹一下關鍵字 , 可以放在或者是后面 , 然后再 接一個表達式 , 當表達式的值為的時候 ( 表達式成立 ), 才運行循 環(huán)體 .我們
37、來看一下修改后的程序"0"123_"<3(" 請輸入密碼 ")(" 認證成功 "))")("( 你可以在這里加一段成功后得到的信息1 ' 如果密碼出錯就增加一次錯誤認證計數 (" 認證出錯 , 請檢查密碼 ")(" 請輸入密碼 ")(" 認證成功 ")("( 你可以在這里加一段成功后得到的信息 )")1 ' 如果密碼出錯就增加一次錯誤認證計數(" 認證出錯 , 請檢查密碼 ")<
38、3功能是一樣的 , 為什么要放在后面呢 ? 你把的值改成 3 就 知道了 , 在后面的程序會直接退出 , 而在后面還會允許一次認 證, 到了才結束 . 和相反的是 , 用法和一樣 , 不過他只有當后面 的表達式的值為 ( 表達式不成立 ) 的時候才執(zhí)行循環(huán)體 , 請自己 試驗一下, 我們來看另外一種循環(huán)結構 , 這種循環(huán)結構是基于計數 的, 也是在編程中最常見到的循環(huán)結構 .i0 5看到了嗎 ?每次輸出的 i 都是遞增的 , 但我們沒有明確指出 i 要遞增 , 當 i 達到 5 的時候 , 循環(huán)就結束了 , 因為由 0 開始 , 所以循環(huán)體執(zhí)行了 6 次, 這一點很重要 , 大部分東西都是從
39、0開 始而不是 1. 這個程序也可以寫成 的形式 :i0i<5(i)1 ' 因為不能自動計數 , 必須手動加怎么樣 , 還是比較好用吧 . 在編程中很有用途 , 我們再舉 一個例子 , 順便講一下嵌套循環(huán) .1 91 9& i * j & " " '&是和并字符串的符號' 每個對應一個看看運行結果 , 是否令你會想起小學時代的數學老師 ( 丑陋 的嘴臉 ). 要注意 , 這里有一個 " 大" 的, 和一個小的 , 當小的執(zhí) 行完一個周期以后 , 大的才執(zhí)行一次 ( 換句話說 , 大的執(zhí)行一次 小的要執(zhí)
40、行 9 次), 所以一共執(zhí)行了九九八十 一次 . 在大的里可以不僅僅是一個小的 , 也可以加上另外的語 句. 我們來修改一下源程序 :1 91 9& i * j & " "' 每個對應一個& ' 相當于鍵盤上的回車鍵 , 因為你不能在鍵盤上輸入 , 所以系 統(tǒng)定義了一個默認的常量這次運行完成以后 , 輸出結果按照乘數進行了分割 , 每小 運行完一次 , 就換一行 ( 通過 ).這次的內容對菜鳥可能比較難懂 , 掌握的辦法只有一個 : 多 實踐. 另外, 我在論壇看到很多人還是問 :" 要用什么工具編 ?" 我就很氣
41、憤 , 我在第一篇里面已經說明 : 用記事本編輯源代碼 , 然后保存為以為擴展名的程序就可以了 , 請大家不要再問 . 另 外, 國產的一種垃圾軟件 "超級 X 霸" 搶占了這個擴展名 , 請把 那個垃圾卸載掉 .我們總結一下 :要點:1) 和 的用法2) 當表達式的時候執(zhí)行循環(huán)體反之3) 是計數循環(huán) , 每次執(zhí)行計數器遞加4) 嵌套循環(huán)的作用和寫法4.5) & 用于連接字符串5) 相當于鍵盤上的回車鍵作業(yè) :1) 在我國的數學經典著作 "九章算術 "中有這樣一道題 : 百錢買 百雞, 公雞 5 錢一只, 母雞 3 錢一只 , 小雞 1錢 2 只
42、(這個數據 我是參考一本編程書的 , 但我記得是公 3,母 1,小 1 錢 3 只? 不 管了 , 就按照書上得來吧 )求得是能有多少種辦法買這些雞 . 如 果看不懂的話我用大白話說說 : 有人要去買雞 , 用 100 塊錢正好 買了 100 只雞, 價格如下 : 公:5$, 母:3$, 小:1$ 2, 讓你求一 共多少種賣法 ( 公母小怎么搭配 ). 請用循環(huán)解決這個問題。:今天文章寫的很倉促,大部分代碼都沒有實驗,請大家自己檢 驗。另外,上次的作業(yè)我不說答案了。 不知道大家喜歡做這種題, 還是以前那種比較簡單的?第五篇:今天我們來了解語言本身的最后一個論題 : 數組.要理解 "
43、數組", 這個概念我覺得另一種翻譯對學習來說更 加容易 :" 陣列 ", 沒錯 , 數組就是一個陣列 , 一個數據的陣列 . 最簡單的例子是數據庫系統(tǒng) , 假設你要儲存 20 名學生的英語成 績, 如果不是用數組 , 你則要創(chuàng)建 20 個不同的變量 , 累死 . 數 組就是類型相同 (重要!) 的一組數據 ( 或者 n 組), 用來儲存相關 的量 , 最簡單的數組是一維數組 , 我們就先來學習它吧 .什么是一維數組呢 ? 在 3 維以下 , 你可以利用幾何知識來理 解"維"的概念 , 一維相當于一條線 , 二維則是一個矩形 , 三維是 一個長方
44、體 . 我知道這么講是很抽象的 , 我們先舉個一維數組 的例子就比較容易了解了 .a(9) ' 從零開始0 9a(i) ' 填充每一個數組元素(a(i) ' 輸出數組元素我們可以看到 , 定義一個數組的方法和定義一個變量沒有 什么不同 , 同樣是使用語句 . 定義一維數組的方法如下 : 數組名 ( 元素數量 ), 這里大家要注意一點 , 這里定義的元素數 量總是比你要的要少一個 , 因為一個數組的起點是 0 號數據而 不是 1, 所以大家一定要小心 : 你需要 10 個數據 , 就定義 "9", 需要 100 個就定義 99, 依此類推 . 數組的元
45、素可以看成一個個 獨立的變量 , 你可以像獨立的變量那樣使用他們 . 數組元素的 量可能是毫無關系的 , 比如第一個數組元素儲存你的年齡 , 第 二個儲存今年西瓜的銷售量 , 但這種做法是不鼓勵的 , 甚至是 不被接受的 , 不要這么干 , 這樣的情況請定義獨立的變量 . 語 句在數組中可算是大顯身手 , 還記得嗎 ? 它累加一個變量 , 我 們可以把這個變量應用在數組中正好用來讀取或者填充按照順 序排列的數組元素 , 上面就是這樣一個例子 . 數組其實是很簡 單的東西 ( 再語言里面 ), 數組難的是怎么搗弄這些循環(huán) , 讓他 們按照你的要求運轉 . 這個等到二維數組再說 , 我們先看看如
46、何手工填充數組 .如果你這個都想不到的話 , 那你真是白學了 :(7) ' 一共八個學生 , 變量是用來把他們儲存成一個字符串以 便輸出 0 7(i)(" 請輸入第 " & 1 & " 個學生的名字 ")& " " & (i)() 這樣我們就有了一個小小的數據庫 , 它們的數據排列可以 看成這樣 :(0)(1)(2)(7)看到了吧 , 所以我說我們可以把它看成是 "一條線 ", 等到 我們學到了文件操作 , 就可以把他們輸出到文件中去了 . 一維 數組有很多用處 , 我們來看
47、一下一個復雜的例子 . 我們要儲存 3各學生的名字 , 身高 , 成績這三種數據 , 由于名字是字符串 , 而身高可能是浮點數 ( 帶小數點的數 ), 成績則可能是整數 , 所 以我們不能把他們儲存在一個數組里面 ( 不要忘記 , 數組織只能 存儲同類的數據 ), 所以我們要建 3 個數組 , 以下是例程 :(2), (2), (2) '定義三個數組分別儲存 3 個人的名字 , 身高和得分' 計數器()(請輸入第個學生的姓名()(請輸入第個學生的身高()(請輸入第個學生的得分我們已經填充好了數據 , 現在我們的小小數據庫只能按順序輸入 , 我們要讓它看起來像點樣子 , 我們來給
48、他設計查詢 功能:' 接著上面的程序, ' 要查詢的名字 , 和一個臨時變量 , 用來儲存數據的位置(" 請輸入你要查詢的名字 :")0 2 ' 遍歷所有數組的成員 , 尋找要查詢的名字()' 記錄數據位置' 退出循環(huán) , 和 的用法一樣' 不要忘了(" 姓名:" & () & " " & "身高:" & () & " " & "得分:" & ()嘿嘿 , 有意思吧 , 其
49、實在這個程序里面 , 那個變量完全沒 有必要 , 只是為了更清楚地說明問題 . 因為當 以后變量的值就 不會改變 , 儲存的正好是對應數據在數組中的位置 , 寫這個變 量是為了照顧到以后要學的朋友 ( 可以在語句里聲明新變量 , 只 在這個結構中有效 , 所以到了外部就不能訪問了 ). 也就是說可 以簡化成如下 : (" 請輸入你要查詢的名字 :")0 2() ' 因為只有 就不需要塊了(" 姓名:" & () & " " & "身高:" & () & "
50、" & "得分:" & ()這是最直接的路子 . 好好重讀一下上面所有的源代碼 , 然 后自己寫幾個程序 , 完全搞清楚一維數組及其應用以后再看后 面的二位數組 . 二維數組好像是一個一維數組的集合 , 就好像 " 線積成面 " 一樣, 由 n 各一維數組組成二維數組 , 這是初學者比 較好理解的辦法 (比較精確的是用 "編號 "的概念去理解 , 因為 4 維以上的數組就比較難以用歐幾里德幾何概念去解釋了 ). 二維 數組是很好解釋的 , 我們來看一下 :a(2,2) ' 從零開始 , 一共有 3 X
51、 3 = 9 個數據' 需要兩個計數器0 20 2 ' 使用嵌套循環(huán)a()="X"我們創(chuàng)建了一個這樣的二維數組 ( 那些 "," 是我用來分割元 素的,并不存在 ), 了解二維數組的了嗎 ? 不清楚我們再講一下 編號 0 1 201二維數組的看起來是不是就是一個矩形呢 ?( 你在內存中看 不到這樣的矩形 , 只是便于你理解 ), 每個數據都有編號 , 由兩 個數來定位 , 這個很像 (非常像 )你在國際象棋棋盤上尋找一個 格, 我們用類似 "C6","A2" 這樣的 "垂直坐標 "
52、;進行定位 , 對, " 垂直坐標 ", 很確切 . 我們要使用一個二維數組元素的時候可以 和普通變量一樣使用 , 只要指定數組元素的 "定位點"就可以了 , 例如 a(0)(1)=1, b(2)(1)="你好 ", 諸如此類 . 要注意的是二維數組也只能儲存類型相同的元素 , 而且上標 (起點 )也從 0 開始. 計 算一個二維數組的元素個數只要把兩個下標 +1( 以得到實際的值 ) 再乘起來就可以了 , 非常類似于求一個矩形的面積 .假如需要儲存的都是同一類型的數據 , 我們就可以用二維 數組, 比如要儲存 5 個人的姓名 , 國
53、籍, 民族 , 就可以使用二維 數據(4,2) ' 一共五個人 , 要儲存的數據類型有 3 項0 2' 定義一個變量用于存儲數據項提示j ' 判斷應該輸入的是什么數據0姓名國籍"2"民族"()(" 請輸入第 " & 1 & " 個人的 " & )' 輸出太麻煩了 , 我懶得動 , 你知道那么回事就行了 這樣就不需要定義 3 個一維數組了 .多位數組 ( 三維以上 ) 的定義和使用方法與二維數組一樣 , 但不太好在歐幾里德幾何空間里加以解釋 , 幸好我們并不太常 用那么多
54、維的數組 . 定義一個三位數組 a(1,2,3) ' 一共 24 各數 組元素.今天因為要搬家 ( 我喜歡啊 , 可是嫌交通不便 , 誰不知道她 只想去逛街 ), 而要去和她的同學去參加什么試驗半夜才回家 , 所以下午我只能自己去押車搬家了 , 5555 好可憐 , 這次就請大 家原諒我少寫一點 , 我可是站在圖書館外寫的啊 , 現在腿都軟了 本來還要講 " 動態(tài)數組 " 的, 但想了想還是放到 " 進階部分 " 再說吧 .要點:1) 一維數組是 " 線", 二維數組是 " 面", 三維數組是 "
55、 體" ( 多維 數組就亂套 )2) 數組的下標從 0 開始3) 循環(huán)在數組的應用中起了很大作用 , 二維數組需要嵌套循環(huán) 作業(yè) :上次出的 " 百雞問題 ", 大家喜歡嗎 ? 以后我們就做這種需 要動腦的題目 , 那些簡單的實踐 , 大家一定要多做 !1) 定義一個數組 , 包含 5 個元素, 都是隨機整數 (隨便輸入 ), 要求把他們按照從大到小的順序排列起來2) 有兩個二維數組 a(4,4) 和 b(4,4) ( 元素值隨便 ), 交換兩個 數組(原來的 a 的所有元素值變成 b 的, b 的所有元素值變成 a最后一篇: 今天我們學習基礎篇的最后一個部分 :
56、 自定義函數和過程 . 我們 每天都在和函數打交道 , () 是函數 , () 是函數 , () 也是函數 . 這些函數都是 系統(tǒng)內建的 , 我們只能用不能改 . 今天 , 我就教大家怎樣自己制作一個函數首先我們要了解 , 為什么要用函數 , 我們用 "實例 "說話, 先看一個例子 : 給出兩個數 , 輸出較大的那一個 .a121212a1=22=4 '":" 可以讓你把多個語句寫在一行上b1=322=67c1=122=898a1>a2(a1)a1<a2(a2)b1>b2(b1)b1<b2(b2)c1>c2(c1)c
57、1<c2 (c2)多么麻煩呀 , 我們把相同的比較過程復制了好幾遍 , 早期 語言沒有結構化 ( 沒有過程和函數 ) 的時候 , 程序員們的確是這 么干的 , 他們復制 (), 那個年代也沒有剪貼板這一說 , 大家都 是重新輸入代碼 . 后來工作簡化了 : a121212a1=22=4b1=322=67c1=122=898(a12)(b12)(c12)(t12) ' 我們使用定義了一個新的函數t1>t21 ' 通過"函數名 =表達式 "這種方法返回結果 t2>t12我們在這里是用了一個新的關鍵字 , 這個關鍵字表示一個新函數開始 , 格式
58、:函數名(參數 1, 參數 2. 參數 n) ' 列表可以是空的 , 但括號 不能省略 , 參數之間用 "," 分割' 結束函數 , 不是必需的函數是一個模塊 , 只有你調用的時候才會運行 , 也就說 , 當你編寫了一個函數 , 然后在程序中并不調用它 , 那么這個函 數永遠不會運行 . 一般來說 , 我們編寫程序是按照 : 主程序函數 1函數 2詳細解釋一下 : 函數中最重要的是參數和返回值 . 參數是在函數名后面的 () 里定義的 , 用"," 分割 , 使用參數的時候我們 也用 "," 分割. 說到這里我想起一件
59、事 , 昨天有個朋友給我發(fā)消 息問我 :(123)這個錯在哪里 ? 為什么不能同時顯示出三個變量 ? 這就是 因為你用了 ",", 這個符號表示你輸入的三個量作為三個不同參 數傳遞給 () 函數, () 函數只會顯示出第一個參數 , 第二個參數 的作用是出現在標題欄 . 所以你應該用 "&"或者"+" 把三個字符 串變量連接起來 , 作為第一個參數傳遞給 () 函數 . 程序員說參 數的時候經常說到 "形參 ", " 實參"這樣的 "黑話", 我來解釋一下 "
60、;形參"是"形式參數 "的簡稱, " 實參"是"實際參數 "的簡稱, 實 參是指你調用函數的時候傳遞給函數的量 , 可以使變量或者常 量(直接量), 例如(12,24) 中的 12,24 就是實參 . 形參是你在函 數定義時定義的變量 , 這些變量用來 "接住 "傳遞過來的量 , 例 如 (t12)t12 就是形參 .在中, 參數傳遞是一種傳值 , 而不是傳址 ( 聽不明白不要 緊, 學了 C 語言的指針你就明白了 ), 所以我們進行的參數傳遞 實際上是進行了一次變量賦值 , 例如我們調用 (a12),
61、實際上程 序會執(zhí)行一步 1122 這樣的操作 . 同樣因為傳值傳址的原因 , 只 能返回一個值 , 我們先來看看什么叫 " 返回". 當一個過程調用 了另一個過程的時候 ( 比如主程序調用了函數 ), 控制權就到了 被調用過程那里 , 當這個過程執(zhí)行完畢以后 , 會回到調用它的 地方繼續(xù)執(zhí)行 , 這個就叫做 "返回 ", 返回的時候可以帶一個值 叫做"返回值 "( 這是"通俗"的理解 ). 在繼承了的傳統(tǒng) , 返回的 時候采用 "函數名 =返回值 "的辦法 , 這個"返回值 "是指一個表達 式( 在編程中 , 任何東西都是表達式 , 比如變量 a, 常數 0, ""1+2 等等這都是表達式 ). 比如有一個函數是 , 則返回的方法 是你要返回的值 . 注意:返回以后 , 后面的語句將不再執(zhí)行 .調用一個函數我就不用講了吧 :變量=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 洛陽文化旅游職業(yè)學院《體育法》2023-2024學年第一學期期末試卷
- 2024年植保無人機及其配件采購合同
- 單位人員管理制度范例大全
- 地熱養(yǎng)殖基地施工合同
- 2024年快手電商合作合同樣本版B版
- 商業(yè)街區(qū)巡邏保安協(xié)議
- 大型度假村建設施工管理承包合同
- 臨時健身房租賃與教練服務合同
- 2025運輸保險合同范本
- 消防栓檢查與維護手冊
- 讀了蕭平實導師的《念佛三昧修學次第》才知道原來念佛門中有微妙法
- 周邊傳動濃縮刮泥機檢驗報告(ZBG型)(完整版)
- 紙箱理論抗壓強度、邊壓強度、耐破強度的計算
- 土地增值稅清算審核指南
- 死亡通知書模板
- 鷸蚌相爭課件
- PMC(計劃物控)面試經典筆試試卷及答案
- 失業(yè)保險金申領表_11979
- 《質量管理體系文件》風險和機遇評估分析表
- 食品安全約談通知書
- 舒爾特方格A4直接打印版
評論
0/150
提交評論