0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

擬似言語プログラム

Last updated at Posted at 2023-11-05

image.png
1:逐次遂行
 プログラムは、原則として先頭から順に命令を実行します。プログラム1を実行すると
①起床する。②朝食を食べる、③家を出るの順に処理を実行します。擬似言語プログラムでは、処理の詳細について考えなくて良い場合は、関数(「手続き」とも言います。)を呼び出して済ませてしまいます。getup()などのように、()がついている「命令のようなもの」は関数です。行番号1の行では、getup()を呼び出すことで、「起床する」という動作を実現します。具体的にどのような処理によって、「起床する」のかは、ここでは考えなくて良いです。「希hそうする」という動作の結果だけに着目して、プログラム全体の流れを読み取ってください。
 なお、関数は自由に作ることができます。問題ごとに様々な関数が登場しますので、問題文を丁寧に読んで、その都度、関するの動作を理解する必要があります。

「プログラム1」
(行番号)
1:getup()        //起床する
2:eat_breckfast     //朝食を食べる
3:leave_home()   //家を出る

プログラム中の//以下の部分は、コメントです。プログラムを読みやすくするために、変数の役割や実行する処理の説明などを注釈して書きます。注釈部分は、あプログラムの一部とみなされないのいで、自由になんでも書けます。

2:条件分岐
 条件分岐処理には、if~endif命令を使います。下記が最も単純な使い方です。
if(条件式)
 条件式競辻に実行する処理
endif

if直後の()の中に条件を指定します。条件が成立すると、ifからendifまでの間にある処理を実行します。条件が不成立の場合は、endif直後の行までスキップします。
 条件式は、原則的に日本語で表現しますが、問題によっては、、統合や不等号を利用した式になっているかもしれません。擬似言語は、実際のプログラム言語ではありませんから、細かい文法法則はなく、誤解のない範囲で自由に表記することができます。問題中では、誤解のないように表記していますから、常識的に問えられる必要があります。

 プログラム2は、if~endifを利用したプログラム例です。プログラムを実行すると、起床して、八時より前であった場合には、朝食を食べずに家を出ます。
 プログラム2の3行に注目してください。ifで指定した条件が成立すると、4行を実行します。指定した条件が不成立の場合、endifの直後(6行)までスキップします。

「プログラム2」
1:getup()            //起床する
2:time ← get_current_hour()  //現在時を取得し、timeに格納する
3:if (timeが8未満)
4: eat_breakfast()  //朝食を食べる
5:endif
6:leave_home()   //家を出る

if~endifとともに、elseやelseifを使う表記もあります。下記はelseを用いた表記法です。ifで指定した条件が成立するときには処理1を実行します。条件が不成立のときには処理2を実行します。処理1と処理2の両方が実行されることはありません。また、両方とも実行されないこともありません。必ず、どちらかが実行されます。
if(条件式)
  処理1(条件成立時の処理)
else
処理2(条件不成立時の処理)
endif

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?