1 / 16

情報処理演習 ~ C 言語の基礎~

情報処理演習 ~ C 言語の基礎~. 2009 年 11 月 16 日 笠井俊信. 今後の予定. 11月23日 祝日 11月30日 休講 12月 7日 通常講義. アルゴリズムの例1. 問題: 2 つの数を入力し,その大きい方を出力する. アルゴリズムを示せ(日本語で). 2 つの数値を入力 (A,B) する (条件分岐):大きい方を求める もし A が B よりも大きいならば, A を出力. そうでないなら, B を出力.. C プログラムの例1. #include <stdio.h> void main(void) { int a,b;

rich
Télécharger la présentation

情報処理演習 ~ C 言語の基礎~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 情報処理演習~C言語の基礎~ 2009年11月16日 笠井俊信

  2. 今後の予定 • 11月23日 祝日 • 11月30日 休講 • 12月 7日 通常講義

  3. アルゴリズムの例1 問題: 2つの数を入力し,その大きい方を出力する. アルゴリズムを示せ(日本語で) • 2つの数値を入力(A,B)する • (条件分岐):大きい方を求める • もしAがBよりも大きいならば,Aを出力. • そうでないなら,Bを出力.

  4. Cプログラムの例1 #include <stdio.h> void main(void) { int a,b; scanf(“%d”, &a); scanf(“%d”, &b); if(a>b){ printf(“%d\n”, a); } else{ printf(“%d\n”, b); } } • 2つの数値を入力(A,B)する • (条件分岐):大きい方を求める • もしAがBよりも大きいならば,Aを出力. • そうでないなら,Bを出力.

  5. コンパイル (ファイルを保存しないと  できない) (プログラムの文法チェック) (実行ファイルの作成)

  6. コンパイルメッセージの例 絶対に修正が必要 修正しなくても実行可能

  7. 実行 (コンパイルが成功しないと  実行できない)

  8. 実行例

  9. 演習問題1 問題:  ある数の絶対値を求める手順を示せ. • 数値を入力する • (条件分岐):絶対値を求める • もし数値が正または零ならば その数値が絶対値 • そうでないなら数値と-1の積が絶対値 • 絶対値を出力

  10. 演習問題1(Cプログラム) #include <stdio.h> int main(void) { int a, kai; scanf("%d", &a); if (a>=0) kai=a; else kai=a*(-1); printf("%d\n", kai); } • 数値を入力する • (条件分岐):絶対値を求める • もし数値が正または零ならばその数値が絶対値 • そうでないなら数値と-1の積が絶対値 • 絶対値を出力

  11. 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

  12. C言語における処理の基本構造(繰り返し2) while(式){ 文 } 条件(式) No Yes 例: int i=1, sum=0; while(i<=10){ sum=sum+i; i++; } printf(”%d\n”, sum); 処理(文)

  13. アルゴリズムの例 問題:  ある数字から始めて,零になるまでカウントダウン する順序を示せ. • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力

  14. int a, count; scanf("%d", &a); for(count=a;count>=0;count--){ printf("%d\n",count); } Cプログラムの例 #include <stdio.h> void main(void) { int count; scanf("%d", &count); while (count>=0){ printf("%d\n",count); count--; } printf("カウントダウン終了\n"); } • 数値を入力 • カウンタに入力した数値を設定 • (繰り返し)カウンタの値が正または零である限り • カウンタの値を出力 • カウンタの値を1だけ減らす • カウントダウン終了のメッセージを出力

  15. 演習問題2 問題:  整数データを10個入力していき,合計と平均 (整数値)を求めて表示する手順を示せ. • カウンタと変数SUMの値を0に設定 • (繰り返し)カウンタの値が10未満である限り • 数値を入力する • 入力された数値をSUMに加算 • カウンタの値を1だけ増やす • 合計値(SUM)を出力 • 平均値(SUM/10)を出力

  16. i=0; while(i<10){ scanf ("%d", &dat); sum = sum + dat; i++; } 演習問題2(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)を出力

More Related