アルゴリズムとは何かというテーマのプレゼンテーション。 アルゴリズムとその記述方法。 アルゴリズムの概念とその特性
- アルゴリズムは、さまざまなオブジェクトの変換プロセスを記述することができます。 「アルゴリズム」という言葉自体は、算術演算を実行するための規則を策定した 9 世紀の傑出した数学者アル・フワリズミの名前のラテン語綴りである「algorithmi」に由来しています。
- アルゴリズム- 有限数のアクションで問題を解決するという結果を達成するための実行者のアクションの順序を記述する一連のコマンド。
アルゴリズムのプロパティ:
1. 離散性- アルゴリズムは、問題を解決するプロセスをいくつかの単純なステップの連続的な実行として表現する必要があります。 その中で アルゴリズムの各ステップが完了するまでに必要な時間は有限ですつまり、ソース データから結果への変換は時間内に離散的に実行されます。
2. 決定論(確実性)。 それぞれの瞬間において、作業の次のステップはシステムの状態によって一意に決定されます。したがって、アルゴリズムは、同じ初期データに対して同じ結果 (答え) を生成します。
3. 明瞭さ- アルゴリズムには、実行者が使用でき、コマンド システムに含まれるコマンドのみを含める必要があります。
4. 完成度(極限)- 正しく指定された初期データを使用して、アルゴリズムは作業を完了し、有限のステップ数で結果を生成する必要があります。
5.大衆性(普遍性)。アルゴリズムは、さまざまな入力データのセットに適用できる必要があります。
6. 有効性- 特定の結果を伴うアルゴリズムの完了。
アルゴリズムを記述する方法:
1. 口頭録音方法
アルゴリズムを口頭で記述する方法は、データ処理の連続段階を説明することです。 アルゴリズムは任意のプレゼンテーションで指定されます 自然言語で .
例
アルゴリズムを口頭で記述する方法の例として、長方形の面積を求めるアルゴリズムを考えてみましょう。
ここで、Sは長方形の面積です。 a、b – 辺の長さ。
明らかに、a、b は事前に指定されていなければ問題は解決できません。
アルゴリズムを記述する方法
アルゴリズムを口頭で記述する方法は次のようになります。
- アルゴリズムの始まり。
- a辺の数値を設定します。
- b辺の数値を設定します。
- 式 S=a*b を使用して長方形の面積 S を計算します。
- 計算結果を出力します。
- アルゴリズムの終了。
アルゴリズムを記述する方法
2. グラフィック手法
グラフィックで表示される場合、アルゴリズムは相互接続された一連の機能ブロックとして表され、各機能ブロックは 1 つ以上のアクションの実行に対応します。
この図表をフローチャートまたはフローチャートと呼びます。 フローチャートでは、各種動作(初期データの入力、式の値の計算、条件の確認、動作の繰り返しの制御、処理の完了など)が、ブロックシンボルとして表現される幾何学図形に対応しています。 ブロック シンボルは、アクションが実行される順序を決定する遷移線によって接続されます。 以下は最も一般的に使用される記号です。
アルゴリズムを記述する方法
フローチャート要素
名前
演算ブロック(演算ブロック)
計算アクションまたは一連のアクション
ロジックブロック(条件ブロック)
データ入出力部
何らかの条件に応じてアルゴリズムの実行方向を選択する
データ入力(出力)の一般的な名称(物理メディアに関係なく)
始まり(終わり)
アルゴリズムの開始または終了、サブルーチンの開始または終了
アルゴリズムを記述する方法
フローチャート要素
名前
ユーザープロセス(サブルーチン)
標準プログラムまたはサブルーチンを使用した計算
変更ブロック
この関数は、アルゴリズムのポイント (ループ ヘッダーなど) を変更するアクションを実行します。
コネクタ
情報の流れ間の接続を破線で示す
アルゴリズムを記述する方法
例
長方形の面積を計算するアルゴリズム
アルゴリズムを記述する方法
3. 擬似コード
条件付きアルゴリズム言語によるアルゴリズムの半形式化された記述。プログラミング言語の要素と自然言語句、一般に受け入れられている数学的表記法などの両方が含まれます。
擬似コードには単一の正式な定義がないため、機能語のセットや基本 (基本) 構造が異なるさまざまな擬似コードが可能です。
アルゴリズムを記述する方法
例
- 始める。 ポイント 2 に進みます。
- 数字aとbを入力します。 ポイント 3 に進みます。
- S=a*bを計算します。 ポイント 4 に進みます。
- 結論 S. ステップ 5 に進みます。
- 終わり。
アルゴリズムを記述する方法
4. ソフトウェア方式
選択したプログラミング言語でアルゴリズムを記録します。
例
Writeln('');
Writeln(‘S=‘ , S);
アルゴリズムの種類
1. 線形アルゴリズム
これは以下の構造のみからなるアルゴリズムである。
続く- これはアクションを次々と配置したものです。
アルゴリズムの種類
2. 分岐アルゴリズム (if... then... else...)
分岐構造を持つアルゴリズムです。
分岐- これは、何らかの条件の充足に応じてアクションを選択することです。
アルゴリズムの種類
3. 循環アルゴリズム
ループ構造を持つアルゴリズムです。
サイクル- これは、あらゆる動作の繰り返しです。
アルゴリズムの種類
4. 組み合わせアルゴリズム
複数の構造を同時に含むアルゴリズム。
スライド 1
スライド 2
「アルゴリズム」という用語の由来 アルゴリズムの概念、アルゴリズムの例 アルゴリズムの主な性質 アルゴリズムの指定方法 アルゴリズムのフローチャートで使用される表記 アルゴリズムの種類スライド 3
フワリズミという名前は、ラテン語化された形のアルホレズミで、遍在する数学用語のアルゴリズムの中で不滅のものとなっています。 アルゴリズムは、ギリシャ語の「アリスモス」(数)の影響を受けて、アルホレズミという名前がわずかに変更されたものです。9 世紀の偉大なウズベキスタンの数学者、アル ホレズミ ムハメド ベン ムーサによるアルゴリズムの概念の出現。スライド 4
アルゴリズムは特定の一連のアクションであり、その実装により問題の解決策を得ることができます。 アルゴリズム レコード内の各アクションはコマンドと呼ばれます。 各アルゴリズムは、特定の実行者によって実行されるように設計されています。 アルゴリズムは人間だけでなく、動物、昆虫、植物でも実行でき、無生物の機構や装置にアルゴリズムの実行を委ねることもできます。スライド 5
学校の数学コースで学習されるアルゴリズムの例: 算術演算を実行するアルゴリズム 括弧内の計算を実行するか、式内の括弧を展開します (存在する場合)。 第 2 段階 (乗算と除算) のすべてのステップを実行します。 最初の段階の演算 (加算と減算) を実行します。スライド 6
学校のロシア語コースで学習されるアルゴリズムの例: 「z」、「s」の接頭辞をスペルするアルゴリズム。 1. 単語の語源を選択します。 2. ルートがベルで始まる場合はポイント 3 に進み、そうでない場合はポイント 4 に進みます。 3. 接頭辞に「z」を書きます。 ポイント 5 に進みます。 4. 接頭辞に「c」と書きます。 5. 単語を書き留めますスライド 7
生活におけるアルゴリズムの例: 車の修理、操作、メンテナンスのマニュアル レシピ 電話の使用規則 火災時の避難指示 日常生活スライド 8
アルゴリズムの基本特性: 1. 離散性 アルゴリズムは、特定の順序で続く特定のアクションで構成されなければなりません。 例。 ファストフード料理を準備するためのアルゴリズム: 1. 袋の中身を容器に注ぎます。 2.容器に熱湯200mlを注ぎます。 3. かき混ぜます。スライド 9
決定論 (曖昧さのないこと) あらゆるアクションは、それぞれの場合において厳密かつ明確に定義されなければなりません。 例 飛行機を制御する場合、複雑なアルゴリズムが使用され、その実行者はパイロットまたは搭載コンピューターです。 アルゴリズムの各コマンドは、実行者の明確なアクションを決定します。スライド 10
同じアルゴリズムを異なるソース データで使用できます。 3. 質量スケールの例 加算、減算、乗算、除算のアルゴリズムは、さまざまな位置記数系の任意の数値に適用できます。スライド 11
アルゴリズムは、有限のステップ数で問題を解決する必要があります。 4. 効果の例。 10 進数体系で整数を加算するアルゴリズム: 1. 列に数値を書き込みます。 2. 最下位の桁の数字を加算します。 3. 結果を横線の下に書き込みます。スライド 12
5. 理解可能性 アルゴリズムには、実行者のコマンド システムに含まれるコマンドのみが含まれている必要があります。 例 コンピュータの電源を入れると、オペレーティング システムをテストしてロードするためのアルゴリズムが実行されます。 これらのアルゴリズムはコンピュータによって実行されるため、コンピュータが理解できる機械語で記述する必要があります。スライド 13
プロパティ 実現されているプロパティの例 実現されていないプロパティの例 離散性 実行はできませんが、慈悲はあります。 死刑執行は許されません。 決定論(正確性) 樫の木の上に棺があり、棺の中にはアヒルがおり、アヒルの中には卵があり、卵の中には針があり、針の中にはコシチェイの死がある。 そこに行ってください、どこにいるかわかりませんが、何かわかりませんが何かを持ってきてください。 重厚さ 父親は娘たちに高価な贈り物を持ってきました。 王子は本物の王女としか結婚できませんでした。 ロシア語での分かりやすい説明書。 日本語での説明書。 効果 ネズミが尻尾を振ると卵が割れました。 馬場は何度も打ちましたが、壊すことはできませんでした。スライド 14
口頭 - この方法では、特定のコマンドが各行にリストされます。 グラフィック - ブロック図を使用します。 アルゴリズム言語を使用します。 定型的な表形式 - 経済問題で最もよく使用される方法)。 アルゴリズムの提示方法スライド 15
ブロック図の要素: ブロック指定 説明 データ処理プロセスの開始、終了 初期データの入力、結果の出力 演算動作 (代入演算) 条件チェック (条件遷移) サイクルの開始スライド 16
スライド 17
線形アルゴリズム 線形アルゴリズムは、命令が次々と順番に実行されるアルゴリズムです。スライド 18
アルゴリズム-
これは、指定された目標を達成したり、指定された問題を解決したりすることを目的とした、特定の一連のアクションを実行するための、実行者に対する正確でわかりやすい指示(指示)です。
アルゴリズムの特性
1. 離散性
2. わかりやすさ(確実性)
3. 独自性(決定性)
4. 大勢の参加
5.パフォーマンス(手足)
アルゴリズムのプロパティ:
- 曖昧さのないこと– パフォーマーの各ステップは、ただ 1 つの方法でのみ解釈できますし、またそうすべきです。
- わかりやすさ– アルゴリズムは、実行コマンドのシステムに含まれるコマンドのみで構成されている必要があります。
- マスキャラクター- 特定の種類の問題を解決できます。
アルゴリズムのプロパティ:
- 効率(または有限性) – アルゴリズムの実行は有限数のステップで結果をもたらす必要があります。
- 離散性(または詳細化) – アルゴリズムは、実行コマンドのシステムを使用して実行できる基本的な (個別の) ステップに分割できます。
説明の方法
ナチュラルに
言語
アルゴリズム
言語または
プログラム
数式として
グラフィック-
ブロック図
ブロック図
これは、矢印で接続された個別のブロックの形式でアルゴリズムを記録したものです。
ブロック図の例
10 個の数値の合計を求めるアルゴリズム
ブロックの種類
名前
指定
入出力
機能
データの値、表示形式、または配置を変更する操作または操作グループを実行すること。
書類
データを処理に適した形式に変換したり(入力)、処理した結果を表示したり(出力)します。
いくつかの可変条件に応じてアルゴリズムの実行方向を選択します。
データを紙に出力します。
起動停止
データ処理プロセスの開始、終了、中断。
アルゴリズム実行者
人間
ロボット
コンピューター
Executor – アルゴリズムを実行するオブジェクト
請負業者が実行する
アルゴリズムを正式に
管理の観点から見たパフォーマーの主な特徴は次のとおりです。 エグゼキュータ コマンド システム (SCI) - これは、実行者が理解できる有限のコマンドのセットです。 それらを実行する方法を知っています
アルゴリズムの種類
アルゴリズムには主に 3 種類あり、プログラムを作成する際の基本となります。
線形アルゴリズム – これは、すべてのアクションが厳密な順序で順番に実行されるアルゴリズムです。
例: パソコンの電源を入れる
何らかの条件に応じて行動を選択するアルゴリズムを といいます。 分岐する
始める
気分
良い?
友達に電話する
散歩する
終わり
循環アルゴリズム –
これ 値が変化する繰り返しアクションを含むアルゴリズム (パラメータ)
一連のアクションを繰り返すことを呼びます。 サイクル , そしてこれらの行動は 周期的な
ラウンドロビンアルゴリズムの例
始める
ベリー類
集めました?
ベリーを選ぶ
カートに追加
かごを持ち去ってください
1 スライド
2 スライド
プレゼンテーションの内容 歴史。 アルゴリズムの概念。 アルゴリズムの例。 アルゴリズム実行者。 プログラムとは何ですか? アルゴリズムのプロパティ。 アルゴリズムの種類。 アルゴリズムを記述する方法。 アルゴリズムのグラフィカルな説明の主要なブロック。 ホーム © Nechaeva Olga Ivanovna 2006 起源の歴史。 アルゴリズムの概念。 アルゴリズムの例。 アルゴリズム実行者。 プログラムとは何ですか? アルゴリズムのプロパティ。 アルゴリズムの種類。 アルゴリズムを記述する方法。 アルゴリズムのグラフィカルな説明の主要なブロック。 メインへ
3 スライド
ちょっとした歴史 代数の創始者である「アルゴリズム」という用語は彼の名前に由来しています。 世界科学では、彼は位置原理に基づいた数学に関する論文で知られていました。 この著作がアラビア語からラテン語に翻訳されたおかげで、「アラビア語」の数字は永遠に世界の数学に浸透しました。 ラテン語化された形式の著者の名前 Algorismus および Algorithmus は、もともと 10 進数体系の四則演算のルールに名前を与えました。 その後、「アルゴリズム」という言葉は、有限数のステップで特定の種類の問題に対する解決策を提供する通常のプロセスを意味するようになりました。 アル・ホレズミ (西暦 786 ~ 850 年) - © Nechaeva Olga Ivanovna 2006
4 スライド
アルゴリズムは、問題の解決を確実にする特定のアクションを実行するための一連のルールです。 A L G O R I T M 人生において、私たちは常にさまざまなアルゴリズムを実行しています。 © Nechaeva Olga Ivanovna 2006 私たちは多くのことを成し遂げるために毎日の日課を作ります。 アルゴリズムの概念は、コンピューター サイエンスの基本的な概念の 1 つです。
5 スライド
アルゴリズムの例 私たちは料理本を取り出し、そこに書かれているレシピに厳密に従って、料理を成功させ、友人にごちそうすることができます。 私たちは道路を横断するときは交通ルールを守ります。 © Nechaeva オルガ・イワノヴナ 2006
6 スライド
アルゴリズムの実行者 アルゴリズムは、実行者を考慮してコンパイルされます。 実行者は人間、自動機械、またはコンピュータです。 © Nechaeva オルガ・イワノヴナ 2006
スライド 7
プログラム © Olga Ivanovna Nechaeva 2006 各出演者は独自のコマンド システム (SCS) を持っています。 プログラムとは、実行者の言語で書かれたアルゴリズムです。 例を見てみましょう。トレーニングパフォーマーの Turtle を例に挙げてみましょう。 この実行者に、前方 (1 cm)、右 (900)、左 (900) の 3 つのコマンドを与えます。 パフォーマーの初期位置: プログラム コードは次のようになります: 左 (900) 前方 (1 cm) 右へ 1 cm (900) 前方 (1 cm) タートルが文字を描くにはどのようなプログラム コードを記述する必要がありますかえ?
8 スライド
© Nechaeva Olga Ivanovna 2006 アルゴリズムの特性 (アルゴリズムをコンパイルするための要件) 離散性。 問題を解決するプロセスは、一連の個別のステップに分割する必要があります。 曖昧さのないこと(正確さ)。 アルゴリズムのコマンドは正確に定義する必要があります (たとえば、小麦粉 3 ~ 4 カップを書き込むことはできません。3 カップを指定する必要があります)。 生産性。 アルゴリズムのすべてのコマンドを実行すると、結果が得られます。 普遍性(大衆向け)。 コンピュータ上で問題を解決する際の重要な特性。 アルゴリズムは、1 つの特定の問題ではなく、特定の種類の問題を解決するために適用できなければなりません。 たとえば、異なる係数を使用して二次方程式を解く場合などです)。 明瞭さ。 アルゴリズムは、実行者が理解できる言語で作成する必要があります。
スライド 9
線形。 このようなアルゴリズムのコマンドは、上から下に順番に実行されます。 たとえば、2 本の脚を使用して直角三角形の斜辺を見つけます。 アルゴリズムの種類 © Nechaeva Olga Ivanovna 2006 分岐。 設定された条件に応じて、アルゴリズムにより問題を解決するためのオプションの 1 つを選択できます。 例としては、二次方程式の根を見つけたり、ロシアのおとぎ話から岐路に立つ英雄を見つけたりすることが考えられます。 周期的。 アルゴリズムには反復的なアクションが含まれています。 たとえば、詩を暗記するときは、同じ行を読み直して繰り返す必要があります。