アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

Excel ソルバー練習 *ツール → アドイン → ソルバーアド インにチェックを入れて、ソルバー を使えるようにしてから、作業を行 うこと。
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
2017/3/2 情報処理 第8回.
配列(2) 第10回目 [6月22日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)課題
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
2017/3/7 情報処理 第8回.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
C言語 配列 2016年 吉田研究室.
情報科学1(G1) 2016年度.
第6章 2重ループ&配列 2重ループと配列をやります.
プログラミング入門第4回 ~レゴロボットのプログラミング3~
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
プレゼンテーション機能の紹介 僕の機能、プレゼンテーション機能を紹介するよ[pose:top_bothhand] [next] K 【 】
情報 第2回:状態遷移 その2.
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
第7回 条件による繰り返し.
第10回関数 Ⅱ (ローカル変数とスコープ).
プログラミング入門 電卓を作ろう・パートIV!!.
アルゴリズムとデータ構造1 2006年6月16日
第7回 条件による繰り返し.
 情報の授業 アルゴリズムとプログラム(1) Go.Ota.
データ構造とアルゴリズム論 第1章 アルゴリズムの表現-流れ図
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
・タイプ別のフレームワーク ・デジタルTips(小技テクニック情報)
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
プログラミング入門第6回 ~レゴロボットのプログラミング6~
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
情報 第1回:状態遷移 その1.
プログラミングを 体験しよう 選択情報⑧.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
11.再帰と繰り返しの回数.
プログラムの基本構造と 構造化チャート(PAD)
Python入門(1) Ver 1.0 (2019/2/24) (Scratchでプログラミングできる人向けです) ・どうしてPython
プチプロジェクト・カード (Ver /11/09) ・スタジオのプログラムを動かして、どんな動きをするか見てみよう。
  MESHプログラミング (Ver /09/14)  MESHという小型コンピュータセットを使って、IoT(モノのインターネット)は何か考えながら、いろいろなものを作っていきましょう。 MESHのしくみや使い方を詳しく知りたい人は読んでね。 内容: 0. MESHの前に、IoTって何?
基礎プログラミング演習 第6回.
プログラミングⅡ 第2回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
ガイダンス 電子計算機 電気工学科 山本昌志 1E
プログラミング入門 電卓を作ろう・パートI!!.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラム・アイディア・カード (Ver /2/3) タイマー 育成ゲーム びっくりハウス ファッションアドバイス クイズ
精密工学科プログラミング基礎 第7回資料 (11/27実施)
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
ヒープソート.
回帰分析入門 経済データ解析 2011年度.
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
より分かりやすい ユースケースモデルを作る
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
アルゴリズム ~すべてのプログラムの基礎~.
プログラミング論 バイナリーサーチ 1.
情報処理技法(Javaプログラミング)1 第8回 同じ処理を何回も繰り返すには?
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
情報処理3 第4回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

アルゴリズム入門 (Ver. 0.9 2018/10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算   アルゴリズム入門 (Ver. 0.9 2018/10/07)  プログラミングの基本となるアルゴリズムの練習です。 基本から、素数を求める、並び替えをするなどプログラムを作ってみましょう。 ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算 ・素数を求めよう ・並び替えしよう チャレンジが最終目標です。すでに知っている人は途中を飛ばしてやっても いいよ。 チャレンジ:素数を求めるプログラム チャレンジ:選択整列法を用いた整列プログラム 2017年8月13日/20日 (同一内容) 13:00~16:30 CoderDojo市川真間用資料 Go.Ota CoderDojo市川真間 1ページ

概要 アルゴリズム/プログラム/フローチャート ・各自のペースで進めてください。 Scratchのサンプルプログラムはスタジオ「情報の科学」の中に入っています。 2ページ

アルゴリズムは役に立つ アルゴリズム = 問題解決や行動の手順 例: アイスの選択 1. 氷っぽいのが食べたい そうならば氷菓系 アルゴリズム = 問題解決や行動の手順  例: アイスの選択 1. 氷っぽいのが食べたい  そうならば氷菓系   1.2 氷がいい    そうならばアイスボックス    そうでなければ ガリガリ君   そうでないなら アイスクリーム系 1.3 お金がある    そうならば ハーゲンダッッ    そうでないならば ジャイアントコーン 3ページ

フローチャートはアルゴリズムを視覚化する手法 開始 No 氷系 Yes No No 氷 お金有り Yes Yes アイスボックス ガリガリ君 ハーゲンダッツ ジャイアントコーン 終了 4ページ

プログラム構造とフローチャートの理解 ・以下の作業を理解できた/作成できたを確認するチェックリストがあります。 ・プログラム構造/フローチャート ・変数(X=X+1) ・フローチャートとScratchの対応 ・自動販売機とプログラムの構造/フローチャート ・単純な1からnの合計 ・リストを使った1からnまでの合計(フローチャート) ・単純な方法での素数の求め方(フローチャート有) ・リストを使った素数を求めるプログラム ・並び替えをする 5ページ

チェックリストの使い方 ・スライドNo. 日のスライド内の番号 ・理解 :スライドの内容を見て自分なりにわかったらチェック ・解析 : スタジオ内のプログラムの意味がわかったらチェック ・開発 : スライドの課題のプログラムを作ったらチェック 6ページ

プログラムの構造/フローチャート 理解 逐次構造(直線型) 選択構造:分岐 処理2 処理1 処理3 条件 Yesの処理 Yes No No 条件 Yes Yesの処理 Noの処理 プログラムや人間の判断などのアルゴリズムは基本的に、逐次、選択:分岐、繰り返し(ループ)の組み合わせで表現できます。 繰り返し構造(ループ) 終了条件 ループの処理 No Yes 終了条件 ループの処理 No Yes ループの処理 無限繰り返し型 後判定型 前判定型 7ページ

変数(X=X+1) X = X +1 (X X + 1のイメージ) X = 1 ◎Scratchでの X = X +1 次の二つは同じ意味 理解 X + 1 1 X = X +1 (X  X + 1のイメージ) X = 1 Xと名前をつけた箱(変数)に1を入れる 初めにXの箱(変数)の中を取り出し+1する。 計算結果をXの箱(変数)に入れなおす。 ◎Scratchでの X = X +1  次の二つは同じ意味 変数への代入は普通の数学の=とは違う意味なのでイメージを示してみました。 8ページ

フローチャートとScratchの対応 理解 分岐 No No 条件 条件 Yes Yes 処理 処理1 処理2 繰り返し:回数指定 (カウンター) = 0 繰り返し:終了条件指定 (カウンター) 1づつ変える 終了条件 ループの処理 No Yes (カウンタ) <= (回数) No Yes 処理 9ページ

補足:フローチャートとScratchの対応 理解 補足:フローチャートとScratchの対応 (回数) 繰り返し:回数指定 (カウンター) = 0 (カウンタ) <= (回数) 処理 Yes (カウンター) 1づつ変える No Scratchでは(カウンター)はシステムが使い見えません。 カウンターも変数です。 100ページ

一番簡単な自動販売機 簡単な仕組みの自動販売機 ・100円玉を1枚だけ入れられる ・商品は1つだけ ・商品切れランプは無し ・お金返却ボタンは無し ・つり銭切れランプは無し ・お金を入れて一定時間たったら自動的にお金返却は無し 100円 金額 0000  まず、始めの一番簡単な自動販売機について考えてみましょう。お金を入れることと製品のボタンを押すことしかできません。  このプログラムの動作をフローチャートとサンプルプログラムを次スライドに示します。 111ページ

サンプルプログラム 「自動販売機01」(スタジオ内) サンプルプログラム 「自動販売機01」(スタジオ内) 理解・解析 開始 お金が 投入される No Yes 金額を100円にする 飲み物ボタン が押される No Yes No お金が100円 入っている Yes 飲み物缶を出す 122ページ

開発・(解析) チャレンジ: 正三角形の判断 a, b, cの3個の三辺の値を入力して、すべての値が同じ場合に、「正三角形」、そうでない場合は「正三角形じゃない」と表示するプログラムを作ってみよう。 フローチャートは作っても、作らなくてもいいです。 ・a,b,cは1以上の数を入力する前提で作っていいです。 解答サンプルプログラムは 正三角形の判断(スタジオ内) 133ページ

単純な1からnの合計 理解・解析 いろいろ方法で,1からnまでの合計を計算するプログラムです 「1から5の合計」(スタジオ内) ここではnを5の場合を想定 開始 X = 0 「1から5の合計」では、 4種類の計算方法をプログラミングしています。 その違いを理解しましょう。 カウンター = 1 カウンター>5 Yes No X = X + カウンター カウンター = カウンター+1 終了 144ページ

チャレンジ:単純な2からnまでの偶数の合計 開発・(解析) nの値を入力して、2からなn以下の偶数の合計を求めるプログラムを作成してください。 例 n =6 : 2+4+6 例 n =9 : 2+4+6+8 (「nの値を入力」の前にn=10の時のプログラムを作るといいかも 解答サンプルプログラムは 偶数の合計(スタジオ内) 155ページ

配列/リストの資料 ◎ 以下のサンプルプログラムの中身を見て、添え字(インデックス)に変数を使用することを理解してください。 理解・解析 ◎ 以下のサンプルプログラムの中身を見て、添え字(インデックス)に変数を使用することを理解してください。 スタジオ内に「初歩のリスト」があります。 166ページ

1からの合計(リスト版)フローチャート 理解・解析 「1からの合計(リスト版)」(スタジオ内)を解読してみてください。 合計計算 開始 配列セット(最後) 合計計算 開始 配列 <- (すべて削除) 合計 = 0 最後 <- (入力) 数値i = 1 数値i = 1 配列セット(最後) (カウンター) = 0 (カウンター) = 0 (タイマー) = 0 (カウンター) 1づつ変える (カウンター) 1づつ変える 合計計算 No No (カウンタ) <= 最大 (カウンタ) <= 配列の長さ タイム = (タイマー) Yes Yes 配列に数値iを追加 合計=合計+配列(数値i) 数値i = 数値i + 1 数値i = 数値i + 1 戻る 戻る 177ページ

素数を求めるプログラム(割り算)を解読してください。 理解・解析 素数(割り算方式)(スタジオ内) 188ページ

チャレンジ:素数を求めるプログラム スタジオ「アルゴリズムとプログラム」2018(情報)内に 「1からの合計」というプログラムがあります。これを参考に素数を求めるプログラムを作成してください。 199ページ

基本的な考え方: 素数を求めるプログラム(消去法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 5 7 11 13 ・ 20ページ

チャレンジ:選択整列法を用いた整列プログラム スタジオに「ソートのベース」というプログラムがあります。 これに追加して並び替えを行うプログラムを作成してください。 数値を並べる方法を考えてみよう。 ググってもいいよ 221ページ