No.3 - 東海大学 情報理工学部情報メディア学科

Download Report

Transcript No.3 - 東海大学 情報理工学部情報メディア学科

ログイン名とパスワード

ログイン名
TPC13022

パスワード
J9ppznhv
プログラミング入門の入門③
情報通信学部 情報メディア学科
濱本和彦
http://www.dm.u-tokai.ac.jp/~hama
言語の学習としてのプログラミング

基本文型を覚えよう
– 英語には「基本5文型」があります。
S+V
 S+V+C
 S+V+O
 S+V+O+O
 S+V+O+C

– プログラミング言語に基本文型はあるのでしょ
うか?

あります!
言語の学習としてのプログラミング

基本文型を覚えよう
– 「制御構造」とも呼ばれます。文(処理)の並べ方
の決まりです。次の3つです。

順次構造
– 順番に処理を実行していく構造。

選択構造
– もしAならば処理Bを実行し,そうでない場合処理Cを実行す
る。

繰り返し構造
– Aが成り立っている間,処理Bを繰り返し実行する。
– 全てのプログラムは,この3つの構造で書かれ
ています
言語の学習としてのプログラミング

基本文型を覚えよう
– 「制御構造」とも呼ばれます。文(処理)の並べ方
の決まりです。次の3つです。

順次構造
– 順番に処理を実行していく構造。

選択構造
– もしAならば処理Bを実行し,そうでない場合処理Cを実行す
る。

繰り返し構造
– Aが成り立っている間,処理Bを繰り返し実行する。
– 全てのプログラムは,この3つの構造で書かれ
ています
とりあえず。。

program4.c を入力して実行してみよう。
if文を使ったプログラム





「数値nが数値mと同じならば
「大当たり!」,そうでないとき
は「残念!」と表示する。
これが,条件処理の基本形に
なります。
これは,右の図のように図式
化すると分かり易くなります。
これをフローチャートと言いま
す。
プログラムは,このように図式
化して,これを組みあわせて
作ると作りやすくなります。
条件
真
処理1
大当たり!
nとmが
等しい
偽
処理2
残念!
if文を使ったプログラム
条件
真
処理1
大当たり!
nとmが
等しい
if(
偽
処理2
条件
処理1
}
else{
処理2
残念!
}
){
関係演算子と等価演算子

二つの値の大小関係を判定する演算子です。
関係演算子
演算子
>
>=
<
<=
説明
記述例
記述の意味
より大きい
if(a>100)
より大きいか等しい
if(a>=100) aが100以上なら
より小さい
if(a<100)
より小さいか等しい
if(a<=100) aが100以下なら
aが100より大きいなら
aが100未満なら
等価演算子
演算子
説明
記述例
記述の意味
==
等しい
if(a==100) aが100なら
!=
等しくない
if(a!=100)
aが100でないなら
次のように書き直してみましょう
条件
真
処理1
残念!
nとmが
異なる
偽
処理2
大当たり!
四捨五入のプログラムを考えよう


実数を,小数第一位で四捨五入して整数
にするプログラムを考えましょう。
コンピュータでは,変数に「型」が決まって
います。
– 実数型:実数を扱うことが出来ます
– 整数型:整数だけ扱うことが出来ます

整数型の変数に小数値を代入すると,少
数以下は切り捨てられて無くなってしまい
ます。
四捨五入のプログラムを考えよう

次のプログラムで試してみましょう
#include <stdio.h>
void main(void)
{
double x;
int y;
printf("少数値を入力して下さい。");
scanf("%lf", &x);
y = (int)x; // 整数値に変換します。
printf("整数値に変換すると%lfは%dとなります。\n", x,y);
}
四捨五入のプログラムを考えよう



ただ整数値に変換するだけだと,0.9であって
も切り捨てられてしまいます。
“.0”~“.4”までは切り捨てて,“.5”~“.9”
の時は切り上げるような,「四捨五入」を計算す
るには,どうすれば良いでしょうか?
それには,次のような計算をしてから整数値に
変換(少数以下切り捨て)します。
– 小数値が正の時は, 0.5 を 足し算 する
– 小数値が負の時は, 0.5 を 引き算 する
四捨五入のプログラムを考えよう
program5.c

実数aを入力

a>0
a=a+
;
a=a-
– aが正の場合,
追加
– aが負の場合,
引く
;

整数b=(int)a;
まず,実数aを入力し
ます。
if文を使い処理を分
岐します。
を
を
整数値に変換すると
小数点以下を切り捨
てて整数値となりま
す。