第9回 今日の目標 §3.2 アルゴリズム 問題解決の手順を示せる アルゴリズムの条件と処理要素を示せる

Slides:



Advertisements
Similar presentations
2009/11/10 10 進数と r 進数を相互に変換できる コンピュータのための数を表現できる 2進数の補数を扱える コンピュータにおける負の数の表現を説明で きる コンピュータでの演算方法を説明できる 文字や記号の表現方法を示せる 第7回 今日の目標 § 2.2 数の表現と文字コード.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
Microsoft Office クイックガイド ~Excel 2013~
第10章:自分自身の関数を書く 10月31日(金) 発表者:紺野憲一
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
情報処理 第12回.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
徳山豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
情報基礎(Week6) ≪Excel 2007を使った表計算の基礎≫
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
JavaによるCAI学習ソフトウェアの開発
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
数値計算及び実習 第3回 プログラミングの基礎(1).
2 プログラムの基本 本時のねらい 「① プロラムのはたらきを知ろう。」 「② 仕事の流れを図に表そう。」
プログラミング言語論 第4回 式の構文、式の評価
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
情報科学1(G1) 2016年度.
プログラミング論 II 電卓,逆ポーランド記法電卓
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
プログラムはなぜ動くのか.
第5回 統計処理(2) 塩浦 昭義 東北大学全学教育科目 情報基礎 A 1セメスター 木曜1,3講時 経済学部・法学部
マイクロソフト Access を使ってみよう 第1回
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
市場調査の手順 問題の設定 調査方法の決定 データ収集方法の決定 データ収集の実行 データ分析と解釈 データ入力 データ分析 報告書の作成.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
情報処理1~第12回~ 野中良哲.
第7回 条件による繰り返し.
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
表計算 Excel 演習 4.検索,条件付き書式設定,並べ替え.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング入門 電卓を作ろう・パートIV!!.
第5回 今日の目標 §1.6 論理演算と論理回路 ブール代数の形式が使える 命題と論理関数の関係を示せる
第7回 条件による繰り返し.
マイクロソフト Access での SQL 演習 第4回 並べ替え(ソート)
データ構造とアルゴリズム論 第1章 アルゴリズムの表現-流れ図
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラミング 4 整列アルゴリズム.
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
情報処理Ⅱ 第2回:2003年10月14日(火).
プログラミングを 体験しよう 選択情報⑧.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
C言語 はじめに 2016年 吉田研究室.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
5.集計,ピボットテーブル(クロス集計表)
補講:アルゴリズムと漸近的評価.
基礎プログラミング演習 第6回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
ガイダンス 電子計算機 電気工学科 山本昌志 1E
アルゴリズムと数式の表現 コンピュータの推論
アルゴリズムとプログラミング (Algorithms and Programming)
ウェブデザイン演習 第6回.
情報コミュニケーション入門b 第9回 表計算ソフト入門(3)
情報処理 第13回.
情報処理Ⅱ 第7回 2004年11月16日(火).
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
Microsoft Excelとは 表の作成 →表の中で計算する グラフ作成 データベース機能 →並べ替え、検索 作業の自動化(マクロ機能)
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
C言語講座 四則演算  if ,  switch 制御文.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
アルゴリズム ~すべてのプログラムの基礎~.
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
情報処理3 第3回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

第9回 今日の目標 §3.2 アルゴリズム 問題解決の手順を示せる アルゴリズムの条件と処理要素を示せる 2009/11/24 第9回 今日の目標 §3.2 アルゴリズム 問題解決の手順を示せる アルゴリズムの条件と処理要素を示せる 計算や入れ替えのアルゴリズムを示せる 並べ替えのアルゴリズムを4つの方法で示せる 処理手順をフローチャートで示せる

プログラムを作成する作業 プログラム:人がコンピュータにやらせたい事を記述したもの Output Input コンピュータ コンピュータの特徴 ①5大機能がある ②厳密に決まった命令でのみ動作する ③目的によって命令の組合せや順序が変えられる 人が目的に応じた手順を考える

問題解決の手順 薬歴管理をしたい 人の能力 必要性、データ項目、件数、流れ 患者の流れ、医薬品の重複 医薬品データ、患者データ、 病院データ 問題点の分析 必要性、データ項目、件数、流れ モデル化・定式化 患者の流れ、医薬品の重複 データの設計 計算手順の設計 (アルゴリズム) 医薬品データ、患者データ、 病院データ プログラムの作成 (コード化) 使用するコンピュータ、言語 フィードバック コンピュータに入力 (実行) システムの統合、基本データの作成 デバッグ 結果

アルゴリズム(算法、解法) アルゴリズムの条件 1.正当性:論理的に矛盾がない 2.一意性:曖昧なところがなく、厳密に定義される 3.一般性:定義された範囲でどのようなデータにも適応できる 4.有限性:有限なステップで終了する 処理の基本 1.順次:書かれた順に実行する 2.選択:条件によって次の処理を選択=分岐 3.繰返し:回数または条件を与えて処理を繰返す=反復

計算のアルゴリズム 数式の性質 1+2=2+1 3×4=4×3 1-2≠2-1 3÷4 ≠4÷3 可換 非可換 可換律 (12+34)+56=12+(34+56) (12×34)×56=12×(34×56) 結合律 98-76-54 1+2×3 (98-76)-54 98-(76-54) あいまい (1+2)×3 1+(2×3) あいまい 数式の解釈規則 ①内側の括弧から ②掛算、割算から、並んでいるときは前から ③足算、引算は前から順番に ④指数は括弧に準ずる

例題 (6×7+8/2)×(1+2×3-4×5)を計算するアルゴリズム (1)文字列を調べる   ①A(0)=“0”,A(1)=“1”,・・・A(9)=“9”,A(10)=“(“, A(11)=“)“, A(12)=“+“, A(13)=“-“, A(14)=“ד, A(15)=“/“とする   ②計算式の文字を1つ選び文字列Aと比較し数字とかっこ     演算子を区別する   ③かっこではさまれた文字列をチェックする   ④かっこ内の演算子をチェックする (2)計算をする   ⑤掛け算、割り算の順番に演算し新しい変数を割り当てる   ⑥足し算、割り算を順に実行する (3)出力する

中置記法 (6×7+8÷2)×(1+2×3-4×5) 2項演算 前置記法 ×(+(×6 7)(÷8 2))(-(+1 (×2 3))(×4 5)) × + ×6 7 ÷8 2 - +1 ×2 3 ×4 5 後置記法 ( (6 7×)(8 2÷)+)((1 (2 3×) +)(4 5×) -)×

入れ替え A B C 始めの状態 B C A 入れ替えた状態 A B C ① Aを外へ出す B C A ② Bを青の箱へ入れる B C A 3つの箱に名前の付いたボールが1個ずつ入っている。 1回の操作で扱えるボールは1個だけ A B C 始めの状態 B C A 入れ替えた状態 A B C ① Aを外へ出す B C A ② Bを青の箱へ入れる B C A ③ Cを黄の箱へ入れる B C A ④ Aを赤の箱へ入れる

プログラミング言語で表現 BOX(1)  = “A” BOX(2)  = “B” BOX(3)  = “C” TEMP = BOX(1) BOX(1)  = BOX(2) BOX(2)  = BOX(3) BOX(3)  = TEMP はじめの状態 ①箱1の内容を一時変数にコピーする ②箱1の内容を箱2の内容にする ③箱2の内容を箱3の内容にする ④箱3の内容を一時変数の内容にする Excelのマクロ(例)

並べ替え(ソート、sort) 1番80点 2番34点 1と2の比較 順次法 名列番号 1 2 3 4 5 6 7 8 9 10 得点 80 56 70 60 95 87 20 68 55 2と3の比較 1番80点 3番56点 2番34点 1と3の比較 1番80点 3番56点 2番34点 4と2の比較 1番80点 3番56点 4番70点 2番34点 4と3の比較 1番80点 4番70点 3番56点 2番34点 4と1の比較 1番80点 4番70点 3番56点 2番34点 降順:大→小 昇順:小→大 比較して入れ替わらなければ止める 比較の回数≦1+2+・・・+9=45

勝ち抜き法 ①1回戦 10人 対戦数9回 ②2回戦 9人 対戦数8回 ・ ⑨9回戦 2人 対戦数1回 試合数: 1+2+・・・+9=45回 順次分類法 1桁台 10点台 20点台 ・ 90点台 ①箱を用意する ②10人分を箱に分類 ③それぞれの箱毎に並び替え 操作の数≧10回

2分分類法 比較回数 ①50点より大きいもの左、小さいもの右 10 8 ②75点より大きいもの左、小さいもの右 3 2 5 1番 80点 3番 56点 4番 70点 5番 60点 6番 95点 7番 87点 9番 68点 10番 55点 2番 34点 8番 20点 ②75点より大きいもの左、小さいもの右 1番 80点 6番 95点 7番 87点 3番 56点 4番 70点 5番 60点 9番 68点 10番 55点 ③87.5点より大きいもの左、小さいもの右 1番 80点 6番 95点 7番 87点 ④81.25点より大きいもの左、小さいもの右 7番 87点 1番 80点 ⑤62.5点より大きいもの左、小さいもの右 4番 70点 9番 68点 3番 56点 5番 60点 10番 55点 68.75、56.25、53.125、54.6875、55.46875 2 3 2 2 2

フローチャート 例:2数A,Bの大小を比較する ①作業するための変数 A,B,C,L,S,Mを定義する ②比較したい数値をA,Bに 入れる スタート C=A-B C>0? A,B,C,L,S,Mを 実数として定義 A,Bの入力 yes no L=A S=B C=0? M=A L=B S=A 印刷 ストップ 処理 分岐 フローチャート 例:2数A,Bの大小を比較する ①作業するための変数  A,B,C,L,S,Mを定義する ②比較したい数値をA,Bに  入れる ③C=A-Bを計算する ④Cが正か負か判断する ⑤Cが正ならばL=A,S=B  とする ⑥Cが負ならばL=B,S=A ⑦C=0ならばM=Aとする

演習 1.文字データを表す変数DATA(1:1000)に医薬品名が   登録されている。今持っている薬の名前を入力して   登録されている薬かどうか検索するプログラムの   フローチャートを書きなさい。 2.1から任意の数までの和を計算するプログラムのフロー   チャートを書きなさい。 戻り 情報科学概論のトップへ 和田義親のトップへ 明治薬科大学のホームへ