Logo-procedures

提供:Dev Guides
移動先:案内検索

ロゴ-手順

プロシージャは、コマンドのコレクションをカプセル化する方法を提供します。 プロシージャが作成されると、組み込みコマンドの使用方法と同じように使用できます。 プロシージャの「意味」は、個々のコマンドの意味です。

引数のないプロシージャには、最初の行に「to」という単語(予約語)とプロシージャの名前があります。 (ロゴの予約語は変数として使用できず、明確に定義された意味と用途を持つことができます。)最後の行に予約語「end」があります。

サブプログラムは、別のプログラムを実行するためのステップの名前付きシーケンスです。 サブプログラムの他の名前は、プロシージャとファンクションです。 ロゴでは、コンピュータに何かを行う方法を指示します-たとえば-

to square
repeat 4 [fd 100 rt 90]
end

プロシージャをLogoに説明したら、組み込みのものと同じように、コマンドラインでその名前を入力できます。 この場合、コマンドラインに「square」と入力すると、Logoはコマンドを検索して正方形を作成します。

*Edall* (すべて編集用)というボタンをクリックして、Logoの組み込みエディターを表示します。 (ロゴにEdallボタンがない場合は、コマンドラインに「edall」と入力します)。 次のコードブロックには、サブプログラムの必要な構造があります。
to procedurename
steps of your procedure here
end

プロシージャまたはサブプログラムは、「to」という単語で始まり、その後に考えられる名前が続く必要があります。 次のステップは、コマンドラインで書くのと同じすべてのステップをキー入力することです。 手順は「end」という単語で終了する必要があります。 すべてのコメント行またはコメント行の前にセミコロン(;)を付ける必要があります。

以下は、上記の例の実用的なデモンストレーションです-

実践的なデモンストレーション

今、コマンドラインから、以下に示すようにその名前「正方形」を使用して手順を実行します-

Square

プロシージャには組み込みコマンドを含めることができるだけでなく、他のプロシージャを含めることもできます。

次の例では、プロシージャ「flower」は事前定義されたプロシージャ「square」を本体から呼び出しています。

事前定義プロシージャ

次のスクリーンショットは、プロシージャ「flower」が呼び出されたときの出力を示しています-

すべての正方形を同じサイズにしたくはありません。多様性が必要です。 ロゴでは、値を変更できる変数を作成します。 次の例では、小さな変更を加えて同じ正方形の手順を使用します。

to square :n
repeat 4 [fd :n rt 90]
end

以下に示すように、コマンドラインでLogoに「:n」の代替値を指定します。

square 50
square 75
square 100

ここに上記の例の実用的なデモンストレーションがあります-

コマンドライン

次に、2つの引数をプロシージャに渡す方法について説明します。 次のスクリーンショットは、同じものの実際的なデモンストレーションです。

2つの引数を渡す