質問7-1:毎回コピー&ペーストでプログラムを組んでいますが、この授業ではC言語を 覚える必要はないのですか?
回答:情報処理の国家試験のプログラムをC言語で受験する場合は、演算子等の意味を覚える必要がありますが、通常のプログラミングの場合は、資料を見ながら理解できれば結構です。この演習も資料を見て意味が理解できれば結構です。
質問6-1:if文を用いた「じゃんけんのプログラム」
回答:次のようなプログラムとなります。
#include<stdio.h>
main()
{
int A,B,x,y,hantei; printf("A = "); scanf("%d",&A); B = 1; if( ((A==0)&&(B==1)) || ((A==1)&&(B==2)) || ((A==2)&&(B==0)) ){ hantei = 1; } else{ if( ((A==0)&&(B==2)) || ((A==1)&&(B==0)) || ((A==2)&&(B==1)) ){ hantei = 2; } else{ hantei = 0; } } printf("A[%d] - B[%d] -> hantei[%d]\n",A,B,hantei);}
質問6-2:乱数を用いた「じゃんけんのプログラム」
回答:次のようなプログラムとなります。
#include<stdio.h>
#include<stdlib.h> /* srand() と rand() で使用 */
#include<time.h> /* time() で使用 */
#include<limits.h> /* UINT_MAX が定義されている */
main()
{
int A,B,x,y,hantei; time_t seed; printf("A = "); scanf("%d",&A); time(&seed); srand(seed % UINT_MAX); /* unsigned int 型の最大値で割った余り */ B = rand()%3; if( ((A==0)&&(B==1)) || ((A==1)&&(B==2)) || ((A==2)&&(B==0)) ){ hantei = 1; } else{ if( ((A==0)&&(B==2)) || ((A==1)&&(B==0)) || ((A==2)&&(B==1)) ){ hantei = 2; } else{ hantei = 0; } } printf("A[%d] - B[%d] -> hantei[%d]\n",A,B,hantei);}
質問3-1:いまだによくわからない。内容についていけているか不安だ。
回答:最初がとても大切です。必要であれば講義時間外に補講を行います。希望者は、ご連絡下さい。
質問3-2:char とsigned char型の数値範囲はなぜ同じなのですか?
回答:C言語においては、「char」の数値範囲は決まっておらずコンパイラによって異なります。つまり、みなさんが使用している「gcc」のコンパイラは、「char」の数値範囲が、「signed char」と同じ設定になっています。
質問3-3:出来れば授業の予習をしたいのですが、プログラミングをすることは学校のパソコンでなくても可能なのでしょうか?特別なソフトなどが必要なのですか?
回答:TeraPad及びCygwinともに、フリーのソフトウェアで、自宅の計算機にインストール可能です。ただし、Cygwinは、計算機に詳しくないとインストールは難しいと思います。したがって、「Borland C++Compiler」などがよいと思います。
下記を参考にインストールして下さい。
テキストエディタ:
「TeraPad」,
開発環境・コンパイラー:
「Cygwinのインストール&設定方法」,
「BorlandR C++Compiler」
質問2-1:変数名というのはx=...等の=のあとにいれる数字、または文字のことでいいのですか?
回答:計算機を用いて色々なデータを処理する際、データ(数値、文字)を記憶しておく場所(メモリ)が必要となります。C言語の場合、第2章で説明したように例えば「int x;」と宣言した際、整数の値を記憶する場所が割り当てられます。この場所を表すのが変数で、この場合、xが変数となります。
したがって、質問の場合の変数は、=の左側、xが変数となり、変数名は、xです。例えば、x=2;とは、変数xが示す値を記憶する場所に、2の値を記憶(代入)すると理解してください。
質問2-2:signed char型で-128〜127でなくて0〜256で表示はできないのでしょうか
回答:unsigned charとすることで、0から255までの整数を表すことができるようになります。詳細は、第2章テキストの2頁修飾子と4頁(P例:2.1-7)を参照して下さい。
質問2-3:最終的にどのようなプログラミングをするのですか?
回答:講義ホームページの第1章の資料にあるバイオリズムのプログラム「プログラム例2」のようなプログラミングができるようになることを目指しています。