学習姿勢とテスト成績の相関 グループ別の平均点 テスト成績とプリントの読み方の相関 2010年度 75 71.71 70 65 57.96 60 ただ、課題をこなすだ けではなく、(プリントを よく読んで)内容を理 解することが重要! 55 50 41.50 45 40 35 30 よく読む 課題部分のみ ほとんど読まない データ構造とアルゴリズム論 第1章 アルゴリズム の表現-流れ図 平成28年4月15日 森田 彦 アルゴリズムとは? 問題を解決するための処理手順 例:1缶110円のジュースの(自動)販売を行う ① ② ③ <処理の流れ(アルゴリズム)> 料金を投入する 料金が不足していないかどうかを判定し、 料金≧110なら「ありがとうございます」と表示。 それ以外(料金<110)なら「お金が不足してい ます」と表示。 流れ図による表現 開始 料金を入力 料金≧110 No 「お金が不足しています」と表示 Yes 「ありがとうございました」と表示 終了 プログラム(ソース)とは? アルゴリズムをプログラミング言語で表現 したもの Javaで記述 C++で記述 本章(本日)の学習のねらい ① 標準的な流れ図(JIS規格に準拠)の記 述の仕方を学ぶ。 ② 流れ図を用いて簡単なアルゴリズムを 記述できるようになる。 ③ アルゴリズムの(処理の)流れをつかむ ため、トレースの仕方を身につける。 重要! 基本制御構造 1. 連接構造(順次処理) 2. 選択構造(分岐処理) 3. 反復構造(繰り返し処理) これら3つの制御構造の組み合わせであ らゆるアルゴリズムが表現可能。 構造化定理 数学者が証明 1-2 連接構造(順次処理) 開始 朝起きる 顔を洗う 歯を磨く 終了 例:朝起きて顔を洗って歯を磨く 上から下へ順番に処理 (一般に)順序が意味を持つ。 1-3 選択構造(分岐処理) 2分岐処理 開始 Xの値を入力 X≧50 Yes “合格”と表示 終了 例:テストの得点Xが50点以上 なら合格、50点未満なら不合 格と表示する。 X:50 < ≧ No この記述も可 “不合格”と表示 Java言語ではif文で表現 Java言語ではif~else if~else文で 表現 選択構造その2 多分岐処理1 開始 例:テストの得点Xが80点以上なら「よくで きました」、80>X≧50なら「合格」、50点未 満なら「不合格」と表示する。 Xの値を入力 X≧80 Yes No X≧50 No Yes “よくできました” と表示 終了 “合格”と表示 “不合格”と表示 選択構造その3 多分岐処理2 変数の値に応じて処理を分ける。 開始 Xの値を入力 「その他」は省略も可 X 0 処理1 1 2 処理2 処理3 終了 その他 処理4 Java言語ではswitch文 で表現 【基礎課題1-1 】(p.4) 開始 Xを入力すると、それが偶数か 奇数かを表示するアルゴリズム Xの値を入力 演習時に【応用課題1-A】、 【基礎課題1-2】、【応用課題 1-B】をやって下さい。 Y← X % 2 Y=0 No Yes “偶数です”と表示 終了 “奇数です”と表示 1-4 反復構造(繰り返し処理) 決まった回数の繰り返し 例:腕立て伏せを5回行う。 開始 トレース表 i←1 iの値 No 1 2 3 4 6 5 腕立て伏せ回数 5 1 2 3 4 i≦5 Yes 腕立て伏せをする。 i ← i+1 終了 p.6でもう一度 確認 Java言語ではfor文で表現 反復構造その2 トレースとは? アルゴリズム(流れ図)の処理過程をた どって行くこと。 具体的には、変数の値 の変化をたどること。 → トレース表 アルゴリズムの理解 ← トレースが不可 欠 本講義で学習するアルゴリズムを理解で きるかどうか? → 理解できるまでト レースするかどうかにかかっている。 反復構造その3 【基礎課題1-3】 (p.9) 1~5までを順に表示させる 開始 開始 i←1 i i← ←0 i≦5 Yes No i≦ i≦4 Yes i ← i+1 iを表示 i ← i+1 No 終了 iを表示 終了 ※ 「iを表示」と「i ← i+1」を入れ替え 反復構造その5 一般的な終了条件による繰り返し(p.7 B) 例:可能な限り腕立て伏せを行う 開始 続行可能 No Java言語では while文で表現 Yes 腕立て伏せをする。 終了 理解度チェック → 【基礎課題1-4】、【応用課題1-E】 反復構造その4 ループ端記号を使った表現 例:処理AをN回繰り返す (1)列挙型 (2)「変数名:初期値,増分, 終値」 提示型 (3)終了条件提示型 i←1 ループ i=1,2,3,・・・,N ループ i:1,1,N 処理A 処理A ループ ループ ループ i>N (となるまで) 処理A i ← i+1 ループ 理解度チェック → 【基礎課題1-5】 演習にとりかかってください。 少なくとも、基礎課題のチェックは終えること。 演習の時間内に基礎課題を終了できなかった 場合は、必ず次週までに課題を終えて おいて下さい。基礎課題を翌週に持ち越す と、本科目の修学が困難になります。 応用課題まで含めて全ての課題のチェックを終 えた人は退出して結構です。
© Copyright 2024 ExpyDoc