プログラムの仕組み (0 1) bit...

29
みなさんに, もう一つ, お願い 05/13 までに 教科書の 第 1 章は読んでおいてください プログラムの仕組み 二進数 (0 1) とは bit byte 教科書の 第 2,3 章は読んでおいてください 変数とデータ型

Upload: others

Post on 07-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

みなさんに, もう一つ, お願い

05/13 までに教科書の 第 1 章は読んでおいてください

プログラムの仕組み二進数 (0 と 1) とはbit と byte

教科書の 第 2,3 章は読んでおいてください変数とデータ型

Page 2: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

みなさんに, さらに, お願い

05/13 までに下記のプログラムを自分で書いて, 実行結果を確認してください.書いたプログラムの自分のパソコンへの保存法なども確認しておいてください.

Page 3: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

1: /* example 00 hello world */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* hello world を表示 */

7: printf( "Hello World!\n" );

8:

9: return 0;

10:

11: }

Page 4: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

1: /* example 01 hello world and more */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* hello world を表示 */

7: printf( "Hello World!\n" );

8:

9: /* こんにちはを表示 */

10: printf( "こんにちは!\n" );

11:

12: /* hello world と こんにちは を表示 */

13: printf( "Hello World!\n" "こんにちは!\n" );

14:

15: return 0;

16:

17: }

Page 5: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

1: /* format 01 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int a, b, c;

8:

9: a = 10;

10: b = 15;

11:

12: c = a + b;

13:

14: /* 答えを表示 */

15: printf( "%d たす %d は %d です\n", a, b, c );

16:

17: return 0;

18:

19: }

Page 6: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

1: /* format 02 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: float a, b, c;

8:

9: a = 0.5;

10: b = 10.5;

11:

12: c = a + b;

13:

14: /* 答えを表示 */

15: printf( "%f たす %f は %f です\n", a, b, c );

16:

17: return 0;

18:

19: }

Page 7: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

みなさんに, 今日最後のお願い

05/13 までにたし算, 引き算, かけ算, わり算を実行する 4 つのプログラムは, 完成させておいてください教科書の 第 5 章を読んでおいてください

制御文

Page 8: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

キーボードからの入力

今日の本題 制御文 の前に, 少しだけ キーボードからの入力

Page 9: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

キーボードからの入力1: /* scanf01.c */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int a;

8:

9: /* scanf 関数で整数を入力 */

10: printf( "整数を入力してください----- " );

11: scanf( "%d", &a );

12: printf( "あたなの入力した整数は %d です\n", a );

13:

14: return 0;

15:

16: }

Page 10: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

キーボードからの入力1: /* scanf02.c */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: float a;

8:

9: /* scanf 関数で字数を入力 */

10: printf( "実数を入力してください----- " );

11: scanf( "%f", &a );

12: printf( "あたなの入力した実数は %5.2f です\n", a );

13:

14: return 0;

15:

16: }

Page 11: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

キーボードからの入力

先週までに書いた たし算 引き算 かけ算 わり算 を実行する 4 つのプログラムを, キーボードから値を入力し, 計算を実行するように改良してください.

Page 12: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 if1: /* if00 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int a;

8:

9: a = 2;

10:

11: /* if 文 */

12: if ( a == 2 ){

13:

14: printf( "%d は、二です\n", a );

15:

16: }

17:

18: return 0;

19:

20: }

Page 13: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 if1: /* if01 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int a;

8:

9: a = 2;

10:

11: /* if 文 */

12: if ( a == 2 ){

13:

14: printf( "%d は、二です\n", a );

15:

16: } else if ( a == 3 ){

17:

18: printf( "%d は、三です\n", a );

19:

20: }

21:

22: return 0;

23:

24: }

Page 14: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 if1: /* if02 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int a;

8:

9: a = 2;

10:

11: /* if 文 */

12: if ( a == 2 ){

13:

14: printf( "%d は、二です\n", a );

15:

16: } else if ( a == 3 ){

17:

18: printf( "%d は、三です\n", a );

19:

20: } else {

21:

22: printf( "%d は、二でも三でもありません\n", a );

23:

24: }

25:

26: return 0;

27:

28: }

Page 15: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 for

1: /* for01.c */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* カウンタ用変数の宣言 */

7: int i;

8:

9: /* 9 回繰り返し */

10: for ( i = 1; i < 10; i = i + 1 ) {

11:

12: printf( "%d 回目の繰り返しです\n", i );

13:

14: }

15:

16: return 0;

17:

18: }

Page 16: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 for1: /* for11.c */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* カウンタ用変数の宣言 */

7: int i, j;

8:

9: /* 二重の繰り返し */

10: for ( i = 1; i < 4; i = i + 1 ) {

11:

12: for ( j = 1; j < 3; j = j + 1 ) {

13:

14: /* なんかプログラム */

15:

16: }

17:

18: }

19:

20: return 0;

21:

22: }

Page 17: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 for1: /* for21 1 から 100 までの和 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* カウンタ用変数の宣言 */

7: int i;

8:

9: /* 和を入れる変数 */

10: int sum;

11:

12: /* 1 から 100 までの和 */

13: sum = 0;

14:

15: for ( i = 1; i < 101; i = i + 1 ) {

16:

17: sum = sum + i;

18:

19: /* printf( "1 から %d までの和は %d です\n", i, sum ); */

20:

21: }

22:

23: printf( "1 から 100 までの和は %d です\n", sum );

24:

25: return 0;

26:

27: }

Page 18: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 while1: /* while00.c */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* カウンタ用変数の宣言 */

7: int i;

8:

9: /* 9 回繰り返し */

10: i = 1;

11:

12: while ( i < 10 ) {

13:

14: printf( "%d 回目の繰り返しです\n", i );

15:

16: i = i + 1;

17:

18: }

19:

20: return 0;

21:

22: }

Page 19: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

制御文 while1: /* while21 1 から 100 までの和 */

2: #include <stdio.h>

3:

4: int main( void ){

5:

6: /* カウンタ用変数の宣言 */

7: int i;

8:

9: /* 和を入れる変数 */

10: int sum;

11:

12: /* 1 から 100 までの和 */

13: i = 1;

14: sum = 0;

15:

16: while( i < 101 ) {

17:

18: sum = sum + i;

19:

20: printf( "1 から %d までの和は %d です\n", i, sum );

21:

22: i = i + 1;

23:

24: }

25:

26: return 0;

27:

28: }

Page 20: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

つぎのような実行結果を与えるプログラムを作成しなさい

Page 21: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

つぎのような実行結果を与えるプログラムを作成しなさい

Page 22: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

ピラミッドの前に階段 その 1

1: /* stair01.c */

2: #include<stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int n;

8:

9: /* カウンタ用変数の宣言 */

10: int i, j;

11:

12: /* scanf 関数で整数を入力 */

13: printf( "正の整数を入力してください----- " );

14: scanf( "%d", &n );

15: printf( "%d 段の階段です\n\n", n );

16:

17: /* n 段の階段をを作画 */

18: for ( i = 1; i < n + 1; i = i + 1 ) {

19:

20: /* 階段 */

21: for ( j = 1; j < i + 1; j = j + 1 ) {

22:

23: printf( "*" );

24:

25: }

26:

27: /* 改行 */

28: printf( "\n" );

29:

30: }

31:

32: /* 改行 */

33: printf( "\n" );

34:

35: return 0;

36:

37: }

Page 23: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

ピラミッドの前に階段 その 2

1: /* stair11.c */

2: #include<stdio.h>

3:

4: int main( void ){

5:

6: /* 変数の宣言 */

7: int n;

8:

9: /* カウンタ用変数の宣言 */

10: int i, j;

11:

12: /* scanf 関数で整数を入力 */

13: printf( "正の整数を入力してください----- " );

14: scanf( "%d", &n );

15: printf( "%d 段の階段です\n\n", n );

16:

17: /* n 段の階段をを作画 */

18: for ( i = 1; i < n + 1; i = i + 1 ) {

19:

20: /* 左側の空白 */

21: for ( j = 1; j < n - i + 1; j = j + 1 ) {

22:

23: printf( " " );

24: }

25:

26: /* 階段 */

27: for ( j = 1; j < i + 1; j = j + 1 ) {

28:

29: printf( "*" );

30:

31: }

32:

33: /* 改行 */

34: printf( "\n" );

35:

36: }

37:

38: /* 改行 */

39: printf( "\n" );

40:

41: return 0;

42:

43: }

Page 24: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

みなさんに, お願い

Page 25: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

キーボードからの入力

先週までに書いた たし算 引き算 かけ算 わり算 を実行する 4 つのプログラムを, キーボードから値を入力し, 計算を実行するように改良してください.

Page 26: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

このスライドで確認した if 文, for 文, while 文を使ったプログラムを自分で書いて, 実行結果を確認してください.

Page 27: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

つぎのような実行結果を与えるプログラムを作成しなさい

Page 28: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

つぎのような実行結果を与えるプログラムを作成しなさい

Page 29: プログラムの仕組み (0 1) bit bytedsr.eng.u-toyama.ac.jp/.../course/programming20/20slide.pdf教科書の第1 章は読んでおいてください プログラムの仕組み

教科書の 第 6 章を読んでおいてください関数