140 likes | 268 Views
情報技術 ~アルゴリズムと C 言語~. 2011 年 12 月 22 日 笠井俊信. 処理の基本要素. 入力 変数に値を読み込む 出力 変数の値を表示や印刷する 代入 変数に値を与える 参照 変数の値を使う 演算 算術演算,関係演算,論理演算. C 言語における処理の基本構造(順次). #include<stdio.h> void main(void) { 型宣言 ; 文 1 文 2 ・・・ }. ・・・おまじない!?(絶対に必要!). ・・・メイン関数(絶対に必要!). C 言語における処理の基本構造(選択). if ( 式 ){
E N D
情報技術~アルゴリズムとC言語~ 2011年12月22日 笠井俊信
処理の基本要素 • 入力 • 変数に値を読み込む • 出力 • 変数の値を表示や印刷する • 代入 • 変数に値を与える • 参照 • 変数の値を使う • 演算 • 算術演算,関係演算,論理演算
C言語における処理の基本構造(順次) #include<stdio.h> void main(void) { 型宣言; 文1 文2 ・・・ } ・・・おまじない!?(絶対に必要!) ・・・メイン関数(絶対に必要!)
C言語における処理の基本構造(選択) if (式){ 文1 } else{ 文2 } 条件(式) No Yes 例: if (a>=0){ sum=sum+a; printf(”%d\n”, sum); } else printf(”data error\n”); 処理(文)1 処理(文)2 改行
演習問題2 問題: ある数の絶対値を求める手順を示せ. • 数値を入力する • (条件分岐):絶対値を求める • もし数値が正または零ならば その数値が絶対値 • そうでないなら数値と-1の積が絶対値 • 絶対値を出力
演習問題2(Cプログラム) #include <stdio.h> void main(void) { int a, kai; scanf(“%d”, &a); if(a>=0){ kai=a; } else{ kai=a*(-1); } printf(“%d\n”, kai); } • 数値を入力する • (条件分岐):絶対値を求める • もし数値が正または零ならば • その数値が絶対値 • そうでないなら数値と-1の積が絶対値 • 絶対値を出力
C言語における処理の基本構造(繰り返し1) 式1 for(式1;式2;式3){ 文 } 条件(式2) No Yes 例: int i, sum=0; for(i=1;i<=10;i++){ sum=sum+i; } printf(”%d\n”, sum); 処理(文) 式3
演習問題3 問題: ある数字から始めて,零になるまでカウントダウン する順序を示せ. • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力
演習問題3のCプログラムの例 #include <stdio.h> void main(void) { int a, count; scanf("%d", &a); for(count=a;count>=0;count--){ printf("%d\n",count); } printf("カウントダウン終了\n"); } • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力
演習問題4 問題: 整数データを10個入力していき,合計と平均 (整数値)を求めて表示する手順を示せ. • カウンタと変数SUMの値を0に設定 • (繰り返し)カウンタの値が10未満である限り • 数値を入力する • 入力された数値をSUMに加算 • カウンタの値を1だけ増やす • 合計値(SUM)を出力 • 平均値(SUM/10)を出力
演習問題4のCプログラムの例 #include <stdio.h> void main(void) { int dat, sum, i; sum=0; for (i=0;i<10;i++){ scanf("%d", &dat); sum = sum + dat; } printf("合計 = %d\n", sum); printf("平均 = %d\n", sum/i); } • カウンタと変数SUMの値を0に設定 • (繰り返し)カウンタの値が10未満である限り • 数値を入力する • 入力された数値をSUMに加算 • カウンタの値を1だけ増やす • 合計値(SUM)を出力 • 平均値(SUM/10)を出力
C言語における処理の基本構造(繰り返し2) while(式){ 文 } 条件(式) No Yes 例: int i=1, sum=0; while(i<=10){ sum=sum+i; i++; } printf(”%d\n”, sum); 処理(文)
演習問題3’ 問題: ある数字から始めて,零になるまでカウントダウン する順序を示せ. • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力
演習問題3’のCプログラムの例 #include <stdio.h> void main(void) { int count; scanf("%d", &count); while (count>=0){ printf("%d\n",count); count--; } printf("カウントダウン終了\n"); } • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力