プログラムソース解説!!


皆さんが一番疑問に思っていると思われるもの,それは講義中言われるままに
写した下のプログラムではないでしょうか?いったいこれは何を意味しているのか?
それを独断と偏見で解説(間違ってたらごめんなさい)します.
まず講義でやったプログラムを1行ずつ解説して,最後に簡単なサンプルを書きたいと思います.

これが,皆さんがとりあえず実行したプログラムソースと思います.
これを1行ずつ解説していきます.

1. Program sum; これはプログラムの名前を表します.この場合は"sum"がプログラムの名前になります.ちなみにsumは足し算のことです.この1行はどんなプログラムでも必ず必要になります.名前なのでsumの部分は何でもOKです.例えば理想体重を計算するプログラムであれば,”Program weight;”とか.最後の";"は命令1個が終わるごとに必要ですので,忘れないように!
2. {$APPTYPE CONSOLE} この1行も必ず必要です.この1行は特別なもので,プログラムをコンパイルするのに必要な呪文とでも思っていてください.ちゃんと知りたい方は,Delphiを勉強してください.
3. var a,b,c:integer; 皆さんは変数と言ってわかるでしょうか?プログラムをする上で非常に重要な用語です.ようするに数字を入れるための箱です.プログラムで計算結果等を出すときなどは,その計算結果をコンピュータに記憶させるための箱が必要です.また変数には色々な形があり,その形に添ったものしか入れることができません.それが,":"以下のものです.今回は"integer"です.integerは整数型の箱で,この中には整数しか入れることができません.そのため割り算の結果を代入しようとするとエラーになります.割り算の結果は実数(少数がある数)になります.実数を入れるには,"real"という箱を用意する必要があります.
4. begin ここからプログラムが始まります."var"は必ずbeginより前に書きます.またbeginの後には";"をつけてはいけません.
5. write('Enter two integers: '); "write"は"()"内のものを実行画面に表示します.writeとwritelnの違いは,実行画面上で()内の文字を表示した後にカーソル(白い点滅する縦棒)の位置を改行しないで表示するか,改行して表示するかの違いです.今回は実行画面にEnter two integers: と表示されます.このように文字列を表示したい場合は''で文字をはさんでください.この場合''内は日本語でもOKです.ただし,"'"の記号は必ず半角で!
6. readln(a,b); "readln"は実行画面上で押されたキーボードの値を読み込みます.例えば,キーボードで2を押せば,"整数型の箱a"に2が入ります.bに値を入れたいときは,スペースを一度押してから数字を押します.例えば"2 3"と押せば,aに2がbに3が入ります.readlnの場合,lnがついてますので,改行(Enter)を押さない限り次の行に進みません.readの場合は数字を押した時点で次の行へ進みます.
7. c := a+b; これが今回のプログラムのメインの数式です.要するにaの箱に入った数字とbの箱に入った数字を足して,cの箱に代入します.ここで":="は右辺を左辺に代入します.決して"="ではないので気をつけてください.代入の場合,必ず":"が必要です.
8. writeln('sum = ',c); writeは先ほど解説しました.今回は"sum = "という文字を表示した後に"c"に代入された値を表示します.このときに'c'としてしまうと,画面にはただ"c"と表示されるだけになってしまいますので注意してください.
9. readln; この1行はcに代入された値を表示した瞬間にプログラムが終わるのを防ぐためにあります.この行を消してコンパイルして実行したらわかると思いますが,プログラムは下のendに行った時点で終了してしまい,実行画面を消してしまいます.そのため,今回のプログラムでこの1行がなかった場合,cに代入された値を表示した瞬間画面が消えてしまうため,確認することができません.プログラムを終了したいときは,このreadlnを実行すればいいわけで,エンターキーを押すことがそれにあたります.
10. end. ここに来た時点でプログラムは終了です.終了とともに実行画面も自動的に消えます.endの後は必ず"."を書いてください.
??. Uses SysUtils; 教科書では3行目にある命令です.今回のプログラムではこれがなくても大丈夫だと思います.この"uses"は,命令や定数(わからない人は,この解説は無視してください)で特別なものを使用する場合に,その命令や定数が定義されている他のファイルやプログラムを参照するときに使います.例えば円周率を使う場合,3.14という数字を使うのもいいですが,この"Uses SysUtils"の後に"Math"と記述することで,ただ,"pi"と入れるだけで,円周率を計算してくれます.分からない人はこういうのがあるのだな程度に覚えていてください.
最後に"//"について:教科書に"// ここにプログラムソースを書く"みたいなのがあったと思います.この"//"はコメントアウトといって,プログラム内にプログラムとは関係ないけど,何か解説をつけたいとか,文字を書いときたいときに使います."//"以下の1行はプログラムになんの影響も与えません.例えばプログラムsum内のbeginの後に"begin    // ここから始まる"と,解説をつけることが出来ます.ということで,教科書に載ってる"// ここにプログラムソースを書く"という1行は無視してもいいということです.

サンプル ここで先のプログラムを少し書き換えたサンプルをのせます.これを写してそのまま出しただけじゃ,レポートは多分認められないと思いますので,これを参考に頑張ってください.また,このプログラムをコピーしてメモ帳に貼り付けていただければ,コンパイル及び実行できると思います.

Program sample;
{$APPTYPE CONSOLE}
uses SysUtils, Math;
var a,b : integer;
    c,d : real;
begin
  write('円の半径を入力してください : ');
  readln(a);
  b := 2*a;
  c := a*a*pi;
  d := b*pi;
  writeln('円の面積 = ',c,' 円周 = ',d);
  readln;
end.
実行結果

ここの 1.25663706143591E+0001 というのは,1.2....+10(の一乗)ということです.

以上です.皆さんレポート頑張ってくださいね. この解説について,質問等ある方は松ヶ下,もしくは田口さん,冷水さんまで.


表紙に戻る

サークル紹介