プログラミングⅡ 第2回.

Slides:



Advertisements
Similar presentations
山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
Advertisements

プログラミング演習( 2 組) 第 9 回
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
ループで実行する文が一つならこれでもOK
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
プログラミング基礎I(再) 山元進.
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
プログラミングができるようになるには…. 一週間に1回では無理! 自分の力でできるだけがんばる
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
プログラミング基礎I(再) 山元進.
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
プログラミング入門 第5回講義 第5回講義 制御の流れ(1) ループ(その1) - while - インデント(3) ループとは(7)
プログラミング序論演習.
C言語 配列 2016年 吉田研究室.
コンピュータープログラミング (C言語)(6) 1.条件分岐2(switch文、復習) 2.繰り返し処理(for文、while文)
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
第6章 2重ループ&配列 2重ループと配列をやります.
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
繰り返し計算 while文, for文.
アルゴリズムとプログラミング (Algorithms and Programming)
高度プログラミング演習 (03).
第7回 条件による繰り返し.
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
第4章 反復作業を楽にする方法!! ~繰り返しその1 while~
プログラミング序論演習.
知能情報工学演習I 第11回( C言語第5回) 課題の回答
C#プログラミング実習 第2回.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
第5回 プログラミングⅡ 第5回
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
ループだよ!難しいよ! 第5章 while(ループ);.
ループだよ! 第7章 for(ループ応用);.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
プログラミング1 プログラミング演習I 第2回.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
知能情報工学演習I 第11回(後半第5回) 課題の回答
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
情報処理技法(Javaプログラミング)1 第8回 同じ処理を何回も繰り返すには?
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

プログラミングⅡ 第2回

今日の内容 前回の課題説明 制御文 for文 while文 do while文

前回の課題 10月2日の課題(No.1 – No.3) pdfファイル

前回の課題 課題No.1 整数値15から37を引いた値を計算して「15から37を引いた値はー22です.」と表示するプログラムを作れ。

前回の課題 課題No.2 x,yをキーボードから入力し,以下の式を計算・表示するプログラムを作成せよ(演算の優先順位に注意

前回の課題 課題No.3 テストの点数をキーボードから入力させて,その値が 100点以下80点以上ならば,「素晴らしい」,  100点以下80点以上ならば,「素晴らしい」,  79点以下70点以上ならば,「Goodです」,  69点以下60点以上ならば,「OKです」  60点未満ならば,「がんばりましょう」 と判定・表示するプログラムを作成せよ.

繰り返し制御 ある処理を繰り返し行う 開始 開始 処理1 処理1 処理2 処理2 処理3 処理3 終了 終了 n回 繰り返す ある条件の間,繰り返す 処理3 処理3 終了 終了

繰り返し制御の方法 for文を使う方法 while文を使う方法 do-while文を使う方法

for文 希望する回数だけ処理を繰り返し行う for (初期設定式; 継続条件式; 再設定式) { 文1; 文2; … } (例) for ( i = 0; i < 10; i++ ) { 文; }

for文 for (初期設定式; 継続条件式; 再設定式) 初期設定式:最初のみ実行される式 継続条件式:繰り返し行うための条件式 (この条件式が真の間は繰り返す) 再設定式:一回のループ終了時に実行される式

for文 for ( i = 初期値; i < iの上限値; iの増加量) 初期値:変数iの初期値

for文 for ( i = 0; i < 3; i++ ) { 文A; } 文B; 0→ i i < 3 文A 次行に書いてもOK for ( i = 0; i < 3; i++ ) { 文A; } 文B; 0→ i FALSE 3回繰り返す i < 3 TRUE 文A iを1増やす i + 1→ i 文B

for文のプログラム int i; printf(“--- for文開始\n”); for (i = 0; i < 10; i++) { printf(“iの値は%d\n”,i); } printf(“--- for文終了\n”); --- for文開始 iの値は0 iの値は1 iの値は2   … iの値は9 --- for文終了 iの値は10

for文のプログラム int i; printf(“--- for文開始\n”); for (i = 0; i <= 10; i++) { print(“iの値は%d\n”,i); } printf(“--- for文終了\n”); printf(“iの値は%d\n”,i); ループが1回増える(11回) --- for文開始 iの値は0 iの値は2   … iの値は8 iの値は9 iの値は10 --- for文終了 iの値は11

for文のプログラム int i; printf(“--- for文開始\n”); for (i = 0; i < 10; i+=2) { print(“iの値は%d\n”,i); } printf(“--- for文終了\n”); printf(“iの値は%d\n”,i); iは2ずつ増えている --- for文開始 iの値は0 iの値は2 iの値は4   … iの値は8 --- for文終了 iの値は10

for文のプログラム int i; printf(“--- for文開始\n”); for (i = 3; i < 10; i+=2) { print(“iの値は%d\n”,i); } printf(“--- for文終了\n”); printf(“iの値は%d\n”,i); iの初期値は3になった iは2ずつ増えている 最終的にiは11 --- for文開始 iの値は3 iの値は5 iの値は7 iの値は9 --- for文終了 iの値は11

for文のプログラム int i; printf(“--- for文開始\n”); for (i = 10; i > 0; i--) { print(“iの値は%d\n”,i); } printf(“--- for文終了\n”); printf(“iの値は%d\n”,i); iの初期値は10 iは1ずつ減少 最終的にiは0 --- for文開始 iの値は10 iの値は9   … iの値は1 --- for文終了 iの値は0

1から10までの和を求めよう 開始 0 → sum 1→ i i <= 10 sum + i → sum i + 1→ i 終了 10回繰り返す FALSE i <= 10 sumにiを加える TRUE sum + i → sum iを1増やす i + 1→ i 終了

1から10までの和を求めてみよう int i; int sum; sum = 0; for ( i = 1; i <= 10; i++ ) { sum = sum + i; printf(“ i = %d sum = %d\n”,i,sum); } printf(“1から10までの和は%dです\n”,sum); sumとiの和を,sumに代入 sum += i;

1から10までの奇数だけの和を求めてみよう int i; int sum; sum = 0; for ( i = 1; i <= 10; i+=2 ) { sum += i; printf(“ i = %d sum = %d\n”,i,sum); } printf(“1から10までの奇数の和は%dです\n”,sum);

1から10までの奇数だけの和を求めてみよう int i; int sum; sum = 0; for ( i = 1; i <= 10; i++ ) { if ( i % 2 == 1 ) sum = sum + i; printf(“ i = %d sum = %d\n”,i,sum); } printf(“1から10までの奇数の和は%dです\n”,sum);

多重ループ 九九の表を表示するプログラムを作りたい

1の段 for ( i = 1; i <= 9; i++) { printf(“%d ”, i); }

2の段 for ( i = 1; i <= 9; i++) { printf(“%d ”, i*2); }

1から3までの段をまとめて表示 問題3: 『 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27』 と表示するプログラムを作りなさい.

多重ループ ×3 int i; for (i = 1; i <= 9; i++) { printf(“%d “, i*?); } int i; for (i = 1; i <=9; i++) { printf(“%d “, i); } printf(“\n”); printf(“%d “, i*2); printf(“%d “, i*3); int i; for (i = 1; i <= 9; i++) { printf(“%d “, i*?); } printf(“\n”); ×3 まとめる! 「?」は1回目は1,2回目は2,3回目は3、という具合に変化すれば良い

多重ループ for (j = 1; j <= 3; j++) { for (i = 1; i <= 9; i++) { printf(“%d “, i*?); } printf(“\n”); i*j); }

多重ループ for (j = 1; j <= 9; j++) { for (i = 1; i <= 9; i++) { printf(“%2d “, i*j); } printf(“\n”); }

多重ループ for (… ) { for (…) { 文; }

while文のプログラム while (継続条件式) { 文1; 文2; … } 継続条件式が真(0以外) ⇒ 文1,文2,…を繰り返す 継続条件式が真(0以外) ⇒ 文1,文2,…を繰り返す 継続条件式が偽にならないと,ループから抜け出せない

while文のプログラム int n; n = 1; while (n < 10) { printf(“好きな数を入力してください”); scanf(“%d”,&n); printf(“入力値は%d\n”,n); } printf(“やっとwhile文を抜けましたね\n”);

while文のプログラム(無限ループ) TRUE while (1) { printf(“好きな数を入力してください”); scanf(“%d”,&n); printf(“入力値は%d\n”,n); } printf(“やっとwhile文を抜けましたね\n”); 無限ループ (いつまで経っても抜けられないループ)

while文のプログラム(break) 無限ループ while (1) { printf(“好きな数を入力してください”); scanf(“%d”,&n); printf(“入力値は%d\n”,n); if ( n == 1192 ) break; } printf(“やっとwhile文を抜けましたね\n”); ループを強制的に抜ける

while文のプログラム(break) while (1) { printf(“暗証番号は?”); scanf(“%d”,&n); if ( n == 1192 ) break; else printf(“暗証番号が間違っています\n”); } printf(“暗証番号を確認しました\n”);

繰り返し制御(1からnまでの和) 開始 0 → sum 1→ i i <= n sum + i → sum i + 1→ i 終了 FALSE i <= n sumにiを加える TRUE sum + i → sum iを1増やす i + 1→ i 終了

繰り返し制御(1からnまでの和) for文を使う方法 sum = 0; for ( i=1; i <= n; i++ ) { n回繰り返す (for文実行条件) for文を使う方法 sum = 0; for ( i=1; i <= n; i++ ) { sum += i; // sum = sum + iでも同じ } 初期値 増加量

繰り返し制御(1からnまでの和) while文を使う方法 sum = 0; i = 1; while ( i <= n ) { sum += i; // sum = sum + iでも同じ i++; } 初期値 n回繰り返す (while文実行条件) 増加量

繰り返し制御(1からnまでの和) for文を使う方法 for (式1;式2;式3) { 文; } while文を使う方法 式1; 文; 式3;

繰り返し制御(1からnまでの和) 開始 開始 0 → sum 0 → sum 1→ i i <= n sum + i → sum 合計 i : 1, 1, n FALSE i <= n sum + i → sum TRUE sum + i → sum 合計 i + 1→ i 終了 終了

繰り返し制御(1からnまでの和) 合計 i : 1, 1, n 開始 0 → sum ループ端 sum + i → sum 終了 合計 増加量 0 → sum ループ端 合計 i : 1, 1, n 合計 i : 1, 1, n sum + i → sum 変数名 n回繰り返す 合計 初期値 終了

繰り返し(do-while文) int main() { int i, n; int sum = 0; printf(“n = “); scanf(“%d”,&n); 負の値が入力されたときは,繰り返す nに負の値を入力されると,計算できない nに正の値が入力されるまで,入力状態とする

繰り返し(do-while文) 入力部分のフローチャート nを入力 n <=0 FALSE TRUE

nの値によっては,while文に入らないこともある! 繰り返し(do-while文) int main() { int i, n; int sum = 0; while ( n <= 0 ) { printf(“n = “); scanf(“%d”,&n); } nの値によっては,while文に入らないこともある! while文 ⇒ ループの最初に条件判定が行われる

繰り返し(do-while文) int main() { int i, n; int sum = 0; while ( n <= 0 ) { printf(“n = “); scanf(“%d”,&n); } do { printf(“n = “); scanf(“%d”,&n); } while (n <= 0); while文 ⇒ ループの最初に条件判定が行われる do-while文 ⇒ ループの最後に条件判定が行われる