Microsoft PowerPoint - ch2.pptx

Similar documents
untitled

untitled

untitled

Visual C# 2005程式設計

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Microsoft Word - 第3章.doc

Microsoft PowerPoint - STU_C_Lang_CH05

Microsoft PowerPoint - 06_迴圈2.pptx

Microsoft PowerPoint - ch1.pptx

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

PHP與MySQL 入門學習指南

Microsoft Word doc

untitled

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

Microsoft Word - 6.doc

Microsoft PowerPoint - FS720-Ch06.ppt

untitled

Microsoft Word - 透析8051之迴圈控制方法.doc

新・解きながら学ぶJava

Microsoft PowerPoint - ch04_AEL0080.ppt

Microsoft PowerPoint - C_Structure.ppt

Microsoft Word - CPMidTerm2010SpringSolution

CC213

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

Microsoft Word - Prog1-981.docx

CHAPTER VC#

untitled

CC213

Microsoft PowerPoint - 03_FlowControl.pptx

######## First set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else y <- 2 ######## Second set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else ###

Microsoft PowerPoint - Chapter4

Microsoft Word - CPMidTerm2011SpringSolution

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

If Close[Length]!= 0 Then B Close[Length] 是 Length 日前的 Close 不是 0 的話則執行 B % Number 以 Divisor 來求取除法並傳回剩下的部份和 Divisor 具備相同的符 號 格式 :Number % Divisor Numb

Python_02

C/C++基礎程式設計班

Microsoft Word - ??山

Microsoft Word - 助理人員教育訓練-會計室.docx

关于规范区委、区委办公室发文

壹 課程說明單元名稱 VB 語言 : 流程控制 陣列 1. 以猜數字遊戲複習選擇敘述, 並加強亂數函數及亂數種子之使用, 藉由猜數字遊戲流程分析來說明重複敘述功能與用途 2. 以有限制次數的猜數字遊戲來說明, 計數式重複敘述及其可能遇到的問題 單元摘要 3. 以無限制的猜數字遊戲來說明, 條件式重複

第一章 章标题-F2 上空24,下空24

Microsoft PowerPoint - ch4.pptx

Microsoft Word - ch03.doc

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

Microsoft Word - Chap05.doc

C/C++ - 字符输入输出和字符确认

untitled

Microsoft Word - 第3章.doc

第3章.doc

投稿類別:資訊類

編寫 ActionScript 的位置 2 時間軸上 ( Timeline ) 好比導演可指示各演員該如何動作 先點選某一個影格 ( Frame ), 再按 F9 開啟 動作 影格, 再撰寫程式 元件上 好比個別演員本身各要表演的動作 先點選場景上某一元件, 再按 F9 開啟 動作 影片片段 或 動

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

迴圈控制 : for, while, repeat Textbook reading: Chapter 7. 固定次數迴圈 : for 指令. 假設有 k 個指令 C(1),..., C(k), 而我們要依序完成其中的 C(m),..., C(n), 語法為 for ( i in m:n) { C(

PowerPoint 簡報

Object-Oriented Programming, Mid-term Test, 11/21/2000

碩命題橫式

CWP156.pdf

untitled

untitled

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

CHAPTER 1

新版 明解C++入門編

第1章

Excel VBA Excel Visual Basic for Application

新・解きながら学ぶC言語

FY.DOC

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在

Microsoft PowerPoint - The Twelve Days of Xmas.ppt

新版 明解C言語入門編

Microsoft Word - 01.DOC

新・明解C言語入門編『索引』

Microsoft Word - CPMidTerm2011Spring

Microsoft PowerPoint - Raptor-FlowChart-scy.pptx

此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運算子以移至內附範例的詳細資料頁面 x && y 邏輯 AND 如果第一個運算元為 false,c# 就不會評估第二個運算元 條件 OR 運算子 此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運

Microsoft PowerPoint - 20-string-s.pptx

四川省普通高等学校

Microsoft PowerPoint - ch5.pptx

PowerPoint 簡報

PHP與MySQL 入門學習指南

Microsoft Word - 04_object_Boxing_property_indexer.doc

Microsoft PowerPoint - C-Ch11.ppt

¥¼©R¦W-5

Microsoft PowerPoint - 遊戲企劃

投影片 1

C/C++语言 - 分支结构

Microsoft PowerPoint - 12 struct and other datatypes.ppt

Microsoft Word - AEL0124-CH05

untitled

05322AR13.indd

90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

( )... 5 ( ) ( )

(京)新登字063号

3-1 Wii ( )

Microsoft Word - CS-981.doc

Microsoft Word - ACG chapter00c-3ed.docx

現在人類獲取地球內部訊息的方法, 是從可能影響我們身家性命安全的地震, 用數學模型把地震資料轉換成地震波速度, 進而獲得地底物質密度與深度的關係 地下世界知多少 km/s g/cm 3 P Gpa km S P S 3,000 3,000 ak K 透視地底 Percy Bridgma

Microsoft PowerPoint - java2012-ch12投影片.ppt

Ps22Pdf

Transcription:

1

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 2

可利用關係及條件運算子, 來描述是否執行流程中的程式區塊 語法 if ( 判斷條件 ) 條件成立時執行內容 ; else 條件不成立時執行內容 ; 3

程式功能 請使用者先輸入名字 猜測使用者為男生 請使用者回答是否為男生 列印結語 程式內容 // 輸入資料 Console.Write(" 請輸入您的名字.. "); string name = Console.ReadLine(); Console.WriteLine(" 我猜 " + name + " 您一定是個男生!!"); 4

程式內容 Console.Write("\n 您真的是男生嗎!? (y/n)"); string sex = Console.ReadLine(); if (sex == "y" sex == "Y" sex == "yes" sex == "Yes" sex == "Yes") Console.WriteLine(" 怎麼樣!! 厲害吧!!"); else Console.WriteLine(" 其實我是故意猜錯的!!"); 5

程式功能 請使用者先輸入名字 利用亂數來決定猜測使用者為男生或女生 請使用者回答是否為亂數所產生出來的性別 列印結語 基本概念 可使用亂數產生一個為 0 或 1 的數, 當為 0 時猜測為女生, 為 1 時猜測為男生 6

當程式具有多個判斷條件時, 可利用 if else if else if else 來完成 語法 if ( 判斷條件 1) 程式區塊 1; else if ( 判斷條件 2) 程式區塊 2; else if ( 判斷條件 3) 程式區塊 3; else 程式區塊 4; 7

程式功能 請使用者輸入考試成績 列印成績的等第 程式內容 // 輸入資料 Console.Write(" 請輸入您的成績.. "); int grade = int.parse(console.readline()); 8

程式內容 // 輸出結果 Console.Write( ("\n 您的成績等第為.. "); if (grade >= 90 && grade <= 100) Console.WriteLine( WriteLine(" 優等!!"); else if (grade >= 80 && grade < 90) Console.WriteLine(" 甲等!!"); else if (grade >= 70 && grade < 80) Console.WriteLine(" 乙等!!"); 9

程式內容 else if (grade >= 60 && grade < 70) Console.WriteLine(" 丙等!!"); else Console.WriteLine(" 丁等!!"); 10

程式功能 剪刀 石頭 布 列印剪刀 石頭及布讓使用者選擇 電腦隨機選擇 列印勝負結果 基本概念 以數字 1 2 3 記錄使用者所出的拳 利用亂數選擇電腦要出的拳 利用 if else if else 判斷結果 11

三元運算子可用來取代 if else 流程控制, 使得程式碼更為簡潔 語法 變數 = 判斷條件? 變數值 1 : 變數值 2 用法 string a = 7>4? "7 比 4 大是對的 " : "7 比 4 大是錯的 "; 輸出結果.. 7 比 4 大是對的 12

string b = 1>4? "1 比 4 大是對的 " : "1 比 4 大是錯的 "; 輸出結果.. 1 比 4 大是錯的 13

變數的生命週期根據變數所屬的有效範圍來決定 我們可以簡單的把一組大括號所包含的範圍稱為一段 程式碼區塊 程式碼區塊界定變數的有效範圍 實例 在迴圈中宣告的變數, 在迴圈外的程式碼區塊中便無法存取該變數 14

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 15

程式中若具有多個判斷條件時, 除了 if else if else 流程控制外, 還可以選擇 switch 敘述 語法 switch ( 判斷條件 ) case 條件值 1: 程式區塊 1 break; case 條件值 2: 程式區塊 2 break; default: 預設程式區塊 break; 16

switch 流程控制不但簡潔更易維護 switch 的判斷條件可為變數 數值或字串等等 判斷條件結果之資料型別要與所有條件值的資料型別一致 若條件值 1 滿足時, 便會執行程式區塊 1 的程式內容, 直到 break 為止離開 switch 敍述 若所有條件值皆不滿足時, 便會執行 default 的預設程式區塊內容 17

程式功能 把 sample2 a2 改以 switch 方式設計 請使用者輸入考試成績 列印成績的等第 程式內容 // 輸入資料 Console.Write(" 請輸入您的成績.. "); int grade = int.parse(console.readline()); 18

程式內容 Console.Write("\n 您的成績等第為.. "); switch(grade/10) case 10: case 9: Console.WriteLine(" 優等!!"); break; case 8: Console.WriteLine(" 甲等!!"); break; case 7: Console.WriteLine(" 乙等!!"); break; case 6: Console.WriteLine( WriteLine(" 丙等!!"); break; default: Console.WriteLine(" 丁等!!"); break; 19

程式功能 月份季節轉換 請使用者輸入月份 列印出所屬季節 基本概念 利用 switch 判斷結果 20

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 21

當我們需要重複執行某段程式區塊時, 就可以利用重複結構流程控制來達成 語法 for ( 初值 ; 判斷式 ; 遞增值 ) 程式區塊 ; 用法 for (int i=0; i<10; i++) Console.Write (i+ " "); // 輸出結果.. 0 1 2 3 4 5 6 7 8 9 22

迴圈執行時, 會先判斷初值是否滿足判斷式, 若滿足則執行程式區塊, 程式區塊執行完畢後會回到遞增值部份, 遞增值結束後再一次回到判斷式中, 檢查遞增後的值是否滿足判斷式, 滿足再次執行程式區塊, 完成後再次回到遞增值部份, 直到判斷式不滿足為止離開迴圈 程式區塊只有一行時, 可省略大括號 假設初值與遞增值有二個以上的運算式, 中間必須以逗號分隔 for (int i=0, j=0; i*j <10; i++, j++) 初值 判斷式及遞增值必須仔細考量設定, 以防造成 無窮迴圈 若初值 判斷式及遞增值皆省略, 即為無窮迴窮 for ( ; ; ) 23

程式功能 輸入 x 列印出 1 ~ x 間所有整數和 程式內容 Console.Write( Write(" 請輸入 x 的值.. "); int x = int.parse(console.readline()); int sum = 0; for(int i=1; i<=x; i++) sum +=i; Console.WriteLine("1 ~ " + x + " 間的整數和為.. " + sum ); 24

程式功能 輸入 x 列印出 1~x 間所有奇數和 基本概念 可利用 if 來判斷是否為奇數 或改變遞增值遞增數目 25

break 在 for 執行迴圈中, 若遇到 break 陳述句時, 會立即逃離迴圈 continue 在 for 執行迴圈中, 若遇到 continue 陳述句時, 會立即跳至遞增值部份 26

程式功能 登入系統 請使用者輸入密碼 輸入密碼為 ives 則允許登入 容許三次登入機會 程式內容 // 設定密碼 const string pw = "ives"; 27

程式內容 // 輸入密碼 for(int i=0; i<3; i++) Console.Write(" 請輸入您的密碼.. "); if(pw == Console.ReadLine()) Console.WriteLine(" 您已順利登入成功!!"); break; else if(i==2) Console.WriteLine(" 錯誤已達三次!! 謝謝再聯絡!!"); else Console.WriteLine(" 密碼錯誤!! 請再輸入一次!!"); 28

程式功能 輸入 x 列印出 1~10 間不含 x 的所有數 基本概念 請利用 continue 來完成 29

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 30

for 迴圈中必須先設定迴圈執行次數, 而 while 迴圈只須設定執行迴圈的條件即可, 當條件滿足時, 即會不斷重複執行 語法 while ( 判斷條件 ) 程式區塊 用法 int i = 0; while (i < 10) i++; Console.Write(i + " "); // 輸出結果.. 1 2 3 4 5 6 7 8 9 10 31

while 迴圈在執行時, 會先檢查條件是否成立, 當條件成立時才會執行迴圈中的程式區塊 while 迴圈中, 一樣可以使用 break 及 continue 程式區塊中, 必須有將判斷條件變成 false 的陳述句, 否則將導致無窮迴圈 while 迴圈判斷條件後加上時, 表示迴圈中不需執行任何程式區塊 while (Console.ReadLine() ()!= "yes"); 32

程式功能 請使用者輸入整數 列印出 1 加 2 加 3 加至多少才會大於該整數 請使用者輸入 quit 後離開 程式內容 // 輸入資料 Console.Write( Write(" 請輸入一整數.. "); int x = int.parse(console.readline()); 33

程式內容 int sum = 0, i=0; while(sum <= x) sum += ++i; Console.WriteLine("1 + + " + i+ " 才會大於 " + x); Console.WriteLine(" 輸入 quit 離開程式.."); while("quit" it"!= Console.ReadLine()); 34

程式功能 階乘計算 輸入 x 列印出 x! 的值 基本概念 請利用 while 來完成 x! = 1 * 2 * 3 * * x 35

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 36

while 迴圈執行時, 會先檢查條件是否成立, 進而決定是否執行迴圈中的程式區塊 而 do while 迴圈第一次執行時並不會先檢查判斷條件, 直接執行迴圈中的程式區塊, 執行完畢後才會檢查條件是否滿足 語法 do 程式區塊 while ( 判斷條件 ); 37

用法 do Console.WriteLine("1"); while (false); // 輸出結果.. 1 do while 迴圈中, 一樣可以使用 break 及 continue 38

程式功能 簡易猜數字遊戲 亂數產生一個 1~3 間的整數 請使用者猜測整數值 列印猜測結果 詢問使用者是否再玩一次 程式內容 // 亂數宣告 Random rnd = new Random(); 39

程式內容 // 執行遊戲 do Console.Write(" 您猜的數字為 (1~3).."); 40

if (rnd.next(1,4) dn ( == int.parse(console.readline())) ())) Console.WriteLine(" 您好厲害猜中了!!"); else Console.WriteLine(" 哈哈哈!! 沒猜中!!"); Console.Write( Write(" 再玩一遍!! (y/n)"); ); while(console.readline() == "y"); 41

程式功能 判斷輸入值是否在 0 ~ 100 間 輸入 x 若 x 的值不在範圍內, 請使用者重新輸入 基本概念 利用 do while 即可完成 42

程式功能 輸入二個整數 求出二整數間之最大公因數 利用輾轉相除法完成 紅利 輾轉相除法.. 10 分 43

選擇結構流程控制 ( 一 ) 選擇結構流程控制 ( 二 ) 重複結構流程控制 ( 一 ) 重複結構流程控制 ( 二 ) 重複結構流程控制 ( 三 ) 巢狀式迴圈 44

在一個迴圈的程式區塊中又有一個迴圈, 我們稱之為 巢狀式迴圈 假設 A 迴圈執行 m 次,B 迴圈執行 n 次,B 迴圈在 A 迴圈當中, 則 A 迴圈每執行一次,B 迴圈就會執行 n 次, 因此最後 B 迴圈的程式區塊會被執行 m * n 次 45

程式功能 計算內迴圈執行多少次 輸入內外迴圈執行次數 列印內迴圈執行次數 程式內容 // 輸入資料 Console.Write(" 輸入外迴圈執行次數.. "); int m = int.parse(console.readline()); Console.Write(" 輸入內迴圈執行次數.. "); int n = int.parse(console.readline()); 46

程式內容 int c=0; for(int i=0; i<m; i++) for(int j=0; j<n; j++) Console.WriteLine(" 內迴圈已經執行.. " + ++c + " 次!!"); 47