プログラムの考え方・作り方 4.プログラムを書こう
【皆さまのご質問やご要望などもお待ちしております】
プログラム言語しか分からない
CPU(コンピュータ)はCPUごとに、機械語という自分しか分からない言葉を使います。
だからゲームソフトは他のゲーム機で遊べないんですね。
プログラム言語(高水準言語)で書くと、目標のCPUの機械語に変換(翻訳:コンパイル)できます。
だからプログラム言語を学べば、コンピュータに何でもさせられます。
プログラム言語で書けば、コンピュータは何でもします
流れ図のここを「Java言語」(ジャバげんご)で書いてみましょう。
これが最初の決まりで、ここから書きはじめます。
public class Main {
public static void main(String[] args) throws Exception {
}
}
変数名をローマ字で書きかえます
Java言語では日本語の変数名は使えないので、
ローマ字で書きかえます。
namae1←名前1、namae2←名前2、kingaku1←金額1、
kingaku2←金額2、saifu←さいふ ですね。
金額の”円”も取ります。
メモリに文字の変数をつくります
コンピュータに何かをおぼえさせるには、メモリに変数をつくります。
まず名前を保存する「文字の変数」をString(ストリング)型で2つつくります。同じ型なら「,(カンマ)」でくぎります。
行の最後は「;(セミコロン)」を書きます。
Java言語では、このように書きます。
public class Main {
public static void main(String[] args) throws Exception {
String namae1, namae2; ←行末はセミコロン;
↑ カンマ ,
}
}
メモリに数字の変数をつくります
つぎに金額を保存する「数字の変数」をint(イント)型で3つつくります。
public class Main {
public static void main(String[] args) throws Exception {
String namae1, namae2;
int kingaku1, kingaku2, saifu;
}
}
文字の変数に商品の名前を入れます
public class Main {
public static void main(String[] args) throws Exception {
String namae1, namae2;
int kingaku1, kingaku2, saifu;
namae1 = "ホットドッグ";
namae2 = "からあげ";
}
}
「=」で右から左に入れます。文字列は「" "」でかこみます。
数字の変数に商品とさいふの金額を入れます
public class Main {
public static void main(String[] args) throws Exception {
String namae1, namae2;
int kingaku1, kingaku2, saifu;
namae1 = "ホットドッグ”;
namae2 = ”からあげ”;
kingaku1 = 120;
kingaku2 = 150;
saifu = 130;
}
}
「=」で右から左に入れます。数字はそのままでいいです。
変数で比較(ひかく)を書きかえます
日本語の変数名をローマ字で書きかえます。
kaumono ← 買う物
これをJava言語で書きます。
String kaumono = ” ”;
if(kingaku1 < saifu)kaumono = namae1;
if(kingaku2 < saifu)kaumono = namae2;
メモリに「kaumono」という変数を作り、「空白(スペース)」を入れます。これを文字列変数の初期値といい、よく使います。
流れ図のひし形は「比較(ひかく)」といい、if命令を使います。「Noなら」はやることがないので、書きません。
買う物を表示します
「買う物を表示」はJava言語でこう書きます。
System.out.println(kaumono);
「System.out.println」は画面に表示する決まり文句で、( )に表示したい変数や文字を入れます。
さいふからはらって、残りを表示します
「さいふからはらう」と、120円減るので130円から引きます。
saifu ← saifu ―120と書きます。
買う物によってはらう金額は違うので、流れ図にはないですがif命令で2つに分けます。
最後にさいふの中身を表示し確認します。
流れ図を書きかえることもあります
「さいふからはらう」を書きかえると、こうなります。
「買う物と名前1」が同じなら120円引き、違えば150円を引きます。作りながら流れ図を書きかえることもあります。
さいふからはらって、残りを表示します
これをJava言語でこう書きます。
if(kaumono.equals(namae1))saifu = saifu - kingaku1;
else saifu = saifu – kingaku2;
System.out.println(saifu);
「A .equals(B)」はAとBが同じの意味です。変数「kaumonoとnamae1」がString(文字列)型変数なのでこう書きます。
「if(A) B else C」は条件AならBをする、違ったらCをするの意味です。「買う物と名前1」が同じなら120円引き、違えば150円を引きます。最後にさいふの中身を表示し確認します。
変数で置きかえた流れ図を確認しよう
Java言語でプログラム全体を書きます
public class Main {
public static void main(String[] args) throws Exception {
String namae1, namae2;
int kingaku1, kingaku2, saifu;
namae1 = "ホットドッグ";
namae2 = "からあげ";
kingaku1 = 120;
kingaku2 = 150;
saifu = 130;
String kaumono="";
if(kingaku1 < saifu)kaumono = namae1;
if(kingaku2 < saifu)kaumono = namae2;
System.out.println(kaumono); //買う物を表示
if(kaumono.equals(namae1))saifu = saifu - kingaku1;
else saifu = saifu - kingaku2;
System.out.println(saifu); //さいふを表示
}
}
このように流れ図から「Java言語」で書けば、コンピュータで動かせます。この作業をプログラミングの中の、「コーディング」といいます。
では実際に動かしてみよう!
3.コンピュータに手順の教え方 へ戻る
5.さあ、コンピュータを動かそう へ進む