復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

1 繰り返し処理 while 文 と do 文 所定回反復(特定回数の繰り返し)には for 文を用いた while( 式 ) 文 式が真であるかぎり、文を繰り返し実行する 繰り返す回数が不定の場合に用いる 繰り返し回数が明示的に決まらない場合には while 文、 do 文を用いる ある手順を、例えば.
情報処理演習 (秋学期・樋口担当) 2回目 10/1 日本工業大学 コンピュータリテラシーII.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
ループで実行する文が一つならこれでもOK
4章 制御の流れ-3.
基礎プログラミングおよび演習 第4回 担当:花岡 5階522/520.
第2章 数値の入力と変数 scanfと変数をやります.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
プログラミング論 I 講義,テスト C言語復習
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
コンピュータープログラミング (C言語)(6) 1.条件分岐2(switch文、復習) 2.繰り返し処理(for文、while文)
第6章 2重ループ&配列 2重ループと配列をやります.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
プログラミング入門2 第2回 複合文、繰り返し 情報工学科 篠埜 功.
トキのカタチ2016 電子工作(Arduino)講習
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
第7回 条件による繰り返し.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
繰り返し計算 while文, for文.
プログラミング入門 電卓を作ろう・パートIV!!.
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
indentについて forやifの「中身」を右に寄せる. forやifの「外枠」は右に寄せない. int x; x = 3;
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
プログラムの制御構造 配列・繰り返し.
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
プログラミングⅡ 第2回.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
Indent.
C言語,ソースファイルの作成,コンパイル,実行
C言語復習 来週もこの資料を持参してください.
C#プログラミング実習 第2回.
C言語講座 制御(選択) 2006年 計算技術研究会.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
プログラミング1 プログラミング演習I 第2回.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング序論演習.
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
第2章 数値の入力と変数 scanfと変数をやります.
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
計算技術研究会 C言語講座 第二回 制御構文 if , switch.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
Presentation transcript:

復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される int a; scanf("%d", &a); if ( a > 10 ) { a = 2*a; } printf("aの値は%d\n", a); キーワード カッコが必要 条件 真(true)なら この中が 実行される

復習 if ~ else~選択制御文(条件分岐) aを入力 true false aを2倍する aを3倍する 偽(false)なら この中が int a; scanf("%d", &a); if ( a > 10 ) { a = 2*a; } printf("aの値は%d\n", a); aを3倍する else { a = 3*a; } 偽(false)なら この中が 実行される

復習 いろいろな条件式と関係演算子 半角文字 a > b a ≧ b a < b a ≦ b a = b a ≠ b Cのソース 大原則 「=」記号は常に右側に付く a > b a ≧ b a < b a ≦ b a = b a ≠ b 5 < a かつ a < 10 10 > a または 15 < a 10 > a ではない if (a > b) if (a >= b) if (a < b) if (a <= b) if (a == b) if (a != b) if (5<a && a<10) if (10>a || 15<a) if ( !(10 > a) ) !注意! 等号が二つ かつ これはダメ 5 < a < 10 または 否定

復習 単文と複文 単文 文 → 単文 or 複文 if (条件) 文1 セミコロンが必要 else 複文 文2 printf("負の数です\n"); 文 → 単文 or 複文 C言語の文法 a = 2*a; if (条件) 文1 else 文2 セミコロンが必要 複文 { b = 10; a = 2*b; printf("aは%dである\n",a); } これらの文1と文2は単文でも複文でもOK { a = 2*a; } a = 2*a; と単文で書いても同じ

復習 単文と複文(2) if (条件) 文1 else 文2 if (条件1) 文1 else 文2 if (条件1) 文1 else   文2 if (条件1) 文1 else if (条件2) 文2 文3 int main(void) { int x; printf("整数値xを入力してください:"); scanf("%d", &x); if (x < 5) printf("xの値は5未満です\n"); } else if (x >= 5 && x < 10) printf("xの値は5以上10未満です\n"); else printf("xの値は10以上です\n"); 複文 整数値xを入力してください:3 xの値は5未満です 整数値xを入力してください:8 xの値は5以上10未満です 整数値xを入力してください:12 xの値は10以上です

(a) ある処理を定められた回数繰り返す処理 (b) 一定の条件を満たすまで繰り返す処理 反復処理(反復制御文) これがコンピュータの仕事だ プログラムにおける反復処理→ (a) ある処理を定められた回数繰り返す処理 (b) 一定の条件を満たすまで繰り返す処理 C言語における反復処理 → 3種類 (a) ある定められた回数だけ反復処理を行う for 文 (b) ある条件が成り立つ間だけ反復処理を行う i) 反復処理の初めに条件を調べる場合 while 文 ii) 反復処理の終わりに条件を調べる場合 do while 文

一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ i = 0 「ループ」と呼ぶ i = 0 false i < 3 「何かの処理」 を3回反復する場合 true 何かの処理 i の値を1増加 i = 1 i = 2 i = 3

for文のパターン(ある回数だけ文を実行する場合) キーワード セミコロン int i; for ( i = 0 ; i < 3 ; i++ ) { printf("A"); } カッコが必要 i = 0 この中が3回 実行される false i < 3 AAA true ループ変数 i = 0 でスタートして i < 3 の間は反復 何かの処理 何かの処理は3回実行される i の値を1増加 int a; for (a = 0; a < 5; a++) { printf("B\n"); } B

ソース中の実行順のイメージ i = 0 False false True i < 3 true int i; for ( i = 0 ; i < 3 ; i++ ) { printf("A"); } ➋ ➊ i = 0 ➊ ➍ False ➌ True false i < 3 ➋ true ➌ 何かの処理 ➍ i の値を1増加 AAA

ループ変数(1) i = 0 false i < 5 true ループ変数iの値を表示 初期値 繰り返しの条件 (反復条件) int i; for (i = 0; i < 5; i++) { printf("%d\n", i); } 1 2 3 4 false i < 5 ループ 変数の 値は1 づつ増加 true ループ変数iの値を表示 何かの処理 int i; for (i = 2; i < 5; i++) { printf("%d\n", i); } 2 3 4 i の値を1増加 初期値 int i; for (i = 3; i < 7 ; i++) { printf("%d\n", i); } 3 4 5 6 繰り返しの条件 (反復条件)

ループ変数が7より小さいか等しい間は繰り返す! ループ変数(2) ループ変数の 初期値は3 int i; for (i = 3; i <= 7; i++) { printf("%d\n", i); } 3 4 5 6 7 ループ変数が7より小さいか等しい間は繰り返す! ちょっと応用問題 次のプログラムの実行結果はどうなる? int k; for (k = 3; k <= 7; k++) { printf("%d\n", 2*k); } 6 8 10 12 14

ループ変数が3より大きいか等しい間は繰り返す! i >= 3 true false i = 7 i の値を1減少 何かの処理 ループ変数(3) ループ変数の値が減っていく反復は どう書く? ループ変数の 初期値は7 int i; for (i = 7; i >= 3; i--) { printf("%d\n", i); } 7 6 5 4 3 ループ変数が3より大きいか等しい間は繰り返す! a++ → 変数aの値を1増やす a-- → 変数aの値を1減らす

i=i+1は変数iの値を1増やす.i++と同じ. ループ変数(4) int i; for (i = 3; i <= 7; i = i + 1) { printf("%d\n", i); } 3 4 5 6 7 ちょっと応用問題 次のプログラムの実行結果はどうなる? int i; for (i = 3; i <= 10; i = i + 2) { printf("%d\n", i); } 3 5 7 9 ループ変数の ステップ値は2 i=i+2は変数iの値を2増やす