プログラミング A
第12回 演習
2015年7月13日 東邦大学 金岡 晃
本日の内容
•
試験について
•
前回演習の解説
•
この授業の総まとめ
•
演習
2015/7/13
1 プログラミングA
試験について
•
持ち込みなし
•
筆記
–
実際に
PCを触ってプログラムを組ませることはありま
せん
前回の課題
1. まず最初にキーボードから自然数nを入力させ、次に自然数mを入力さ せ、組み合わせ 𝑛𝐶𝑚 を求め、その値を出力をするプログラムを作れ
– ただし、 𝑛𝐶𝑚 = 𝑛!
𝑚! 𝑛−𝑚 !
2. まず最初にキーボードから自然数nを入力させ、次の式を計算してその 値を出力するプログラムを作れ
– ただし、プログラム中の自然数に利用する整数の変数はintではな くlongを使うこと
3 2015/7/13
𝑘=1 𝑛 𝑘5
𝑘!
プログラミングA
課題 1
課題 2
2015/7/13
5 プログラミングA
処理の順序
最初に実行される 最初に実行される
次に実行される 次に実行される
文
文 Java言語における処理の単位。
最後にセミコロン(;)をつける
文字と数値
7 2015/7/13 プログラミングA
変数の仕組み:メモリ
ユーザに2つの数字を入力してもらい
最初の数字を
”a”として
、 次の数字を”b”として、a+b を計算して出力するプログラムを作ればよい ユーザに2つの数字を入力してもらい
最初の数字を
”a”として
、 次の数字を”b”として、a+b を計算して出力するプログラムを作ればよい
これが変数の考え方
• プログラムでは、そういった「入力される値」を、定まってい ないものを意味する「変数」と呼ぶ。
• そして、コンピュータ内(のメモリ)に一時的にその変数を収 めておくゾーンを用意する
身近な例?
身近な例?
数学における 𝑦 = 𝑥 + 3 といった表現
変数を使う:代入(2)
2015/7/13 プログラミングA
9
式とは
演算子 演算子 オペランド オペランド
演算子とオペランドの組み合わせで評価されるもの 式の結果は値として出力される
:演算の対象
:演算するもの
int a=5;
int b=10;
int c;
c= a+b;
c= a+b;
オペランド 演算子
cに代入する 何を?何を?
オペランドaとオペランドbを 演算子+で評価した結果を
条件
2015/7/13 プログラミングA
11
“5教科の点数の合計が100点以上か” true or false で答えられる
条件 条件
式のうち、true あるいは false で答えられるもの
• 関係演算子や論理演算子をつかって記述される
• 条件は、式として評価され、trueまたはfalseの値 (boolean型)を返す
記号 名前
> より大きい
>= 以上
< 未満
<= 以下
== 等価
!= 非等価
関係
演算子 sum>=100
条件に従ったプログラミング(2)
:
if~
elseもし~だったら、**しよう。
~じゃなかったら、○○しよう
if (条件) 文1;
else文2;
if~else文 if~else文
“条件”がtrueだったら”文1”を実行、
falseだったら”文2”を実行
if(sum>=100)
System.out.println(“おめでとう!これで100点越えのプレゼント
を獲得!”);
else
System.out.println(“残念!100点越えのプレゼントまであ
と”+(100-sum)+”点!”);
switch文
2015/7/13 プログラミングA
13
switch(式){
case 値1:
文1;
break;
case 値2:
文2;
break;
default:
文3;
break;
}
switch文
switch文 “式”の値が“値1”だった
とき、“文1”を実行。
“値2”だったときは、“文 2”を実行。
どれでもないとき
(default)は、“文3”を実 行。
注意 switch()の中の式は、条件式だけではなく通常の式が使える break : 制御文(if文や、switch文)を途中で終了させる命令
for 文
for (初期化の式; 繰り返すかどうか調べる式; 変化のための式)
文; for文
for文
繰り返すか どうか調べる
式 初期化
文
変化のための式
true
false for文の
for構造文の 構造
ループ内で変数を使う
2015/7/13 プログラミングA
15
繰り返すか どうか調べる
式 初期化
文
変化のための式
true
false
int i=1 int i=1
i<=5
i<=5 “繰り返しています”
“繰り返していますの出力 ” の出力
i++
i++
while 文
while(条件){
文;
… } while文 while文
条件がtrueの間 繰り返す
条件 true 文 while文の
while構造文の 構造
false
文の中で
条件に入るものを 変化させないと 無限ループになる
恐れがある 文の中で
条件に入るものを 変化させないと 無限ループになる
恐れがある
配列
2015/7/13 プログラミングA
17
“120人のそれぞれの学生の
点数を記憶したい” 全部おなじ型
配列 配列
同じ型の値を複数まとめて記憶する
• 配列の宣言 :配列を扱う変数を用意する
• 配列要素の確保 :値を格納するエリア(箱)を用意する
型名[] 配列変数名;
配列変数名 = new 型名[要素数];
配列の書式 配列の書式
配列の使い方
型名[] 配列変数名;
配列変数名 = new 型名[要素数];
配列の書式 配列の書式
score[0], score[1], score[2], score[3], score[4], score[5], score[6], score[7], score[8], score[9]
という10個のint型の変数 を用意した
添え字
(インデックス)
が付く 添え字
(インデックス)
が付く
0番から始まり、
(要素数0番から始まり、-1)番で終わる (要素数-1)番で終わる ポイント
ポイント
今日の課題
1.
画面の出力が以下の画面になるようなプログラムを作成せよ
19 2015/7/13 プログラミングA
今日の課題:ポイント
1.
画面の出力が以下の画面になるようなプログラムを作成せよ
ファイル名は自由です ファイル名は自由です
半角のスペースを入れて、
出力をそろえています 半角のスペースを入れて、
出力をそろえています
for文を利用すること for文を利用すること このあたりの空白は
厳密に再現しなくても良いで す
このあたりの空白は
厳密に再現しなくても良いで す
今日の課題
•
提出先
•
件名
–
プログラミング
A:第
12回
•
注意
–
かならず、メールで提出してから帰ってください。また提出前 に、実行が完了した画面を、私か
TAに見せて確認を受けてから 帰ってください。
–
ソースコード(
javaファイル)を添付してください
2015/7/13
21 プログラミングA