プログラミング入門 電卓を作ろう・パートIV!!.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
C 言語講座 第 7 回 ポインター. メモリとアドレス(ポインターの前 に) コンピュータのメモリには 1 バイトずつ 0 番地、 1 番地、 2 番地・・・というように 住所が割り当てられている この住所をアドレスという。 メモリはデータをしまうもので それを引き出すためには メモリに番号(アドレス)を振っておけばよいな.
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
ループで実行する文が一つならこれでもOK
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
4章 制御の流れ-3.
プログラミング基礎I(再) 山元進.
基礎プログラミングおよび演習 第4回 担当:花岡 5階522/520.
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
JavaによるCAI学習ソフトウェアの開発
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
数値計算及び実習 第3回 プログラミングの基礎(1).
基礎プログラミングおよび演習 第9回
プログラミング序論演習.
C言語 配列 2016年 吉田研究室.
第6章 2重ループ&配列 2重ループと配列をやります.
プログラミング論 II 電卓,逆ポーランド記法電卓
プログラミング入門第4回 ~レゴロボットのプログラミング3~
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
プログラムはなぜ動くのか.
トキのカタチ2016 電子工作(Arduino)講習
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
第7回 条件による繰り返し.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
プログラムの制御構造 選択・繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
第7回 条件による繰り返し.
第6回:ラケットを動かそう! (キーボードによる物体の操作)
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
プログラミング入門第6回 ~レゴロボットのプログラミング6~
プログラミング入門第5回 ~レゴロボットのプログラミング5~
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
C言語 はじめに 2016年 吉田研究室.
オブジェクト プログラミング 第2回 プログラムの基本.
基礎プログラミング演習 第6回.
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
プログラミングⅡ 第2回.
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
プログラミング入門 電卓を作ろう・パートI!!.
ウェブデザイン演習 第6回.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
C言語講座 制御(選択) 2006年 計算技術研究会.
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
プログラミング1 プログラミング演習I 第2回.
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
計算技術研究会 C言語講座 第二回 制御構文 if , switch.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
アルゴリズム ~すべてのプログラムの基礎~.
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
情報処理3 第3回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

プログラミング入門 電卓を作ろう・パートIV!!

C言語で電卓 先週までに小数点を含む四則演算が出来るようになった。 かなり、電卓に近づいてきた。 しかし、もう少し気になることがある・・・ 1回の計算が終わるとプログラムが終了してしまう。 そして、もう一度計算するためには再度「実行」しなければならない。 今週は1回の計算が終了してもプログラムが終了せず、繰り返し計算ができるようにバージョンアップを目指す。 繰り返し制御・・・もう1つの制御

C言語で電卓 ~先週のプログラムの復習~ 左は先週の演習プログラム シナリオ ‘+’‘-’‘*’‘/’だったら、演算結果を表示。 そうでなければ、「そのような計算は出来ません」と表示する。

C言語で電卓 ~繰り返し計算~ 左は先週の演習プログラム シナリオ どの部分を繰り返すのか? 電卓の機能を記述している部分を繰り返す 具体的に・・・ 『演算を入力してください』の表示~『演算結果の表示』までを繰り返す。 この部分を繰り返したい!!

C言語で電卓 ~繰り返し計算~ とりあえず、左のプログラムを実行してみよう!! どのように変わったか? ⇒繰り返し『演算を入力してください』と聞いてくる ⇒終了するには「Ctrl」+「C」を押す!!

C言語で電卓 ~繰り返し計算~ シナリオ 電卓部分の繰り返し 赤線部分の繰り返し ある部分を繰り返す制御 ⇒C言語 while(1){・・・}と書く    ⇒{ }で囲まれた{・・・}の部分を繰り返す  ⇒「while」の意味「~の間」 改行をなくす

while文の処理の流れ(フローチャート) ~繰り返し計算~ 開始 開始 while(1){ 電卓部分; 電卓部分; } 終了 終了

C言語で電卓 ~繰り返し計算~ これで、繰り返して計算ができるようになった しかし、終了する場合「Ctrl」+「C」を押さなければならない ⇒強制終了 次のバージョンアップでは、計算するかしないかを自分の意志で決めるようにプログラムを変更する。

C言語で電卓 ~繰り返し計算~ 条件 Yes No while(1){ 電卓部分; } もう一度while文のフローチャートを見てみる 開始 もう一度while文のフローチャートを見てみる 菱形は条件分岐制御だった!! ⇒“if”文で出てきた・・・ 条件を入れてみる つまり、計算を続けるか?続けないか?を条件とする。 つまり、条件分岐を次のように考える 計算を続けるならば“Yes”⇒電卓部分へ 計算をやめるならば“No”⇒終了へ 条件 Yes No while(1){ 電卓部分; } 終了

C言語で電卓 ~繰り返し計算~ 条件 Yes No while(1){ 電卓部分; } while文は 実は ⇒条件が正しくなければ、{・・・}をとばして(実行せず)終了へ よって、条件に 計算を続けるならば⇒電卓部分へ 計算をやめるならば⇒終了へ とシナリオを書き直せばよい ここで・・・while(1){・・・}の意味 ⇒「1」はコンピュータでは「真」を表す ⇒つまり、「常に正しい」を表す ⇒よって、条件「1」は常に正しい!! ⇒永遠に繰り返し続ける⇒強制終了 開始 条件 Yes No while(1){ 電卓部分; } 終了

C言語で電卓~繰り返し計算~ 条件 Yes No while(1){ 電卓部分; } シナリオを詳しく具体的に 条件をどのように実現するか? 計算を続ける⇒「1」を入力する 計算をやめる⇒「0」を入力する ここで!!(重要) この、 「1」や「0」の数字を入れておくための入れ物を用意する必要がある ⇒int joukenn; 条件はどの様に書くか? 計算を続けるならば「1」⇒電卓部分へ 計算をやめるならば「0」⇒終了へ⇒while( joukenn == 1 ){・・・} もう1つ 繰り返すかどうか、「1」や「0」をどこで「joukenn」に入力するか?を考える必要がある 開始 条件 Yes No while(1){ joukenn==1 電卓部分; } 終了

電卓部分; } Yes No 繰り返すかどうか聞く; C言語で電卓~繰り返し計算~ while(1){ 電卓部分; } 条件 Yes No 開始 終了 電卓部分; } Yes No joukenn==1 繰り返すかどうか聞く; C言語で電卓~繰り返し計算~ シナリオを詳しく具体的に 条件をどのように実現するか? 計算を続ける⇒「1」を入力する 計算をやめる⇒「0」を入力する ここで!!(重要) この、 「1」や「0」の数字を入れておくための入れ物を用意する必要がある ⇒int joukenn; 条件はどの様に書くか? 計算を続けるならば「1」⇒電卓部分へ 計算をやめるならば「0」⇒終了へ⇒while( joukenn == 1 ){・・・} もう1つ 繰り返すかどうか、「1」や「0」をどこで「joukenn」に入力するか?を考える必要がある 開始 while(1){ 終了 電卓部分; } 条件 Yes No joukenn==1

C言語で電卓 ~繰り返し計算~ とりあえず、左のプログラムを実行して、確認してみよう!!

条件を始めは「1」としておく。つまり、1回は計算を行う C言語で電卓 ~繰り返し計算~ joukenn 1 シナリオ 条件を入れる「入れ物」を用意 joukenn==1 条件を始めは「1」としておく。つまり、1回は計算を行う 計算を続けるかどうか聞く⇒条件を選択 聞く場所は、計算が終了した後

while文の処理の流れ(フローチャート) ~繰り返し計算~ 開始 開始 joukenn==1 電卓部分; No Yes 電卓部分; 続けるか? 終了するか? 終了 終了

C言語で電卓 ~繰り返し計算~ これで、この講義での電卓は完成とする。 当然、まだまだバージョンアップする余地はある。 この講義では、 何を作るか?を考えることの重要性 プログラミングにおけるシナリオの重要性 ⇒コンピュータに向かうことが重要ではない!! バージョンアップを繰り返すことの重要性 ⇒まず、簡単なところから初めて、徐々にシナリオを完成に近づけていく!! プログラミングの基礎 ⇒入れ物 ⇒制御文(条件分岐・繰り返し) C言語の基礎 ⇒入れ物・・・int, double, char ⇒条件分岐・・・if, else if, else ⇒繰り返し・・・while

演習5 講義のプログラムでは「enzan」に足し算‘+’、引き算‘-’、掛け算‘*’、割り算‘/’が入力されていなくても、つまり、ディスプレイ上に「そのような計算は出来ません」と表示されていても、計算を続けるかどうか確認するプログラムであった。 演習では、計算を続けるかどうかは、「enzan」に足し算‘+’、引き算‘-’、掛け算‘*’、割り算‘/’が入力されたときだけ確認するようにし、「enzan」にそれら以外の文字が入力された場合は確認することなく、計算を終了するように、プログラムを変更しなさい。 演算1回目 演算結果の表示 繰り返すか? 演算2回目 演算結果の表示 繰り返すか? 演算3回目 演算結果の表示 終了

演習5ヒント1 ヒント どこで、確認するか? 「enzan」が+・-・*・/であった場合、つまり、通常の演算を表示する場所で表示と同時に計算を繰り返すかどうか、確認する。 そうでない場合、「joukenn」に「0」を代入する。“joukenn=0;” 表示の後に繰り返すかどうかの判断をたずねる 表示の後に強制的にjoukennに「0」を代入する

演習5ヒント2 ヒント どこで、確認するか? 「enzan」が+・-・*・/であった場合、つまり、通常の演算を表示する場所で表示と同時に計算を繰り返すかどうか、確認する。 そうでない場合、「joukenn」に「0」を代入する。“joukenn=0;” 表示の後に繰り返すかどうかの判断をたずねる 表示の後に強制的にjoukennに「0」を代入する