【Character User Interface】
ユーザに対する情報の表示を文字によって行ない、すべての操作をキーボードを用いて行なうユーザインターフェースのこと。
ユーザから入力を受け取ることもできる。(IT用語辞典より)
次のプログラムはユーザから文字列の入力を受け取り、おうむ返しするプログラムです。
ここをクリックすると、以下のプログラムをダウンロードできます。
1: ※プログラム名:おうむ返しのプログラム 2: ※作成者:秋山 優 3: ※作成日:2009.11.11 4: 5: ※授業に必要なライブラリを取り込む。 6: TurtleLibraryを参照する。 7: 8: ※入力を受け取る 9: コンソールに「好きな文字を入力>>」を出力する。 10: 文字列型を新規作成して、テキストと名付ける。 11: コンソールから入力を受け取って、それをテキストに入れる。 12: 13: ※出力を行う。 14: 文字列型を新規作成して、応答と名付ける。 15: 応答に「あなたの入力したのは」+テキスト+「ですね。」を入れる。 16: コンソールに応答を出力する。
以下のように記述することによって、コンソールから文字列の入力を受け付けることができます。
文字列型を新規作成して、テキストと名付ける。 コンソールから入力を受け取って、それをテキストに入れる。
文字以外にも、整数や実数などを読み込むことができます。
コンソールから整数を受け取って、それをXに入れる。※整数を読み込んで、整数型の変数Xに代入する
コンソールから実数を受け取って、それをXに入れる。※実数を読み込んで、実数型の変数Xに代入する
以下のように記述することによって、ユーザにメッセージを出すことができます。
コンソールに「好きな文字を入力>>」を出力する。
出したいメッセージを「」で囲んでください。
文字列の他に、以下のように記述することで、改行や空白、変数、計算式の計算結果を出力することができます。
変数には、今まで使ってきた整数型のほかに、 文字列型や、実数型があります。
おうむ返しプログラムでは、ユーザから入力された文字を保存しておくために、 文字列型の変数を用意しています。
次のプログラムは、西暦を入力すると、変換処理を行い、和暦を出力するプログラムです。
ここをクリックすると、以下のプログラムをダウンロードできます。
1: ※プログラム名:西暦和暦変換プログラム(メソッドなし) 2: ※作成者:秋山 優 3: ※作成日:2009.11.11 4: 5: ※授業に必要なライブラリを取り込む。 6: TurtleLibraryを参照する。 7: 8: ※アプリケーションの開始を知らせる 9: コンソールに「西暦和暦変換プログラムを開始します。」を出力する。 10: コンソールに改行を出力する。 11: 12: ※西暦を和暦に変換する。 13: 整数型を新規作成して、西暦と名付ける。 14: 15: ※西暦を入力する 16: コンソールに「西暦を入力して下さい。」を出力する。 17: コンソールから整数を受け取って、それを西暦に入れる。 18: 19: ※西暦を和暦に変換する。 20: 西暦≧1989であるならば{ 21: コンソールに「西暦」+西暦+「年は平成」+(西暦-1988)+「年です。」を出力する。 22: }をして、西暦≧1926であるならば... 23: コンソールに「西暦」+西暦+「年は昭和」+(西暦-1925)+「年です。」を出力する。 24: }をして、そうでないならば{ 25: コンソールに「不明です。」を出力する。 26: }をする。 27: 28: ※アプリケーションの終了を知らせる 29: コンソールに改行を出力する。 30: コンソールに「西暦和暦変換プログラムを終了します。」を出力する。
このプログラムでは、西暦(整数型)を読み込んで、 西暦和暦変換処理を行い、結果をコンソールに出力しています。 整数を読み込む命令は以下のとおりです。
整数型を新規作成して、西暦と名付ける。 コンソールから整数を受け取って、それを西暦に入れる。
言霊では+記号を使って整数や変数を文字と連結することが出来ます。以下のように書きましょう。
コンソールに「西暦」+西暦+「年は平成」+(西暦-1988)+「年です。」を出力する。
合計金額を人数で割った数を表示する「割り勘計算機」を作りましょう。
まず「合計金額を入力してください>>」と表示し、合計金額の入力を受け取り、
次に「飲み会参加人数を入力してください>>」と表示し、人数の入力を受け取り、
最後に「ひとりあたりの金額は●●円です」と表示しましょう。
結果は、整数(小数点以下切捨て)で出すようにしてください。
(すべての変数を整数型にして実装すると、仕様により、計算結果の小数点以下は切り捨てられます。「キャスト」の項で説明してあります)
次のプログラムは3教科の平均を計算し、小数点1位を四捨五入して平均点を出力するプログラムです。
ここをクリックすると、以下のプログラムをダウンロードできます。
1: ※プログラム名:成績平均計算プログラム 2: ※作成者:秋山 優 3: ※作成日:2009.11.11 4: 5: ※授業に必要なライブラリを取り込む。 6: TurtleLibraryを参照する。 7: 8: ※各教科の点数を設定する。 9: 整数型を新規作成して、国語と名付ける。 10: 整数型を新規作成して、数学と名付ける。 11: 整数型を新規作成して、英語と名付ける。 12: 国語に49を入れる。 13: 数学に72を入れる。 14: 英語に25を入れる。 15: 16: ※3教科の合計点を求める。 17: 実数型を新規作成して、合計と名付ける。 18: 合計に国語+数学+英語を入れる。 19: 20: ※3教科の平均を求める。 21: 実数型を新規作成して、平均と名付ける。 22: 平均に合計÷3.0を入れる。※平均を計算する。 23: 24: ※平均を四捨五入する 25: 平均に平均×10を入れる。 26: ※1の位が5以上なら繰り上げる。 27: 平均%10≧5であるならば{ 28: 平均に平均+10を入れる。 29: }をする。 30: 31: ※実数型の平均を整数型に変換して、整数型変数:結果に代入する 32: 整数型を新規作成して、結果と名付ける。 33: 変換機が平均÷10を整数に変換して、それを結果に入れる。 34: 35: ※四捨五入した平均を表示する 36: コンソールに「3教科の平均は」+結果+「点です。」を出力する。 37: コンソールに改行を出力する。
このプログラムでは、実数を扱っています。
コンピュータでは、実数の近似値を表現する方法として浮動小数点数を用いています(実数型とは、正確には浮動小数点型です)。浮動小数点数には誤差があります。 これは、コンピュータは2進法で計算をしており、 普段わたしたちが使っている10進法とは違うためです。
0.1を10回足すプログラムを作り、結果を表示しましょう。
0.125を8回足すプログラムを作り、結果を表示しましょう。
なぜ上記2つの結果が違うのか、考えてみましょう。
通常、整数型に実数型を代入するなど、値を型の違う変数を代入することはできません (実数型の変数に整数を代入すると、特別な処理をしなくても自動で型変換が行われ、代入ができる)。
このような場合、プログラマが明示的に「キャスト(型変換)」を行う必要があります。キャストの命令は、次のように書きます。
今回のプログラムでは、以下のようにして実数型の変数を整数型にキャストして、整数型の変数に代入しています。
※実数型の平均を整数型に変換して、整数型変数:結果に代入する 整数型を新規作成して、結果と名付ける。 変換機が平均÷10を整数に変換して、それを結果に入れる。
言霊やJAVAでは、実数型を整数型にキャストすると、小数点以下は切り捨てられます。 この仕様を利用して、四捨五入のプログラムは以下のように書くこともできます。
※平均を四捨五入する 平均 に平均+0.5を入れる。 整数型を新規作成して、結果と名付ける。 変換機が平均を整数に変換して、それを結果に入れる。
論プロエディタのソースコードの初めに、「タートルライブラリを参照する。 」と一行記述して下さい。
変数には整数型、文字列型、実数型などがあります。
文字列や実数数を変数に保存したい場合は、以下のように書きます。
整数型を新規作成して、xと名付ける。 xに0を入れる。
実数型を新規作成して、yと名付ける。 yに0.01を入れる。
文字列型を新規作成して、テキストと名付ける。 テキストに「こんにちは」を入れる。
このプログラムは、身長と体重の入力を実数で受け付ける。 その入力をもとにBMI指数と、その値から評価されたコメントを出力する。
文字など処理不可能な値が入力されたときの処理は、行わなくてよい。
このプログラムは、男女の名前を入力すると、 その恋愛成就確率を百分率で判定し、コメント付で出力する。
処理不可能な値が入力されたときの処理は、行わなくてよい。
このプログラムは、SFC生の単位取得の状況の入力を受け取り、 それを評価し、卒業するためのコメントを出力する。
文字など処理不可能な値が入力されたときの処理は、行わなくてよい。
ユーザが計算問題を解くことで脳を鍛えるソフトウエアである。 このプログラムは、足し算の計算問題を自動生成して、何問か出題し、そのつど答えあわせをする。
足し算の計算問題を生成する。
各数字の桁数は一桁の整数である(答えは任意の桁数の整数とする)
処理不可能な値が入力されたときの処理は、行わなくてよい。
マイホームローンの返済計算を行うプログラムである。ユーザは家を買うときに利用することを想定する。 システムは、家の値段と利率、月々の返済金額を入力として受け取り、 返済が終わるまでにかかる期間を計算し、コメントとともに出力する。
処理不可能な値が入力されたときの処理は、行わなくてよい。
「数あてゲーム」である。システムはまず,1-1000までの整数をランダムに選ぶ(表示しない)。 ユーザはこの数をなるべく少ない回答で当てるのが目的である.ユーザは推測した数を入力し、 システムは数が当っていたら、あたったことをユーザに知らせて終了、 外れていたら、大きすぎるのか、小さすぎるのかをユーザに知らせて再入力を求める。
処理不可能な値が入力されたときの処理は、行わなくてよい。
乱数値を(命令毎に毎回変わる値)に取得するには
計算機が<数>でランダム数を生成して、それを<変数名>に入れる。
命令を使います。
実行されるごとに異なる値が自動的に選択されます。
数-1が最大値になります。(例えば5でランダム数を生成したら、0,1,2,3,4のどれかが生成される)