Lab02 授課:ANT 日期:2011/3/14.

Slides:



Advertisements
Similar presentations
.NET 程式設計入門 ( 使用 C#) 講師:鄧智鴻. Outline  流程控制 : 選擇判斷流程  流程控制 : 重覆流程  巢狀式迴圈.
Advertisements

第一單元 建立java 程式.
MATLAB 程式設計 時間量測 清大資工系 多媒體資訊檢索實驗室.
Introduction to C Programming
計算機程式語言實習課.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
C#程序设计案例教程 第3章 程 序 结 构.
JAVA 程式設計 資訊管理系 - 網路組.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
第 5 章 流程控制 (一): 條件分支.
條件判斷 授課:林哲嘉 日期:2009/3/4.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
選擇 運算式 邏輯運算 if指令 流程圖基本觀念 程式註解 巢狀if指令 switch指令.
Chapter 5 迴圈.
Visual C++ introduction
C++Primer 3rd edition 中文版 Chap 5
2-3 基本數位邏輯處理※.
第四章 流程控制(一) if,if-else 與 switch
保留字與識別字.
Java程式概觀.
流程控制 大綱 傳遞參數給main()方法 流程控制的用途與種類 if判斷敘述 switch 判斷敘述.
生物資訊程式語言應用 Part 3 Perl Language.
SQL Stored Procedure SQL 預存程序.
JAVA 程式設計 資訊管理系 - 網路組.
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
Introduction to the C Programming Language
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
計數式重複敘述 for 迴圈 P
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
建立一 function s (type) 可以用來繪製cyclic-harmonic curves
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
義守大學電機工程學系 陳慶瀚 第4章 VHDL Sequential語法 義守大學電機工程學系 陳慶瀚
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab6.
數學 近似值 有效數值.
JAVA 程式設計 資訊管理系 - 網路組.
程式結構&語法.
輸入&輸出 函數 P20~P21.
ASP基礎— VBScript基本語法 張森.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
Introduction to C Programming
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
程式的時間與空間 Time and Space in Programming
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
亂數 隨機產生亂數 Random類別支援的方法: Next多載方法 Next :傳回亂數。
隨機數 (亂數) 10後,取餘數 n = rand(); 利用 Code::Block 驗證一下 n = rand() %10; 998
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
期末報告第一題 通訊四甲 B 湯智瑋.
迴圈(重複性結構) for while do while.
適用於多選一 可減少if 與 else配對混淆的錯誤.
作業系統實習課(二) -Scheduler-Related System Calls-
Programming & Language Telling the computer what to do
C#快速導讀 流程控制.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
函式庫補充資料 1.
隨機函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

Lab02 授課:ANT 日期:2011/3/14

outline 期末分組 條件判斷 ----if, else if , else ----switch 迴圈 ----for -----while, do while 亂數介紹 ----rand()

條件判斷 授課:ANT 日期:2011/3/14

if, else if , else 對於多重的、連續的條件判斷,我們常使用if , else if陳述。其基本語法為: if(運算式1) 運算式1值為true的執行陳述句; else if(運算式2) 運算式2值為true的執行陳述句; else if(運算式3) 運算式3值為true時的執行陳述句; else 前述運算式均不為true時的執行陳述句;

判斷條件1 判斷條件2 false 敘述主題1 敘述主題2 敘述主題3 其他敘述 true

關係運算子 int a=5,b; b = (a==5); //b會等於1 If常犯錯誤 (if.c)

邏輯運算子

switch 用來比較字元或者是數值,其基本語法如下。 switch (變數名稱或運算式) {     case 符合數字或字元:         陳述句一;         break;     case 符合數字或字元:         陳述句二;         break;     default:         陳述三; } 若是判斷字元須加上’ ’

運算式 選擇值1 選擇值2 選擇值3 default 敘述主體1 敘述主體2 敘述主體3 break; 敘述主體 其他敘述

Loop(迴圈) 授課:ANT 日期:2011/3/14

for 一般都是用來跑已知工作次數的流程 基本語法如下: for (初始變數; 判斷式; 遞增式) {     陳述句一;     陳述句二; }

設定迴圈初值 判斷條件 迴圈主體 設定增減量 其他敘述 true false

while 當面到對一個未知停止時間的流程運作時,就可以使用到while來作此事情 基本語法如下 PS:強制離開迴圈可以使用”break”

設定迴圈初值 false 判斷條件 true 迴圈主體 其他敘述 設定增減量 While與for的流程圖 都是一樣的 他們的差別就是差在 一個有須知道已知的執行次數,所以一般在選擇使用for或者while最大的考量就是在於知不知道執行的次數

do-while 跟while是相同的功用的,他們的差別只有在while是先判斷條件式在作主體,do-while則是先做主體在去看判斷式 基本語法如下: do {     陳述句一;     陳述句二;     .... } while(條件式); While與do-while的差別 先做再說!! 先斬後奏

設定迴圈初值 迴圈主體 設定增減量 其他敘述 判斷條件 true false

亂數的使用介紹(rand) 在某些情況下(特別是設計遊戲時),我們會需要使用到亂數,在 C 語言中提供了一個 rand() 函數可以讓我們取得一個亂數,其用法如下。 rand()會回傳出一個0~32767之間的數 若我們把rand() % 10 ->會取出0~9之間的整數 % (mod)我們稱為取餘數的動作 <問題> rand()每次出來的亂數都一樣 程式重複執行數次之後,會發現所得到的亂數是一樣的,這是因為它由上一個數值產生出下一個亂數,而一開始系統都是 0,所以每次產生出來的亂數才會一樣。 srand()一般都用目前時間來當種子 -> srand( time(NULL) ) 必須要先include <time.h> time(NULL)會輸出從格林威治時間 1970年1月1號 0點0分0秒開始到現在的秒數

若光只有rand()不管你的程式執行多少次所取出來的值都會一樣 <因為起始點一樣> 所以可以多加上srand()來改變一開始的亂數值 <問題> 如果srand()裡面是常數,每次產生出來的亂數還是一樣,因為起始點還是定值。

srand() 括弧裡面要放一個”變數”,這樣每次執行,才會得到不同的數字。 永遠的變數  時間!!! time(NULL)會輸出從格林威治時間 1970年1月1號 0點0分0秒開始到現在的秒數。 Time()被定義在<time.h>,所以要include <time.h> srand(time(NULL)),會一直改變rand()的起始點。

範例 #include<stdio.h> #include<time.h> #include<stdlib.h> mian() { int var; srand(time(NULL)); var = rand()%1000 ; pirntf(“here is the random number = %d”, var); } 要使用 srand()與rand() 函數,必須 include 它的標頭檔 stdlib.h 因為在城市中使用到系統時間作為取亂數的種子,,因此必須使用到time.h 參考網址 - http://www.cplusplus.com/reference/

Lab2 利用亂數取值,取出一個亂數,此亂數必須介於50~100間,接著判斷是否大於等於小於75,並印出結果 而此程是必須能重複執行。 提示 – Do while switch For Rand() 、 srand()

HW2 內容: 寫一個小樂透的小遊戲 規則: 一開始選擇4個號碼,彼此不重複,並印出於螢幕上 ,接著樂透開獎,由亂數取碼4個數字不重複並作比 較求得相同數字的個數。(程式內必須對功能寫上註 解) 前置動作 1. 必須給訂一個初始範圍1~47,數字的範圍。 2. 中獎號碼必須要是用亂數取得。 過程 1.先由使用者輸入4個數字,可分開或者同時輸入 2.並判斷是否有重覆數字輸入的現象,如有則重新輸入 3.同時在每次輸入時印出過去所有輸入成功的號碼

HW2 過程(續) 3.取4個亂數作為中獎號碼,並判斷是有有重複數字的現象 4.最後作對獎的動作,求出有幾個數字相同,並印出其相同的個數 範例

偵錯功能