製図家アイドル番組のハウスアルゴリズム。 アイドルにおけるアルゴリズム - 手順とアルゴリズム - 機能。 アルゴリズム - 手続きとアルゴリズム - 関数

いくつかの、たとえば 3 つの正方形を描く必要があるというタスクを考えてみましょう。

アルゴリズムは次のようになります (下記を参照)。 ただし、同じ行が多すぎるため、黄色で強調表示します。 同じ正方形を 10 個描きたい場合はどうすればよいでしょうか? 百?

製図者を使用する
alg 平方 1
始まり
. 点に移動する(-4,1)
。 ペンを下げます
. ベクトルで移動(0,2)
. ベクトルで移動(2,0)
. ベクトルで移動(0,-2)
. ベクトルで移動(-2,0)
。 ペンを上げる

. 点に移動する(-1,1)
。 ペンを下げます
. ベクトルで移動(0,2)
. ベクトルで移動(2,0)
. ベクトルで移動(0,-2)
. ベクトルで移動(-2,0)
。 ペンを上げる

. 点に移動する(2,1)
。 ペンを下げます
. ベクトルで移動(0,2)
. ベクトルで移動(2,0)
. ベクトルで移動(0,-2)
. ベクトルで移動(-2,0)
。 ペンを上げる

. 点に移動する(0,0)
詐欺

中規模のプログラムを作成する場合、構造化プログラミングが使用されます。これは、ソース テキストから解決アルゴリズムが明確に見えるように、プログラムの構造が解決される問題の構造を反映する必要があるという考え方です。 プログラムは多くのサブルーチン (補助アルゴリズム) に分割されており、それぞれが元のタスクによって提供される何らかのアクションを実行します。

補助アルゴリズムを組み合わせることで、特定の意味を持つコード ブロック (サブルーチン) を使用して最終的なアルゴリズムを形成することができます。 名前で連絡できます。 補助アルゴリズムの非常に重要な特性は、再利用可能であることです。

黄色で強調表示されたコード ブロックを別のアルゴリズムを使用して記述します。 それを正方形と呼びましょう。 したがって、いわば、製図者に新しい正方形のコマンドを教えることになります。

製図者を使用する
alg 平方
始まり
. 点に移動する(-4,1)
. 四角
. 点に移動する(-1,1)
. 四角
. 点に移動する(2,1)
. 四角
. 点に移動する(0,0)
詐欺
alg 平方
始まり
。 ペンを下げます
. ベクトルで移動(0,2)
. ベクトルで移動(2,0)
. ベクトルで移動(0,-2)
. ベクトルで移動(-2,0)
。 ペンを上げる
詐欺

よりコンパクトでわかりやすいアルゴリズムが得られました。 プログラムの一部が何度も繰り返される (使用される) 場合、補助アルゴリズムを使用すると便利です。

一辺が 2 ではなく 3 の正方形が描画されるようにアルゴリズムを変更する必要がある場合、補助アルゴリズムを使用すると編集の数が大幅に減少することに注意してください。

注: KuMir 上のプログラム内のすべてのアルゴリズムは順番に記述されます。便宜上、空行で区切ることができます。メイン アルゴリズムは最初に記述されたアルゴリズムであり、プログラムの起動後に実行が開始されます。

逐次詳細化手法

私たちが使用したアプローチにより、複雑なタスクのプログラミングが容易になります。 タスクはより単純なサブタスクに分割されます。 それぞれに対する解決策は補助アルゴリズムの形で提示され、メイン アルゴリズムはそれらの間の接続を組織します。

まずメインプログラムを記述し、その中にコンパイル前のサブルーチンの呼び出しを記述し、そのサブルーチンを記述していくプログラミング方法を逐次詳細化方式といいます。 さらに、サブルーチン自体に他のサブルーチンへの呼び出しが含まれる可能性があるため、詳細なステップの数はこの例よりもはるかに多くなる可能性があります。

組立方法

複雑なプログラムを構築する別のアプローチも可能です。最初に、問題を解決するために必要と思われる多くのサブルーチンがコンパイルされ、次にそれらの呼び出しを含むメイン プログラムが作成されます。 ルーチンを組み合わせてルーチンのライブラリを作成し、コンピュータの長期メモリに保存できます。 このようなライブラリには、新しいサブルーチンを徐々に補充できます。

たとえば、グラフィック アーティストを制御するためにすべての文字と数字を描画するためのプロシージャのライブラリを作成する場合、テキストを取得するプログラムは、ライブラリ プロシージャにアクセスするためのコマンドで構成されます。

ここで説明する方法はアセンブリ プログラミングと呼ばれます。

プログラミングの文献では、次のような用語がよく使用されます。逐次詳細化手法はトップダウン プログラミングと呼ばれ、アセンブリ手法はボトムアップ プログラミングと呼ばれます。

タスク 1. 5、7、または 10 個の正方形が描画されるように、結果のアルゴリズムを変更します。

タスク 2. クリスマス ツリー補助アルゴリズムを使用して森林プログラムを作成し、家の補助アルゴリズムを使用して街路プログラムを作成します。


タスク 3. 郵便番号の数字は次のように記述されます。

これらの数値を描画するための補助アルゴリズムを作成します。 クラスメートと一緒にこれを行うことができます。それぞれに番号が付けられており、それらを組み合わせます。
Unecha (243300)、Yelets (399770)、Taganrog (347900)、Torzhok (172011)、Plyos (155555) の都市のインデックスを描画するプログラムを作成します。 プログラム内で補助アルゴリズムを使用します。

パフォーマーロボット。 補助アルゴリズム(2時間)

目標: 主アルゴリズムと補助アルゴリズムの概念を導入します。 補助アルゴリズムの使用規則を説明する。 補助アルゴリズムを使用してアルゴリズムの例を分析します。 逐次改良法を使用してアルゴリズムを構築する実践的なスキルを開発します。

レッスンプラン

1.新しい用語(主アルゴリズムと補助アルゴリズム、呼び出し)の導入と新しい概念の説明。

2. 補助アルゴリズムを使用した問題解決例の分析。

3. 実務

いくつかの問題を解決するときは、それらを小さなサブタスクに分割すると便利です。各サブタスクは独立したアルゴリズムとして定式化できます。 この場合、いわゆるメイン アルゴリズムが最初にコンパイルされ、補助アルゴリズムへの呼び出しがサブタスクを解決するために使用され、サブタスクは後で追加されます。 この解決策はと呼ばれます 逐次改良の手法。 これにより、プログラマーのグループがプロジェクトに取り組み、それぞれが独自のサブタスクを解決することができます。

問題を解決する過程で、必要に応じて、各補助アルゴリズムをより小さな補助アルゴリズムに分割できます。

補助アルゴリズムを実行するコマンドは次のように呼ばれます。 チャレンジ メインアルゴリズムの本体に書かれています。

同じアルゴリズムは、他のアルゴリズムとの関係において、主および補助として考えることができます。 アルゴリズム言語では、メインのアルゴリズムが最初に記述され、補助アルゴリズムが連続して記述されます。

タスク1:

ロボットはフィールドの左上隅にいます。 壁や塗装された独房はありません。 補助アルゴリズムを使用して、1 つの水平線に 4 つの十字を描画するアルゴリズムを作成します。 ロボットの最終位置は任意です。

解決

ボード上の分析:

タスク2。 ロボットはフィールドの左上隅にいます。 壁や塗装された独房はありません。 8 x 8 の正方形を市松模様でペイントするアルゴリズムを作成します。ロボットの最終位置は任意です。

PC実習「補助アルゴリズムを使った問題解決」

問題1 。 ロボットはフィールドの左下隅にいます。 壁や塗装された独房はありません。 同じ長さの 6 つの縦縞を 6 つのセルにペイントするアルゴリズムを作成します。 ロボットの最終位置は任意です。

問題 2 。 補助的なものを使用して、数字 1212 を形成するセルを描画するアルゴリズムを作成します。

宿題 : 次の画像を描くアルゴリズムを考え出します: 問題を解決するには、2 つの補助アルゴリズムを使用します。

ロボット実行制御 KUMIRシステム内

ロボットは、ある環境(四角い市松模様のフィールド)内に存在します。 フィールドのいくつかのセルの間に壁が存在する場合があります。 一部のセルは塗りつぶされる場合があります (図 3.11)。

ロボットはフィールドの 1 つのセルを正確に占有します。

上下左右のコマンドにより、ロボットは指定された方向に隣接するセルに移動します。 途中に壁がある場合は失敗し、次のコマンドを実行できないことを示すメッセージが表示されます。

ペイントのコマンドが出されたら、ロボットは自分が立っているセルをペイントします。 セルが既にペイントされている場合は、再度ペイントされますが、目に見える変化は発生しません。

ロボットは正しく記述されたコマンドのみを実行できます。 down コマンドの代わりに書き留めた場合、ロボットはこのエントリを理解できず、すぐにエラーを報告します。

について
エラー: 1 構文。 2.論理的

状況の説明は、特別な形式 (.fil 形式) のテキスト ファイルに保存されます。

現在- ロボットが現在位置する環境 (ロボットの位置に関する情報を含む)。

起動- ロボットを使用するプログラムの実行の開始時にロボットが強制的に配置される環境。

操作手順:


  1. セット 起動環境問題の状況に応じて:
メニュー ツール → ロボットの起動環境を変更(タスクの条件に合わせて環境を描画し、名前を付けて個人フォルダに保存)

2. 請負業者を指定します。

メニュー挿入→ロボットを使用

3. 問題を解決するためのアルゴリズムを作成します。

4. アルゴリズムを実行します (メニュー実行→連続実行 /F9)

KUMIRシステムにおけるロボットパフォーマーコマンドシステム


チーム

アクション



ロボットは 1 マス上に移動します



ロボットは 1 マス下に移動します



ロボットは左に 1 マス移動します



ロボットは右に 1 マス移動します

塗りつぶす

ロボットは自分が入っているセルをペイントします

右側は無料

ロボットは対応するコマンドの実行をチェックします。 単純条件

自由にしておいた



上は無料



下から無料で



セルが塗りつぶされている



檻はきれいです



循環アルゴリズム

サイクル– ある条件が真である間のアクションの繰り返しの組織化 .

ループの本体は反復可能なアクションのセット。

状態 -論理式 (単純または複雑 (複合))
サイクルの種類:

1.ループ「n 回繰り返す」 2. ループ「Until」
nts n 回 今のところ
。 。 ループの本体。 。 ループ本体
kts kts

例: 今のところ右側は無料


「n 回繰り返す」サイクルの全体像:

n回繰り返す

終わり
kts

「while」サイクルの全体像:

さようなら

終わり
複合条件 1 つ以上の単純な条件と機能語から形成されます そして、あるいは、そうではありません。


複合条件 AとB(A、Bは単純条件)に含まれる2つの単純条件がそれぞれ満たされた場合に成立します。

Aさせてください - 上部は無料、- 右側はフリー、次に複合条件 AとB- 上部はフリー、右側はフリーです。


複合条件 A または B それに含まれる 2 つの単純な条件のうち少なくとも 1 つが満たされた場合に満たされます。 上部フリーまたは右フリー
複合条件 ではありません- 条件 A が満たされない場合に満たされます。

例: A を色付きセルとします (単純な条件)。

P 複合条件のチェック NOT A:

a) A - 完了、NOT A (網掛けなし) - 未完了。

b) A - 未完了、NOT A (網掛けなし) - 完了。


分岐コマンド

分岐 -何らかの条件が満たされるか満たされないかに応じて、1 つまたは別の一連のアクションが実行される、アクションの組織化の形式。

IF コマンドの全体像:

もし それ さもないと

終わり

ICON 言語の場合:

完全な分岐: 不完全な分岐:
もし それ もし それ

さもないと

すべてすべて

補助アルゴリズム- 主要な問題のサブタスクを解決するアルゴリズム。

KUMIR システムでは、補助アルゴリズムはメインプログラムの最後 (サービスワードの後) に記述されます。 詐欺) は、メイン プログラムで実行するために名前によって呼び出されます。

アンケートと課題

1. ロボットを元の位置からセル B に移動する 3 つのコマンドからすべてのアルゴリズムを指定します。

ロボットが次のことを行うこのタスクのアルゴリズムはありますか?

a) 2 つのステップ。 b) 4 つのステップ。 c) 5 つのステップ。 d) 7つのステップ?


  1. Petya は、いくつかのセルをペイントすることでロボットをセル A からセル B に移動するアルゴリズムをコンパイルしました。 ロボットを B から A に転送し、同じセルを描画するアルゴリズムを取得するには、Kolya はこのアルゴリズムをどうすればよいでしょうか?


7. 2 つの補助ロボット アルゴリズムが知られています

ロボットが次の基本アルゴリズムを実行すると何が起こるかを描きます。


A)

nts 5 回


パターン_1

右; 右;


b)

nts 7 回


パターン_2

右; 右


V)
右; 右; 右

上; 上

右; 右; 右

下; 下


G)
右; 右
右; 右

8. ロボットが指定されたセルをペイントする制御下にあるアルゴリズムを作成します。



9。 ロボットの右側のどこかに壁があることが知られています。 ロボットが壁までセルの列をペイントし、元の位置に戻るアルゴリズムを作成します。

10. ロボットの右側のどこかに、塗りつぶされたセルがあることがわかります。

アルゴリズムの制御下に置いたままにして、ロボットがペイントされたセルまでいくつかのセルをペイントし、元の位置に戻ります。

11. ロボットは水平通路の左側の入り口の隣に位置していることがわかっています。

12. ロボットが水平通路のどこかにいることがわかっています。 回廊のセルはどれも塗装されていません。

ロボットがこの廊下のすべてのセルをペイントし、元の位置に戻る制御の下にあるアルゴリズムを作成します。


13. ロボットの右側にある 10 個のセルの行では、いくつかのセルが影付きになっています。

セルを描画するアルゴリズムはそのままにしておきます。

a) 各網掛けセルの下。

b) 各影付きセルの上下。


14. アルゴリズムの次の部分の正確さについて何が言えますか?

今のところセルが塗りつぶされている

もし右側は無料 それ

右; 塗りつぶす


ts

15. ロボットが 3 つの迷路すべてでセル B に到達できるプログラムを作成します。


16. ロボットがフィールドの左下隅から右上隅まで廊下に沿って歩くことができるプログラムを作成します。 廊下は 1 セル幅で、左下から右上の方向に伸びています。 考えられるコリドーの例を図に示します。

Z

GIAの実績


  1. 廊下1. ロボットは垂直通路のどこかにいます。 回廊のセルはどれも塗装されていません。 ロボットがこの廊下のすべてのセルをペイントし、元の位置に戻る制御の下にあるアルゴリズムを作成します。


  1. 必要

    与えられた
    廊下2. ロボットは、狭い垂直の廊下の上部のセルに配置されています。 コリドーの幅は 1 セルであり、コリドーの長さは任意です。

ロボットの初期位置の可能なオプションを図に示します (ロボットは文字「P」で示されています)。

廊下内のすべてのセルをペイントし、ロボットを元の位置に戻すロボットのアルゴリズムを作成します。 たとえば、上の図の場合、ロボットは次のセルをペイントする必要があります (図を参照)。


  1. どこまでも続くフィールドに、横に長い壁がある。 壁の長さは不明。 ロボットは壁の真上の独房の 1 つにいます。 ロボットの初期位置も不明です。 考えられるポジションの 1 つ:
N


必要

与えられた
壁のサイズやロボットの初期位置に関係なく、壁の上と壁に隣接するすべてのセルをペイントするロボットのアルゴリズムを作成します。 たとえば、上の図の場合、ロボットは次のセルをペイントする必要があります。

ロボットの最終位置は任意です。 アルゴリズムを実行するとき、ロボットを破壊してはなりません。



  1. 果てしなく続くフィールドには、長く垂直な壁がある。 壁の長さは不明。 ロボットは壁のすぐ右側にあるケージの 1 つにいます。 ロボットの初期位置も不明です。 ロボットの可能な位置の 1 つを図に示します (ロボットは文字「P」で示されています): 壁に隣接するすべてのセルをペイントするアルゴリズムを作成します: 左側、ペイントされていない上から順に1つと1つを通して。 右側では、下の影付きの部分から始まり、1 つまで続きます。 ロボットは、この条件を満たすセルのみをペイントする必要があります。 たとえば、上の図の場合、ロボットは次のセルに入力する必要があります (図を参照)。 ロボットの最終的な位置は任意です。 アルゴリズムは、任意の壁サイズとロボットの有効な開始位置に関する問題を解決する必要があります。 アルゴリズムを実行するとき、ロボットを破壊してはなりません。


垂直壁の左側と水平壁の上に隣接するすべてのセルをペイントするロボット用のアルゴリズムを作成します。 ロボットは、この条件を満たすセルのみをペイントする必要があります。 たとえば、上の図の場合、ロボットは次のセルに色を付ける必要があります (図を参照)。


N 壁に隣接するセルを上下に左から順にペイントするロボット用のアルゴリズムを作成します。 ロボットは、この条件を満たすセルのみをペイントする必要があります。 たとえば、指定された図 a) の場合、ロボットは次のセルをペイントする必要があります (図 b を参照)。

ロボットの最終位置は任意です。 アルゴリズムは、任意の壁サイズとロボットの許容可能な初期位置の問題を解決する必要があります。



R

  1. 果てしなく続くフィールドには、長く垂直な壁がある。 壁の長さは不明。 ロボットは壁のすぐ左側にあるセルの 1 つにいます。 ロボットの初期位置も不明です。 ロボットの可能な位置の 1 つを図に示します (ロボットは文字「P」で示されています)。
壁に隣接するすべてのセルをペイントするアルゴリズムを作成します。

  • 左側にはすべてが表示されます。

  • 右側は、上部の未塗装のものから始めて、1 つまでです。
ロボットは、この条件を満たすセルのみをペイントする必要があります。

B
1102_GIA2011

無限のフィールドには水平な 2 つの壁があります。 壁の長さは不明。 壁間の距離は不明です。 ロボットは、左端にあるケージ内の底壁の上に配置されます。 下壁の上と上壁の下に隣接するすべてのセルをペイントするロボットのアルゴリズムを作成します。 ロボットは、この条件を満たすセルのみをペイントする必要があります。 たとえば、上の図の場合、ロボットは次のセルをペイントする必要があります (図を参照)。

ロボットの最終的な位置は任意です。 このアルゴリズムは、任意のフィールド サイズと、長方形のフィールド内の許容される壁の配置に関する問題を解決する必要があります。 アルゴリズムを実行するとき、ロボットを破壊してはなりません。



1103_GIA_2011


どこまでも続くフィールドに水平の壁がある。 壁の長さは不明。 壁の右端からは長さ不明の垂直壁が伸びている。 ロボットは、その左端にあるケージ内の水平壁の上に配置されます。 この図は、壁とロボットを配置する可能な方法の 1 つを示しています (ロボットは文字「P」で示されています)。

水平壁の上、垂直壁の右側、およびそれらに隣接するすべてのセルをペイントするロボット用のアルゴリズムを作成します。 ロボットは、この条件を満たすセルのみをペイントする必要があります。 たとえば、上の図の場合、ロボットは次のセルに色を付ける必要があります (図を参照)。

セクション: コンピュータサイエンス

レッスンの目標:

  • アルゴリズムの実行者に関する生徒の考えを統合します。
  • 補助アルゴリズムを使用して Draftsman を制御する方法を生徒に教えます。
  • 「アイドル」環境で Draftsman コマンドを使用してアルゴリズムを記録、実行、デバッグする能力を開発します。

レッスン提供:

  • アイドル系;
  • マルチメディアプロジェクター。
  • レッスンのプレゼンテーション (付録 1)
  • タスクカード。
  • コンピューター。

授業中

1. 宿題の確認。

  • 基本的な定義(パフォーマー、正式なパフォーマー、非公式なパフォーマー)に関する知識について学生を対象に電撃調査。
  • 生徒たちは非公式および公式の出演者の例を挙げます。

2. 新素材の説明。

製図者は、面倒でわかりにくいアルゴリズムを作成しないように、同じものを何度も描画する必要があることがよくあり、補助アルゴリズムが使用されます。

補助アルゴリズム- これは、元のタスクによって提供されるアクションを実行するサブルーチンです (スライド 2)。

2 つの補助アルゴリズムを作成します。

  1. 「フェンス」アルゴリズムを構築しましょう
  2. El アルゴリズムを構築しましょう
  3. 2 つのアルゴリズムを組み合わせて、ループを N 回適用してみましょう。

指定された回数、または指定された条件が満たされるまで繰り返すことができるアクションの記述が呼び出されます。 サイクル.

アルゴリズムを作成するとき、特定の一連のコマンドを連続して複数回実行する必要がある場合がよくあります。 このような場合にアルゴリズムの記述を簡素化するには、N 回繰り返す特別な構造を使用できます。

サイクルの全体像:

ノースカロライナ州<количество раз>一度
<тело цикла (последовательность команд)>
kts (スライド 4)。

2. 生徒はトピックの内容を学習します。

エクササイズ: Draftsman アーティストを使用して、Idol プログラムで次の図面を作成します (スライド 3)。

製図者を使用する
アルグ
始まり
nts 10 回
フェンス
kts
ペンを上げる
ベクトルで移動 (-36,10)
nts 5 回
ペンを下げます
スプルース
kts
詐欺

アルグフェンス
始まり
ペンを下げます
ベクトル (0,10) で移動
ベクトル (2,2) で移動
ベクトル (2,-2) で移動
ベクトル (0,-10) で移動
詐欺

アルグスプルース
始まり
ペンを下げます
ベクトルで移動 (0.15)
nts 5 回
ベクトル (-2,-2) で移動
ペンを上げる
ベクトル (2,0) で移動
ペンを下げます
kts
nts 5 回
ペンを上げる
ベクトル (2,0) で移動
ペンを下げます
ベクトルによるシフト (-2,2)
kts
ペンを上げる
ベクトルによるシフト (8、-15)
詐欺

追加のタスク:補助アルゴリズム「HOUSE」を作成し、画像に追加します(スライド 7)。

4. 宿題:アウトラインを繰り返します (補助アルゴリズムを使用して独自の図面を考え出します)。

実践作品『パフォーマー製図家。 引数を指定した補助アルゴリズムの使用

タスクA。 必要な補助アルゴリズム (特定の長さの正方形を描画する) は次のように記述できます。

アルグ四角( 引数のもの A)
始まり
. ペンを下げます
. ベクトルで移動(0,a)
. ベクトルで移動(a,0)
. ベクトルで移動(0,-a)
. ベクトルで移動(-a,0)
. ペンを上げる
詐欺

エントリー「 アルグ四角( 引数のもの a)" は、"square" アルゴリズムが 1 つの引数 (arg) "a" を持ち、これは任意の実数であることを意味します。 このアルゴリズムを呼び出すには、たとえば、「square(2)」 - 辺 2 の正方形を取得する、または「square(3)」 - 辺 3 の正方形を取得する、などと記述する必要があります。 いくつかの特定の値「a」は、対応する補助アルゴリズム中にプログラムが実行されている間のみ取得されます。 そして、「a」の代わりにどこでもこの数字がコンピューターによって置き換えられます。

この絵を描くプログラムは次のようになります。

製図者を使用する
アルグ正方形
始まり
. 点に移動する(1,1)
。 正方形(2)
. 点に移動する(4,1)
。 正方形(3)
. 点に移動する(8,1)
。 正方形(4)
. 点に移動する(13,1)
。 正方形(5)
. 点に移動する(0,0)
詐欺
アルグ四角( 引数のもの A)
始まり
. ペンを下げます
. ベクトルで移動(0,a)
. ベクトルで移動(a,0)
. ベクトルで移動(0,-a)
. ベクトルで移動(-a,0)
. ペンを上げる
詐欺

タスクB。 製図者に新しいコマンドを教えてみましょう。 コマンドの 1 つを「 line(引数 x1,y1,x2,y2)» – 点 (x1,y1) から点 (x2,y2) まで線を描きます。

アルグライン( 引数のもの x1、y1、x2、y2)
始まり
. 点に移動する(x1,y1)
. ペンを下げます
. 点に移動する(x2,y2)
. ペンを上げる
詐欺

タスクB。 2 番目のコマンドを「」とします。 Rectangle(引数 x1,y1,x2,y2)" 長方形を描画します。 点 (x1,y1) は長方形の対角線 AC の 1 点であり、点 (x2,y2) はその反対です。 アルゴリズムを作成する前に、他の 2 つの点の座標が何に等しいかを理解する必要があります。

補助アルゴリズムは次のようになります。

アルグ矩形( 引数のもの x1、y1、x2、y2)
始まり
. 点に移動する(x1,y1)
. ペンを下げます
. 点に移動する(x2,y1)
. 点に移動する(x2,y2)
. 点に移動する(x1,y2)
. 点に移動する(x1,y1)
. ペンを上げる
詐欺

タスクG。 次に、次のコマンドを使用して家を描画します。

製図者を使用する
アルグ
始まり
。 長方形(2,1,8,5)
。 長方形(3,2,5,4)
。 長方形(6,1,7,4)
。 行(1,4,5,8)
。 ライン(5,8,9,4)
詐欺
アルグライン( 引数のもの x1、y1、x2、y2)
始まり
. 点に移動する(x1,y1)
. ペンを下げます
. 点に移動する(x2,y2)
. ペンを上げる
詐欺
アルグ矩形( 引数のもの x1、y1、x2、y2)
始まり
. 点に移動する(x1,y1)
. ペンを下げます
. 点に移動する(x2,y1)
. 点に移動する(x2,y2)
. 点に移動する(x1,y2)
. 点に移動する(x1,y1)
. ペンを上げる
詐欺

注: もちろん、これらのコマンドと同時に、標準の製図者コマンド (点への移動、ベクトルへの移動など) も使用できます。

タスクD。 アルゴリズムに従って、製図者が描くものを自分で描きます。

製図者を使用する
アルグ螺旋
始まり
. 点に移動する(3,3)
. ペンを下げます
。 ターン(1); ターン(3); ターン(5); ターン(7); ターン(9)
. ペンを上げる
詐欺
アルグ振り向く( 引数のもの A)
始まり
. ベクトルで移動(a, 0)
. ベクトルで移動(0, -a)
. ベクトルで移動(-a-1.0)
. ベクトルで移動(0、a+1)
コン。

トピックの続き:
デバイス

この記事では、ネットワーク内のスイッチングの主な方法について説明します。 従来の電話ネットワークでは、加入者間の通信は通信チャネルの交換を使用して実行されます。 で...