Microsoft PowerPoint - C1(演算と変数).ppt

Similar documents
Microsoft PowerPoint - C4(反復for).ppt

プログラミング実習I

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

cp-7. 配列

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

PowerPoint Presentation

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

Microsoft Word - 3new.doc

ゲームエンジンの構成要素

講習No.1

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx

gengo1-2

講習No.9

Microsoft Word - Cプログラミング演習(1)_2012

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft Word - no103.docx

プログラミングI 第2回 数理物理,総合理学等向け

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

プログラミング基礎

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - 3.pptx

第2回講義:まとめ

演算増幅器

Prog1_2nd

PowerPoint Presentation

プログラミング 1 プログラミング演習 I プログラミングの重要性 プログラミング言語をなぜ勉強するのか? 世界的に有名な日本のある IT 企業の社長が求める人材に 必要なスキル 1. プログラミング (C 言語 ) 2. 数学 3. 英語 #-1 #-2 プログラミングはどこで使えるのか? 1.

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

Microsoft Word - no02.doc

Microsoft Word - COMP-MATH-2017-FULLTEXT.doc

Taro-Basicの基礎・はじめに(公

Microsoft PowerPoint - program.ppt [互換モード]

スライド 1

Microsoft PowerPoint - CproNt02.ppt [互換モード]

ポインタ変数

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - handout07.ppt [互換モード]

JavaプログラミングⅠ

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

Cプログラミング1(再) 第2回

Microsoft Word - no11.docx

講習No.10

Microsoft PowerPoint - ruby_instruction.ppt

PowerPoint プレゼンテーション

Microsoft Word - java a.doc

02: 変数と標準入出力

Microsoft PowerPoint - kougi2.ppt

PowerPoint Presentation

JavaプログラミングⅠ

プログラミングA

PowerPoint プレゼンテーション

プログラミング基礎

Microsoft PowerPoint - 5Chap15.ppt

Microsoft PowerPoint - lec10.ppt

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =

スライド 1

プログラミング入門1

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

Microsoft PowerPoint - prog03.ppt

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

第9回 配列(array)型の変数

ポインタ変数

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - class04.ppt

Microsoft PowerPoint - prog04.ppt

PowerPoint Presentation

物質工学科 田中晋

Microsoft PowerPoint - 第3回目.ppt [互換モード]

02: 変数と標準入出力

模擬試験問題(第1章~第3章)

pp2018-pp9base

Microsoft PowerPoint - kougi4.ppt

gengo1-8

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

講習No.8

Prog1_6th

プログラミング実習I

初歩のC言語ターミナル_2014_May.pages

kantan_C_1_iro3.indd

Microsoft PowerPoint - kougi6.ppt

8 / 0 1 i++ i 1 i-- i C !!! C 2

プログラミングA

マークアップ言語

Microsoft PowerPoint - Prog05.ppt

memo

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

sinfI2005_VBA.doc

kiso2-03.key

JavaプログラミングⅠ

Microsoft Word - no202.docx

計算機プログラミング

プログラミングA

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

デジタル表現論・第6回

PowerPoint プレゼンテーション

Transcription:

C 言語プログラミング 式の計算と変数 配列の概念 50 人の生徒の点数の平均点, 最高点 最低点を求めるプログラム ( センター入試 23 年度数学 2 情報関係基礎 第 3 問 ) (01) sowa 0, saiko 0, saitei 100 代入文 : 変数に値を代入 ( 格納 ) する (02) 配列 TNin のすべての要素を 0 にするための文 (03) bango を 1 から 50 まで 1 ずつ増やしながら, (04) s Tensu [bango] (05) sowa ア + イ (06) もし s > ウ ならば (07) エ s (08) を実行する (09) もし s < オ ならば (10) カ s (11) を実行する 条件判定文 繰返し文 (12) TNin [ キ ] を 1 増やす (13) を繰り返す (14) heikin sowa / 50 sowa 50 の値を heikin に代入する (15) heikin と saiko と saitei を表示する 1

/* 計算プログラム /* と で囲まれた文字列は注釈 ( コメント ) 注釈はプログラムの実行には関係しない puts(" 上底 4, 下底 8, 高さ6の台形の面積を求めます ") ; printf(" 面積は %d です n", (4+8)*6/2) ; プログラムの先頭に必ず書くオマジナイ プログラムの本体 (body) は中括弧 ではじめ, 中括弧 で終える プログラムを終了させる部分には と書く C プログラムは文の列からなる 文末は ; ( セミコロン ) をつける 文字列 / 数値を表示する puts (put string) 関数 表示したい文字列を " ( 二重引用符 ) で囲む 表示後, 自動的に改行される printf (print with format) 関数 表示したい文字列を " ( 二重引用符 ) で囲む 改行するには n と書く 文字列のほかに, 式の値 も表示できる printf(" 面積は %d です n", (4+8)*6/2 ) ; 面積は と表示して, 以降に指定される式の値を 10 進で表示し, 最後に 改行 する ( n) %d の部分が式の値に置き換わって画面に表示される (%d は 10 進 (decimal) で値を表示することを意味する ) cf. printf( 面積は (4+8)*6/2 です n ); と書いてしまうと, 面積は (4+8)*6/2 です と表示されます 2

例 printf("bye!") printf("%d",10) printf(" 答 %d",10) printf 関数の用例表示 Bye! 10 答 10 説明 文字列を表示を表示文字列とを表示 printf("%d と %d", 10, -20) printf("%d n%d", 1, 2) printf ("%d %d n", 4+5, 4*5) 10 と -20 1 2 9 20 と文字を表示 途中で改行して表示 式の値を表示 演算子加算 + 減算 乗算 * 除算 / 剰余 % 同士の除算結果は小数点以下切捨て又は四捨五入 同士の場合のみ演算可 演算の優先順位 加算, 減算 < 乗算, 除算, 剰余 算数で習う順序と同じ ( 同じ優先順位の場合は左から順に計算される ) 小括弧付きの式があれば, 小括弧内の演算が優先される ( 小括弧のみ使用可 中括弧, 大括弧は使用不可 ) a b u v (a+b) (c+d) (u+v) (x+y) a*b / u*v は間違い, a*b / u / v と表記するあるいは a*b / (u*v) と表記する (a + b)*(c + d) / ((u +v)*(x + y)) あるいは (a + b)*(c + d) / (u +v) / (x + y) 3

/* 計算プログラム puts(" 上底 4, 下底 8, 高さ6の台形の面積を求めます ") ; printf(" 面積は %d です n", (4+8)*6/2) ; このプログラムでは, 上底 4, 下底 8, 高さ6の台形の面積しか計算できない 上底, 下底, 高さの値をキーボードから入力できるようにするには 変数 の利用 変数 の概念 変数 : 値を保存 ( 格納 ) する場所 変数 を使うには, 変数の宣言 が必要 int a, b, h ; int : integer( ) の意味 キーボードからの数値の入力 scanf("%d", &a); キーボードから 10 進を読み込んで, その値を変数 a に格納する int a,b,h; puts(" 台形の面積を求めます "); printf(" 上底は "); scanf("%d",&a) ; printf(" 下底は "); scanf("%d",&b) ; printf(" 高さは "); scanf("%d",&h) ; 変数宣言 キーボードから数値を読み込むには scanf 関数を使う scanf 関数では変数の前に & を付けることに注意! 1 行に複数の文を書いてもよい ( 意味にまとまりがあれば,1 行で書いたほうがよい ) 4

変数 の宣言 int a, b, h ; 変数の値の保存場所がメモリ内に確保される scanf の働き scanf("%d", &a) ; scanf("%d", &b) ; scanf("%d", &h) ; 1 2 3 キーボードから, 最初に 4 と入力すると, 1 a の場所に 4 が格納される 次に 8 と入力すると, 2 b の場所に 8 が格納される 次に 6 と入力すると, a b h a b h a b h : 不定値 注意 : scanf 関数では, 変数名の前に必ず & を付ける 4 4 8 場所を確保しただけでは, どんな値になっているかわからない /* 変数を使った計算プログラム int a, b, h ; puts(" 台形の面積を求めます ") ; printf(" 上底は "); scanf("%d",&a) ; printf(" 下底は "); scanf("%d",&b) ; printf( 高さは "); scanf("%d",&h) ; printf(" 面積は %d です n", (a+b)*h/2) ; 変数宣言 キーボードから数値を読み込むには scanf 関数を使う scanf 関数では変数の前に & を付けることに注意! 5

変数の値を使った計算 printf(" 面積は %d です n", (a+b)*h/2) ; a b h 4 8 6 式 (a + b)*h/2 はそれぞれの変数 (a,b,h) の値を使って計算される /* 変数を使った計算プログラム int a, b, h ; puts(" 台形の面積を求めます ") ; printf(" 上底は "); scanf("%d", &a ) ; printf(" 下底は "); scanf("%d", &b ) ; printf( 高さは "); scanf("%d", &h ) ; printf( 面積は %d です n, ( a+b)*h/2) ; 6

配列 (array) 変数 : 配列 : 一つの変数には一つの値を保持する 一つの配列に複数の値を保持することができる 例 :A という名前の 5 個の要素をもつ型の配列 C 言語での型配列の宣言 int A[5] ; A[0] A[1] A [2] A [3] A [4] 配列名添え字 (subscript) 第 0 要素 第 1 要素 第 2 要素 第 3 要素 第 4 要素 配列の添え字は 0 から始まる /* 配列を使った計算プログラム int A[3] ; puts(" 台形の面積を求めます ") ; printf( 上底は ); scanf( %d, &A[0]) ; printf( 下底は ); scanf( %d, &A[1]) ; printf( 高さは ); scanf( %d, &A[2]) ; printf( 面積は %d です n, (A[0]+A[1])*A[2] /2); 配列の宣言 キーボードから数値を読み込むには scanf 関数を使う scanf 関数では変数の前に & を付けることに注意! 7

課題 (1-1) 平成元号年を入力して, 西暦年を表示するプログラムを作成し, 正しく動作することを確認せよ 例えば,23 と入力したら, 平成 23 年は西暦 2011 年です と表示させる ( 平成 23 年は という部分も表示させることに注意 ) ( ヒント : 平成の元号年を a とすると, 西暦年は 1988+a ) (1-2) 鶴と亀の頭の数の合計と足の数の合計を入力して, 鶴が何羽, 亀が何匹いるかを表示するプログラムを作成し, 正しく動作することを確認せよ ( ヒント : 頭の数と足の数を変数として, 鶴の数と亀の数について連立方程式を作り, 解を与える式の値を表示させればよい ) 考察事項 頭の数の合計を 9, 足の数の合計を 28 としたとき, どのような結果が得られるか その結果は正しいか また, 頭の数の合計を 5, 足の数の合計を 28 とした場合にはどのような結果が得られるか その結果は正しいか, 正しくないとするとなぜ正しくないか, 考察せよ (1-3) キーボードから入力される 5 個のを配列に格納し, 総和と平均を表示するプログラムを作成し, 正しく動作することを確認せよ 課題 作成したプログラム ( ソースプログラム ) とその実行結果をメールで送る メール本文中には, 必ずプログラムが正しくできていることの根拠を示すこと ( 例えば, のテストデータを与えてプログラムを実行させたら, の結果が得られた したがってプログラムは正しいことが確認できた といったような形式で報告すること (1-2) については, 考察事項 の内容について報告すればよい ) 今日の授業についての自分の理解の程度, 難しかった点, 感想 / コメントなどがあれば書いてください 上記により作成したメールを,b091147c@r.hit-u.ac.jp 宛に送る メールの 件名 欄は [11/28 課題 時限 ]( は自分の授業時限) とする メールの文末に自分の 署名 を付けること (11/7 授業課題 (2)) 8

課題 (1-2) 補足 頭の数を a, 足の数を b として, 鶴の数を x, 亀の数を y とすると 次の連立方程式が成り立つ x + y = a 1 2x + 4y = b 2 1,2を x と y について解くと, x = aとbからなる式 y = 1 と 2 の式をプログラム中に書いて,x と y の値を表示させる というのはダメ ( コンピュータはそれほど賢くない ) scanf( %d, &a); scanf( %d,&b); x + y = a ; これではダメ! 2*x + 4*y =b ; printf( 鶴は %d 羽, 亀は %d 匹, x,y); と の式の値を表示すればよい プログラムが正しくできたことの確認 ( プログラムの検証 ) テストデータを入力して合理的な結果が得られるかを確認する 正しいプログラムであることを確認することも, プログラミング活動の一部 プログラムは人間が作るもの 人間は間違いを犯す 間違った考えで作られたプログラムは間違った結果をもたらす = 間違ったプログラムは何の役にもたたない! コンパイラは, 文法的なエラーは見つけてくれるが, 人間の考えの誤りによるプログラムの間違いまでは見つけてくれない ( コンピュータは人間がプログラムしたことを忠実に実行する機械なのです ) 9