簡単な検索と整列(ソート)

Size: px
Start display at page:

Download "簡単な検索と整列(ソート)"

Transcription

1 フローチャート (2) アルゴリズム論第 2 回講義 2011 年 10 月 7 日 ( 金 )

2 反復構造 ( 一定回数のループ処理 ) START 100 回同じ処理を繰り返す お風呂で子供が指をおって数を数える感じ 繰り返し数を記憶する変数をカウンター ( 変数名 I をよく使う ) と呼ぶ カウンターを初期化して, 100 回繰り返したかどうか判定してそうならば終了そうでなければ処理を実行して カウントアップ ( インクリメント ) して ~ に戻って同様の処理を続ける i=0 i = or >100 no 反復処理 i=i+1 END yes 前処理 終了条件判定 後処理

3 合計処理 ( 配列を使う ) 前提 :N 個のデータが予め配列 array に格納.(N は既知 ) 目標 : その個の数値データの合計値を sum に求める 変数 sum 前処理 何を初期化? i=0, sum=0 反復処理? 配列要素の添え字を利用 sum=sum+array(i) 終了条件は? 31 配列 array 後処理 何を出力?

4 合計処理 ( 配列 ) フローチャート START i=0,sum=0 前処理 i N yes no sum=sum+array(i) i=i+1 END 後処理

5 カウント処理 ( 配列を使う ) 前提 :N 個のデータが予め配列 array に格納 (N は不明 ). 末尾にデータ終了を表すためにー 1 が格納. 目標 : データの個数を変数 count に求める 変数 count データ個数 前処理 何を初期化? 反復処理? 配列要素の添え字を利用 終了条件は? 配列 array -1 データ末尾 後処理 何を出力?

6 カウント処理 ( 配列 ) フローチャート

7 合計値 データ個数 平均値 平均値算出 合計値を求めるアルゴリズムとデータ個数を求めるアルゴリズムを組み合わせれば, 平均値を求めるアルゴリズムが作成できるはず 前提 :N 個のデータが予め配列 array に格納 (N は不明 ). 末尾にデータ終了を表すためにー 1 が格納. 目標 : 所与データ群の平均値を変数 ave に求める 54 前処理 何を初期化? 平均値 変数 ave 反復処理? 配列要素の添え字を利用 31 終了条件は? -1 データ末尾 後処理 例外処理が必要 配列 array

8 平均値算出フローチャート

9 最大値選出 a b c つの変数,a,b,c に格納されている値から最大値を選ぶには? aとbを比較して, aが大きければ? bが大きければ? データが多くなると上記処理では対応できない. よって配列を利用して反復構造を適用する. N 個のデ タ 配列 array 暫定最大値 暫定最大値 前提 :N 個のデータが予め配列 array に格納 (N は既知 ). 目標 : 所与データ群からの最大値を変数 max に求める 31

10 最大値選出フローチャート

11 最小値選出 a b c N 個のデ タ 配列 array つの変数,a,b,c に格納されている値から最小値を選ぶには? aとbを比較して, aが小さければ? bが小さければ? 暫定最小値 データが多くなると上記処理では対応できない. よって配列を利用して反復構造を適用する. 暫定最小値 前提 :N 個のデータが予め配列 array に格納 (N は既知 ). 目標 : 所与データ群からの最小値を変数 min に求める 最大値選出と同様にできるが,99999 が array 配列要素より必ず大きいと仮定し,i=0 と初期化してフローチャートを作成せよ.

12 最小値選出フローチャート

13 開始 -1 max 101 min 0 sum 0 cnt cnt 10 ten を入力 a NO 問題 1: 10 人分の点数を入力し, 平均点, 最高点, 最低点を求める流れ図を示す. a と b を埋めよ YES 平均点 (=sum 10) を表示 最高点 (max) 最低点 (min) を表示 ten > max NO YES b 終了 ten < min YES NO ten min cnt + 1 cnt

14 開始 data を入力 data max data min 1 cnt 1 問題 2 入力データ :63, 82, 35, 92, 71, 32 流れ図の α は何回実行されるか? cnt 6 YES > data を入力 data:max 最高点 (max) を表示最低点 (min) を表示 < 終了 2 data max data:min α data min cnt +1 cnt

15 単純ソート 1 バブルソート 2 選択ソート 3 挿入ソート

16 ソート ( 並替え, 整列 ) アルゴリズム ランダムに並んでいるデータを 値の小さい順 ( 昇順 ), 大きい順 ( 降順 ) に並べ替えること 学生を学籍番号順, 都市を人口の多い順,...

17 コンピュータは Tunnel Vision トンネル視 ( 棒視, 視野狭窄症 ) 人間 : 一度に全体を見渡して判断できる コンピュータ : そんなグローバルな処理は ( 一度には ) できない. 2 つのデータの大小比較しかできない アセンブリ言語命令は, 一項演算か二項演算 局所的な処理を積み重ねてグローバルな処理を実現する この実現方法を考えることが, アルゴリズムを考えるということ

18 単純ソートの 2 つの基本処理 12 つのデータの大小比較 2( 逆順なら )2 つのデータを交換

19 バブルソート ( 隣接交換法 )

20 バブルソートのアルゴリズム 列の左端から始めて 1 隣接する 2 つのデータを比較. 2 左 > 右ならば入れ替え. 左 < 右ならそのまま. 3 右へ一つ移動して 2 を実行. 4 ソート済のデータに到達したら 3 を停止し, 左端に戻る.

21 4 要素のバブルソート a(0) a(1) a(2) a(3) a(0) a(1) a(2) a(3) 決 3 4 定 a(0) a(1) a(2) a(3) a(0) a(1) a(2) a(3)

22 バブルソートにおける 2 種類のループ処理 整列前 内部ループ (Inner Loop) : 反復操作 2 項比較比較範囲はインクリメンタル 隣接 2 データ比較 交換 外部ループ (Outer Loop): 反復操作 最大値を右端に追いやるスキャン ( 走査 ) 範囲はデクリメンタル

23 データ交換 a(2) a(3) a(2) の方が a(3) より大きいからデータを交換する a(2)=a(3) a(3)=a(2) とすると OK かな? だめ. バッファー ( 一時記憶 ) を使う b=a(2) a(2)=a(3) a(3)=b

24 a(0)a(1) a(9) 10 個のデータのソート 外部ループ 内部ループ start n=10 前処理 ( 初期化 ) 計算量をみるのは i=0 配列要素の比較と交換最後はa(8) とa(9) の比較 i>=n-1 今の走査 ( スキャン ) から抜け出す a(i)>a(i+1) 比較 no i++ yes b=a(i) a(i)=a(i+1) a(i+1)=b バブルソートの標準フローチャート 隣接データ交換処理大きい値がバッファを通して一つ右へ移動 インクリメンタル ( 隣接ペアを一つ右へずらす ) no n-- n<=1 デクリメンタル ( 走査範囲を一つ狭める ) yes stop

25 バブルソート ハンドシミュレーション 回目の処理結果? 回目の処理結果? 回目の処理結果? 回目の処理結果?

26 問題 1: 改良版バブルソート 1,2,3,4,5,6,7,8,910 のようなソート済みのデータだとどうなりますか? 上記をヒントにして 改良版 バブルソートの流れ図を示せ

27 バブルソート改良版の解答例 ソート済みか否かのフラグ変数を設け, 事前に 0 とし, 隣接データ交換処理をすればフラグ変 数を 1 に更新する. このようにすれば, 内部ループを抜け出した 時, フラグ変数をチェックし,0 であればソート済 みとして停止すればよい.

28 計算量 (Time Complexity)

29 計算量 あるアルゴリズムはどのくらい速いか? つまり 計算速度 ( 計算時間 ) は? コンピュータ OS 言語 コンパイラに依存する 計算の手数がデータの個数 n に対してどのように増えるか?

30 計算量 アルゴリズム A はアルゴリズム B の 2 倍速い という言い方ではだめなのか?( できないのか?) 扱うデータ数が変わると速度比も変わる場合があるため, あまり意味がない データ数 N と実行所要時間 T との間の 一般的な関係を知りたい

31 計算量 (2) O(n の関数 ) の形で表すこのとき 定数係数は無視する an 2 +bn+c O(n 2 ) オーダーというオーダーが違うオーダーが 1 桁違う

32 定数係数は無視する O(1) O(log n) O(n) O(n log n) O(n 2 ) O(n 3 ) O( 2 n ) 指数関数的 T( 時間 ) = K * 1/2(N 2 -N) = K/2 * N 2 -NK/2 多項式オーダー バブルソートの場合 K はプロセッサの速度など様々な現実状況をあらわしている O(n 2 )

33 ( 時間 ) 計算量 ビッグ O( オー ) 記法 O は Order の意味. アルゴリズムの実行時間は, コンピュータの性能に依存して変化する. 実行時間実測値よりも, データ数と実行時間 T の関係が重要 よって, 定数や低次項は無視して, 最大次数項に注目して, それをオーダーと呼び,O(~) と表記する. 記憶領域を議論するための領域計算量もあるが, ここでは時間計算量を計算量とよぶ.

34 ビッグオーのグラフ化 N O(2 n ) O(N 2 ) O(NlogN) O(N) O(logN) O(1)

35 O(2 n ) O(N 2 ) O(NlogN) ビッグオーの グラフ化 O(N) O(logN) O(1)

36 計算量の求め方 1. 各処理実行回数をデータ数 N で表現 2. 合計する 3. 最大次数に注目してビッグ O で表記. 問題左記の最大値選出アルゴリズムの計算量を求めよ.

37 バブルソートの計算量 ( オーダー ) 10,9,8,7,6,5,4,3,2,1 をバブルソートすると比較回数は? =45 交換回数は?9+8+7 =45 よって N 個のデータの場合問 1: 最大比較回数は?, 最大交換回数は? 問 2: 平均比較回数は?, 平均交換回数は? 問 3: 最小比較回数は?, 最小交換回数は?

38 N 個のデータのバブルソート 比較 交換 最大 平均 最小 (N-1)+(N-2)+ +1 =1/2N(N-1)=1/2(N 2 -N) O(N 2 ) ビッグオー記法 (N-1)+(N-2)+ +1 =1/2N(N-1)=1/2(N 2 -N) O(N 2 ) ビッグオー記法 (N-1)+(N-2)+ +1 =1/2N(N-1)=1/2(N 2 -N) O(N 2 ) ビッグオー記法 (N-1)+(N-2)+ +1 =1/2N(N-1)=1/2(N 2 -N) O(N 2 ) ビッグオー記法 ½*1/2(N 2 -N)=1/4(N 2 -N) O(N 2 ) ビッグオー記法 0

データ構造

データ構造 アルゴリズム及び実習 3 馬青 1 バブルソート 考え方 : 隣接する二つのデータを比較し データの大小関係が逆のとき 二つのデータの入れ替えを行って整列を行う方法である 2 バブルソートの手順 配列 a[0],a[1],,a[n-1] をソートする場合 ステップ 1: 配列 a[0] と a[1],a[1] と a[2],,a[n-2] と a[n-1] と となり同士を比較 ( 大小が逆であれば

More information

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1 4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる

More information

Microsoft PowerPoint - algo ppt [互換モード]

Microsoft PowerPoint - algo ppt [互換モード] ( 復習 ) アルゴリズムとは アルゴリズム概論 - 探索 () - アルゴリズム 問題を解くための曖昧さのない手順 与えられた問題を解くための機械的操作からなる有限の手続き 機械的操作 : 単純な演算, 代入, 比較など 安本慶一 yasumoto[at]is.naist.jp プログラムとの違い プログラムはアルゴリズムをプログラミング言語で表現したもの アルゴリズムは自然言語でも, プログラミング言語でも表現できる

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

More information

Microsoft PowerPoint - ca ppt [互換モード]

Microsoft PowerPoint - ca ppt [互換モード] 大阪電気通信大学情報通信工学部光システム工学科 2 年次配当科目 コンピュータアルゴリズム 良いアルゴリズムとは 第 2 講 : 平成 20 年 10 月 10 日 ( 金 ) 4 限 E252 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ 第 1 講の復習

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算量 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 亀山担当分の話題 アルゴリズムと計算量 Fibonacci 数列の計算を例にとり アルゴリズムと計算量とは何か 具体的に学ぶ 良いアルゴリズムの設計例として 整列 ( ソーティング ) のアルゴリズムを学ぶ 2 Fibonacci 数 () Fibonacci 数 (2) = if

More information

データ構造

データ構造 アルゴリズム及び実習 7 馬青 1 表探索 定義表探索とは 表の形で格納されているデータの中から条件に合ったデータを取り出してくる操作である 但し 表は配列 ( 連結 ) リストなどで実現できるので 以降 表 の代わりに直接 配列 や リスト などの表現を用いる場合が多い 表探索をただ 探索 と呼ぶ場合が多い 用語レコード : 表の中にある個々のデータをレコード (record) と呼ぶ フィールド

More information

アルゴリズムとデータ構造

アルゴリズムとデータ構造 講義 アルゴリズムとデータ構造 第 2 回アルゴリズムと計算量 大学院情報科学研究科情報理工学専攻情報知識ネットワーク研究室喜田拓也 講義資料 2018/5/23 今日の内容 アルゴリズムの計算量とは? 漸近的計算量オーダーの計算の方法最悪計算量と平均計算量 ポイント オーダー記法 ビッグオー (O), ビッグオメガ (Ω), ビッグシータ (Θ) 2 お風呂スケジューリング問題 お風呂に入る順番を決めよう!

More information

gengo1-8

gengo1-8 問題提起その 1 一文字ずつ文字 ( 数字 ) を読み込み それぞれの文字が何回入力されたかを数えて出力するプログラム int code, count_0=0, count_1=0, count_2=0, count_3=0,..., count_9=0; while( (code=getchar())!= EOF ){ } switch(code){ case 0 : count_0++; break;

More information

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 文 ) */ int i, no; for (i = 0; i

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 計算とは? コンピュータが計算できることは? 1 2 関数 = 計算? NO 部分関数と計算 入力 1 入力 2 関数 出力 入力 1 入力 2 部分関数 出力 停止しない 入力 1 入力 2 コンピュータ 止まらないことがある出力 3 入力 1 入力 2 コンピュータ 出力 停止しない

More information

プログラム言語及び演習Ⅲ

プログラム言語及び演習Ⅲ 平成 28 年度後期データ構造とアルゴリズム期末テスト 各問題中のアルゴリズムを表すプログラムは, 変数の宣言が省略されているなど, 完全なものではありませんが, 適宜, 常識的な解釈をしてください. 疑問があれば, 挙手をして質問してください. 時間計算量をオーダ記法で表せという問題では, 入力サイズ n を無限大に近づけた場合の漸近的な時間計算量を表せということだと考えてください. 問題 1 入力サイズが

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

スライド 1

スライド 1 第 6 章表計算 A(Excel 2010/2007 共通 ) ( 解答と解説 ) (1) オートフィル 6A-1. 表計算ソフトの操作 < 解答 > ( ア )=2 ( イ )=I ( ウ )=3 ( エ )=6 ( オ )=7 オートフィルの設定は マウスで操作する方法と リボンから操作する方法があります マウスで操作する方法セルの右下のフィルハンドル をポイントしドラッグすると 自動的に連続データが入力されます

More information

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx 情報ネットワーク導入ユニット Ⅰ C 言語 配列 5 章 : 配列同じ型 (int, double など ) の変数の集まりを 番号 ( 添字 ) で管理する変数 int vc[5]; // 要素数が 5 の配列 vc[0] = 1; vc[1] = 2; vc[2] = 3; vc[3] = 4; vc[4] = 5; printf("vc[0] = %d n", vc[0] ); printf("vc[1]

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

PowerPoint Presentation

PowerPoint Presentation 整列アルゴリズムの基礎 この回の要点 整列とは? 整列処理の意味 整列の種類 整列の計算量 整列の安定性 単純な整列アルゴリズム バブルソート 選択ソート 挿入ソート それぞれのソートの特徴と実装 整列 (Sorting) とは 整列という操作 レコードの集まりを キーの値の大小関係に従って並べ替える操作 小さい 大きい = 昇順 (ascending order) 大きい 小さい = 降順 (descending

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer

More information

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

スライド 1

スライド 1 6B-1. 表計算ソフトの操作 ( ) に当てはまる適切な用語とボタン ( 図 H 参照 ) を選択してください ( 選択肢の複数回の選択可能 ) (1) オートフィルオートフィルとは 連続性のあるデータを隣接 ( りんせつ ) するセルに自動的に入力してくれる機能です 1. 図 1のように連続した日付を入力します *( ア ) は 下欄 ( からん ) より用語を選択してください セル A1 クリックし

More information

Microsoft Word - lec_student-chp3_1-representative

Microsoft Word - lec_student-chp3_1-representative 1. はじめに この節でのテーマ データ分布の中心位置を数値で表す 可視化でとらえた分布の中心位置を数量化する 平均値とメジアン, 幾何平均 この節での到達目標 1 平均値 メジアン 幾何平均の定義を書ける 2 平均値とメジアン, 幾何平均の特徴と使える状況を説明できる. 3 平均値 メジアン 幾何平均を計算できる 2. 特性値 集めたデータを度数分布表やヒストグラムに整理する ( 可視化する )

More information

3章 度数分布とヒストグラム

3章 度数分布とヒストグラム 度数分布とヒストグラム データとは 複雑な確率ゲームから生まれたと考えてよい データ分析の第一歩として データの持つ基本的特性を把握することが重要である 分析の流れ データの分布 ( 散らばり ) を 度数分布表にまとめ グラフ化する グラフに 平均値や分散など 分布の特徴を示す客観的な数値を加える データが母集団からのランダムサンプルならば 母集団についての推測を行う 度数分布とヒストグラムの作成

More information

模擬試験問題(第1章~第3章)

模擬試験問題(第1章~第3章) 基本情報技術者試験の練習問題 - 第 10 回 この問題は平成 19 年度春期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1~3 に答えよ プログラムの説明 整数型の 1 次元配列の要素 A[0],,A[N](N>0) を, 挿入ソートで昇順に整列する副プログラム InsertSort である (1) 挿入ソートの手順は, 次のとおりである (i) まず,A[0]

More information

alg2015-2r4.ppt

alg2015-2r4.ppt 1 アルゴリズムとデータ 構造 第 2 回アルゴリズムと計算量 授業スライド URL: http://www-ikn.ist.hokudai.ac.jp/~arim/pub/algo/ 事務連絡 : アルゴリズムとデータ構造 H29 授業予定 ( 改訂 ) 2 回 日付 曜内容 担当 1 4 月 6 日木ガイダンス 有村 2 4 月 11 日火アルゴリズムと計算量 有村 3 4 月 13 日木基本的なデータ構造

More information

2

2 問題 1 次の設問 1~5 に答えよ 設問 1. Java のソースプログラムをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 2. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 3. Java のソースプログラムの拡張子はどれか a).c

More information

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - DA2_2017.pptx // データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (II)/ 全点対最短路 トポロジカル ソート順による緩和 トポロジカル ソート順に緩和 閉路のない有向グラフ限定 閉路がないならトポロジカル ソート順に緩和するのがベルマン フォードより速い Θ(V + E) 方針 グラフをトポロジカル ソートして頂点に線形順序を与える ソート順に頂点を選び, その頂点の出辺を緩和する 各頂点は一回だけ選択される

More information

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint - mp11-02.pptx 数理計画法第 2 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題

More information

C 言語講座 Vol 年 5 月 29 日 CISC

C 言語講座 Vol 年 5 月 29 日 CISC C 言語講座 Vol.3 2009 年 5 月 29 日 CISC 字下げ 見やすく書こう! #include int main(void) int a; printf(" 値 =>"); scanf("%d",&a); if(a>10) printf("10 より大きい値です \n"); else printf("10 以下の値です \n"); return 0; #include

More information

Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - 13approx.pptx I482F 実践的アルゴリズム特論 13,14 回目 : 近似アルゴリズム 上原隆平 (uehara@jaist.ac.jp) ソートの下界の話 比較に基づく任意のソートアルゴリズムはΩ(n log n) 時間の計算時間が必要である 証明 ( 概略 ) k 回の比較で区別できる場合の数は高々 2 k 種類しかない n 個の要素の異なる並べ方は n! 通りある したがって少なくとも k n 2 n!

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 5 章. 整列 ( ソート ) のアルゴリズム 学習のねらい 1 整列 ( ソート ) を行う基本的なアルゴリズム ( バブルソート 選択ソート 挿入ソート ) を学習し その処理の流れを理解する 2 3つのソートアルゴリズムの効率について考察する 3 ソートアルゴリズムを応用したプログラムを学習する 幾つかのデータを 値の大きい順や小さい順などのように 一定の基準に従って並べ替える操作を整列

More information

(5) 作業グループの設定 < 解答 > ( ア )=2 作業グループは 複数のシートにカーボン紙のように 同じ編集ができる機能です 先頭 Sheet1 をクリックしてから Shift キーを押しながら 末尾 ( まつび ) の Sheet3 をクリックすると Sheet1 ~ Sheet3 がグル

(5) 作業グループの設定 < 解答 > ( ア )=2 作業グループは 複数のシートにカーボン紙のように 同じ編集ができる機能です 先頭 Sheet1 をクリックしてから Shift キーを押しながら 末尾 ( まつび ) の Sheet3 をクリックすると Sheet1 ~ Sheet3 がグル 第 6 章表計算 A(Excel 2013/2010/2007 共通 ) ( 解答と解説 ) (1) オートフィル 6A 1. 表計算ソフトの操作 < 解答 > ( ア )=2 ( イ )=I ( ウ )=3 ( エ )=6 ( オ )=7 オートフィルの設定は マウスで操作する方法と リボンから操作する方法があります マウスで操作する方法セルの右下のフィルハンドル をポイントしドラッグすると 自動的に連続データが入力されます

More information

Microsoft PowerPoint - 05.pptx

Microsoft PowerPoint - 05.pptx アルゴリズムとデータ構造第 5 回 : データ構造 (1) 探索問題に対応するデータ構造 担当 : 上原隆平 (uehara) 2015/04/17 アルゴリズムとデータ構造 アルゴリズム : 問題を解く手順を記述 データ構造 : データや計算の途中結果を蓄える形式 計算の効率に大きく影響を与える 例 : 配列 連結リスト スタック キュー 優先順位付きキュー 木構造 今回と次回で探索問題を例に説明

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション データベースシステム入門 7. 集計, 集約 1 リレーショナルデータベースシステム コンピュータ リレーショナルデータベース管理システム 記憶装置 リレーショナルデータベース あわせてリレーショナルデータベースシステム データの種類ごとに分かれた たくさんのテーブルが格納される 2 SQL をマスターするには SQL のキーワード create table テーブル定義 select 射影など from

More information

Microsoft Word - VBA基礎(3).docx

Microsoft Word - VBA基礎(3).docx 上に中和滴定のフローチャートを示しました この中で溶液の色を判断する部分があります このような判断はプログラムではどのように行うのでしょうか 判断に使う命令は IF 文を使います IF は英語で もし何々なら という意味になります 条件判断条件判断には次の命令を使います If 条件式 1 Then ElseIf 条件式 2 Then ElseIf 条件式 3 Then 実行文群 1 実行文群 2 実行文群

More information

PowerPoint Presentation

PowerPoint Presentation 算法数理工学 第 2 回 定兼邦彦 クイックソート n 個の数に対して最悪実行時間 (n 2 ) のソーティングアルゴリズム 平均実行時間は (n log n) 記法に隠された定数も小さい in-place ( 一時的な配列が必要ない ) 2 クイックソートの記述 分割統治法に基づく 部分配列 A[p..r] のソーティング. 部分問題への分割 : 配列 A[p..r] を 2 つの部分配列 A[p..q]

More information

Microsoft PowerPoint - ad11-09.pptx

Microsoft PowerPoint - ad11-09.pptx 無向グラフと有向グラフ 無向グラフ G=(V, E) 頂点集合 V 頂点の対を表す枝の集合 E e=(u,v) 頂点 u, v は枝 e の端点 f c 0 a 1 e b d 有向グラフ G=(V, E) 頂点集合 V 頂点の順序対を表す枝の集合 E e=(u,v) 頂点 uは枝 eの始点頂点 vは枝 eの終点 f c 0 a 1 e b d グラフのデータ構造 グラフ G=(V, E) を表現するデータ構造

More information

2

2 問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class

More information

DVIOUT

DVIOUT 5.2. 流れ図 105 5.2 流れ図 流れ図 (flow chart) はアルゴリズムを図式化したもので コンピュータの手順となるデータの流れ 判定 実行の推移などを流れ図記号 4 を用いて描きます 流れ図のようにアルゴリズムを図式化することで 問題の定義や分析または解法がより明確となり プログラムの設計や作成に非常に役立ちます また 第三者にも的確にアルゴリズムを伝えることができます それでは

More information

Microsoft Word - no12.doc

Microsoft Word - no12.doc 7.5 ポインタと構造体 構造体もメモリのどこかに値が格納されているのですから 構造体へのポインタ も存在します また ポインタも変数ですから 構造体のメンバに含めることができます まずは 構造体へのポインタをあつかってみます ex53.c /* 成績表 */ #define IDLENGTH 7 /* 学籍番号の長さ */ #define MAX 100 /* 最大人数 */ /* 成績管理用の構造体の定義

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

Microsoft PowerPoint - 11.pptx

Microsoft PowerPoint - 11.pptx ポインタと配列 ポインタと配列 配列を関数に渡す 法 課題 : 配列によるスタックの実現 ポインタと配列 (1/2) a が配列であるとき, 変数の場合と同様に, &a[0] [] の値は配列要素 a[0] のアドレス. C 言語では, 配列は主記憶上の連続領域に割り当てられるようになっていて, 配列名 a はその配列に割り当てられた領域の先頭番地となる. したがって,&a[0] と a は同じ値.

More information

pp2018-pp9base

pp2018-pp9base プログラミング入門 Processing プログラミング第 9 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 今後の予定 第 9 回 : 複数の図形 (2) 繰り返しと座標変換第 回 : 画像の表示と音の再生

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

第9回 配列(array)型の変数

第9回 配列(array)型の変数 第 12 回 配列型の変数 情報処理演習 ( テキスト : 第 4 章, 第 8 章 ) 今日の内容 1. 配列の必要性 2. 配列の宣言 3. 配列変数のイメージ 4. 配列変数を使用した例 5. 範囲を超えた添字を使うと? 6. 多次元配列変数 7. 多次元配列変数を使用した例 8. データのソーティング 9. 今日の練習問題 多数のデータ処理 1. 配列の必要性 ( テキスト 31 ページ )

More information

Javaによるアルゴリズムとデータ構造

Javaによるアルゴリズムとデータ構造 1 algorithm List 1-1 a, b, c List 1-1 // import java.util.scanner; class Max3 { public static void main(string[] args) { Scanner stdin = new Scanner(System.in); int a, b, c; int max; // Chap01/Max3.java

More information

漸化式のすべてのパターンを解説しましたー高校数学の達人・河見賢司のサイト

漸化式のすべてのパターンを解説しましたー高校数学の達人・河見賢司のサイト https://www.hmg-gen.com/tuusin.html https://www.hmg-gen.com/tuusin1.html 1 2 OK 3 4 {a n } (1) a 1 = 1, a n+1 a n = 2 (2) a 1 = 3, a n+1 a n = 2n a n a n+1 a n = ( ) a n+1 a n = ( ) a n+1 a n {a n } 1,

More information

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知 本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知識 4 択 :20 問 ) 1. ユーザが行った操作を記録して同じ操作を自動で行うことができる機能を何というか

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

文字列探索

文字列探索 文字列探索 平成 23 年 12 月 2 日 アルゴリズム論 9 回目 文字列探索 データベース ( 構造化データ ) キーを指定 そのキーを持つレコード検索 テキスト ( 非構造データ ) 検索したい文字の並び (string): パターン探査される文字列を含む情報 : テキスト 腕ずくの方法 KMP(Knuth-Morris-Pratt) 法 BM(Boyer-Moore) 法 腕ずくの方法 Patten

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル 概略設計書 作成者築山修治作成日 2012 年 10 月 1 日 概要 ( どのような入力に対して, どのような出力をするかの概要説明 ) * 木 T および質問点対の集合 P が与えられたとき, 各質問点対 p = (v,w) P の最下位共通先祖 ( すなわち木 T において点 v と w の共通の先祖 a で,a の真の子孫には v と w の共通の先祖が無いような点 ) を見出す関数である.

More information

A Constructive Approach to Gene Expression Dynamics

A Constructive Approach to Gene Expression Dynamics 配列アラインメント (I): 大域アラインメント http://www.lab.tohou.ac.jp/sci/is/nacher/eaching/bioinformatics/ week.pdf 08/4/0 08/4/0 基本的な考え方 バイオインフォマティクスにはさまざまなアルゴリズムがありますが その多くにおいて基本的な考え方は 配列が類似していれば 機能も類似している というものである 例えば

More information

Microsoft PowerPoint - C4(反復for).ppt

Microsoft PowerPoint - C4(反復for).ppt C 言語プログラミング 繰返し ( for 文と while 文 ) 例題 (10 個のデータの平均を求める ) 手順 入力データをx1,x2,,x10 として, (x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10 を計算する データ数が,1000 個,10000 個, となったらどうする? データ数個分の 変数の宣言, scanf 関数の呼出し, 加算式の記述 が必要 1 総和を求めること

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt コード生成 (2) http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1211.pdf 1 概要 宣言文と記号表 ( 配列 ) 今日はやりません 2 宣言 a = 1; b = a+2; putint(b); int main(){ int a; int b; a = 1; b = a+2; putint(b); } PUSH 0 26 LDC

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

6 文字列処理 ( 教科書 p.301p.332) 今回は 言語の文字列処理について復習し, 文字列の探索手法について学びます. 文字列とはプログラム上での文字の並びを表すのが文字列です. これは中身が空であっても同様に呼ばれます. 言語では "STRING" のように文字の並びを二重引用符 " で囲んだものを文字列リテラルと呼びます. SII コードの場合, 割り当てられる数値は図 1 のようになっています.

More information

自己紹介 ( 専門分野 ) プログラミング言語の研究 特に基礎理論 研究の出発点 : 自分がうまくプログラムが書けないのを言語のせいにする プログラムの間違いを自動発見する仕組みを作る そもそも間違いを犯しにくいプログラミング言語を作る

自己紹介 ( 専門分野 ) プログラミング言語の研究 特に基礎理論 研究の出発点 : 自分がうまくプログラムが書けないのを言語のせいにする プログラムの間違いを自動発見する仕組みを作る そもそも間違いを犯しにくいプログラミング言語を作る 全学共通科目 工学部専門科目 計算機科学概論 アルゴリズムとプログラミングその 1 五十嵐淳 igarashi@kuis.kyoto-u.ac.jp 大学院情報学研究科通信情報システム専攻 自己紹介 ( 専門分野 ) プログラミング言語の研究 特に基礎理論 研究の出発点 : 自分がうまくプログラムが書けないのを言語のせいにする プログラムの間違いを自動発見する仕組みを作る そもそも間違いを犯しにくいプログラミング言語を作る

More information

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1 7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 10001 番地とすると, そこから int 型のサイズ, つまり 4 バイト分の領域が確保される.1

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - 4.pptx while 文 (1) 繰り返しの必要性 while の形式と動作 繰り返しにより平 根を求める ( 演習 ) 繰り返しにより 程式の解を求める ( 課題 ) Hello. をたくさん表示しよう Hello. を画面に 3 回表示するには, 以下で OK. #include int main() { printf("hello. n"); printf("hello. n");

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

Microsoft Word - no103.docx

Microsoft Word - no103.docx 次は 数える例です ex19.c /* Zeller の公式によって 1 日の曜日の分布を求めるプログラム */ int year, month, c, y, m, wnumber, count[7] = {0, i; for(year = 2001; year

More information

C#の基本2 ~プログラムの制御構造~

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

Microsoft Word - Training4_判断と制御.docx

Microsoft Word - Training4_判断と制御.docx Training 4 判断と制御 株式会社イーシーエス出版事業推進委員会 1 Lesson1 フローチャート Point プログラムの処理手順を意識しよう!! フローチャートはプログラミングなどの処理の手順を各仕事単位に分割して 流れを図で表したものです フローチャートの書き方については巻末資料参照 問題 1 1~5 にあてはまる文章を解答群より選びフローチャートを完成させなさい フローチャートは

More information

PG13-6S

PG13-6S プログラム演習 I レポート 学籍番号 担当教員 : 小林郁夫 氏名 実習日平成 26 年 7 月 4 日 提出期限 7 月 11 日提出日 7 月 17 日 1 週遅れ 第 13 回 テーマ : 並べ替えのアルゴリズム 教員使用欄 15 S A B C 再提出 課題 1 バブルソートの実行画面 プログラムのソースコード // day13_akb1.cpp : コンソールアプリケーションのエントリポイントを定義します

More information

ワープロソフトウェア

ワープロソフトウェア Excel ソフト ( 関数 ) Excel の関数 EXCEL の機能のなかで重要なものに関数がある 数学 統計 データベース 文字列等に分類される関数がある すべてを取り扱うことはできないが 代表的なものについて紹介したい ただ眺めるだけでは理解も浅くなる そこで演習問題を中心に使い方を見ていきたい 活用方法 グラフ化 統計分析などの応用的な計算 データベース等 ワードの代わりに報告書の作成や領収書の作成

More information

コンピュータリテラシ 第 6 回表計算 2 このスライド 例題 /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx

コンピュータリテラシ 第 6 回表計算 2 このスライド 例題   /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx コンピュータリテラシ 第 6 回表計算 2 このスライド 例題 http://cobayasi.com/jm/6th/6th.pdf /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx 今日の学習要点 ( テキスト P152-167) IF 関数の使い方 IF 関数による条件判定 複合条件による判定 順位付け (RANK.EQ)

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅱ 演習 2-1(a) BMI による判定 文字列, 身長 height(double 型 ), 体重 weight (double 型 ) をメンバとする構造体 Data を定義し, それぞれのメンバの値をキーボードから入力した後, BMI を計算するプログラムを作成しなさい BMI の計算は関数化すること ( ) [ ] [ ] [ ] BMI = 体重 kg 身長 m 身長

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる

More information

Microsoft PowerPoint - 06.pptx

Microsoft PowerPoint - 06.pptx アルゴリズムとデータ構造第 6 回 : 探索問題に対応するデータ構造 (2) 担当 : 上原隆平 (uehara) 2015/04/22 内容 スタック (stack): 最後に追加されたデータが最初に取り出される 待ち行列 / キュー (queue): 最初に追加されたデータが最初に取り出される ヒープ (heap): 蓄えられたデータのうち小さいものから順に取り出される 配列による実装 連結リストによる実装

More information

<4D F736F F F696E74202D CB4967B2D8F6F93FC8AC48E8B8D9E F8E9E8C9F8DF5817A D C882F182C282A C520837D836A B2E707074>

<4D F736F F F696E74202D CB4967B2D8F6F93FC8AC48E8B8D9E F8E9E8C9F8DF5817A D C882F182C282A C520837D836A B2E707074> なんつい WEB 版簡易マニュアル ( 随時検索タイプ ) 2013/1/11 更新 1 URL ログイン名 パスワード < お手持ちのパソコンで位置情報を確認する > 1URL 2 ログイン名 3 パスワード https://loc.tliserv.co.jp/upr/user/login.do?svc= < お手持ちの携帯電話 PHS で位置情報を確認する > 4URL https://loc.tliserv.co.jp/upr/ktai/top.do?svc=

More information

<4D F736F F F696E74202D208FEE95F18F88979D5F8CE394BC30352E B8CDD8AB B83685D>

<4D F736F F F696E74202D208FEE95F18F88979D5F8CE394BC30352E B8CDD8AB B83685D> 情報処理概論 後半 5 回目 情報処理概論第 12 回 1 今日の内容 工学部で勉強したからこそ理解できるコンピュータに関する概念 パターンの表現 ( 正規表現 ) 先週までで済み 再帰呼出し 先週までで済み オブジェクト指向プログラミング プログラムの実行時間 コンピュータ ネットワーク ( インターネット ) 来週 情報処理概論第 12 回 2 再帰呼出し ( 復習 ) 情報処理概論第 12 回

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

Microsoft PowerPoint - C1(演算と変数).ppt

Microsoft PowerPoint - C1(演算と変数).ppt C 言語プログラミング 式の計算と変数 配列の概念 50 人の生徒の点数の平均点, 最高点 最低点を求めるプログラム ( センター入試 23 年度数学 2 情報関係基礎 第 3 問 ) (01) sowa 0, saiko 0, saitei 100 代入文 : 変数に値を代入 ( 格納 ) する (02) 配列 TNin のすべての要素を 0 にするための文 (03) bango を 1 から 50

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

2014年度 信州大・医系数学

2014年度 信州大・医系数学 4 信州大学 ( 医系 ) 前期日程問題 解答解説のページへ 3 個の玉が横に 列に並んでいる コインを 回投げて, それが表であれば, そのときに中央にある玉とその左にある玉とを入れ替える また, それが裏であれば, そのときに中央にある玉とその右にある玉とを入れ替える この操作を繰り返す () 最初に中央にあったものが 回後に中央にある確率を求めよ () 最初に右端にあったものが 回後に右端にある確率を求めよ

More information

微分方程式 モデリングとシミュレーション

微分方程式 モデリングとシミュレーション 1 微分方程式モデリングとシミュレーション 2018 年度 2 質点の運動のモデル化 粒子と粒子に働く力 粒子の運動 粒子の位置の時間変化 粒子の位置の変化の割合 速度 速度の変化の割合 加速度 力と加速度の結び付け Newtonの運動方程式 : 微分方程式 解は 時間の関数としての位置 3 Newton の運動方程式 質点の運動は Newton の運動方程式で記述される 加速度は力に比例する 2

More information

3章 度数分布とヒストグラム

3章 度数分布とヒストグラム 3 章度数分布とヒストグラム データの中の分析 ( 記述統計 ) であれ データの外への推論 ( 推測統計 ) であれ まず データの持つ基本的特性を把握することが重要である 1 分析の流れ データの分布 ( 散らばり ) を 度数分布表にまとめ グラフ化する 3 章 グラフに 平均値や分散など 分布の特徴を示す客観的な数値を加える 4 5 6 章 データが母集団からのランダムサンプルならば 母集団についての推測を行う

More information

Taro-再帰関数Ⅲ(公開版).jtd

Taro-再帰関数Ⅲ(公開版).jtd 0. 目次 1 1. ソート 1 1. 1 挿入ソート 1 1. 2 クイックソート 1 1. 3 マージソート - 1 - 1 1. ソート 1 1. 1 挿入ソート 挿入ソートを再帰関数 isort を用いて書く 整列しているデータ (a[1] から a[n-1] まで ) に a[n] を挿入する操作を繰り返す 再帰的定義 isort(a[1],,a[n]) = insert(isort(a[1],,a[n-1]),a[n])

More information

0.0 Excelファイルの読み取り専用での立ち上げ手順 1) 開示 Excelファイルの知的所有権について開示する数値解析の説明用の Excel ファイルには 改変ができないようにパスワードが設定してあります しかし 読者の方には読み取り用のパスワードを開示しますので Excel ファイルを読み取

0.0 Excelファイルの読み取り専用での立ち上げ手順 1) 開示 Excelファイルの知的所有権について開示する数値解析の説明用の Excel ファイルには 改変ができないようにパスワードが設定してあります しかし 読者の方には読み取り用のパスワードを開示しますので Excel ファイルを読み取 第 1 回分 Excel ファイルの操作手順書 目次 Eexcel による数値解析準備事項 0.0 Excel ファイルの読み取り専用での立ち上げ手順 0.1 アドインのソルバーとデータ分析の有効化 ( 使えるようにする ) 第 1 回線形方程式 - 線形方程式 ( 実験式のつくり方 : 最小 2 乗法と多重回帰 )- 1.1 荷重とバネの長さの実験式 (Excelファイルのファイル名に同じ 以下同様)

More information

2) 数値データを整理して情報を得る 作成案を考える 数値データの整理方法を考える個人の合計点数と各問の平均点 最高点 最低点は 各問の点数を使って求めることができます それぞれの点数を 表のどの位置に どのような方法で求めるのがよいか考えましょう 1 個人の合計点数を求める 生徒一人一人の合計点数

2) 数値データを整理して情報を得る 作成案を考える 数値データの整理方法を考える個人の合計点数と各問の平均点 最高点 最低点は 各問の点数を使って求めることができます それぞれの点数を 表のどの位置に どのような方法で求めるのがよいか考えましょう 1 個人の合計点数を求める 生徒一人一人の合計点数 つくりたい! がカタチになる学生のための Office2016& 情報モラル正誤表 各位 つくりたい! がカタチになる学生のための Office2016& 情報モラル に誤りがありました 謹んでお詫び申しあげますとともに 誠にお手数ですがご訂正の程よろしくお願い申し上げます ページ誤正 Section1 STEP3 Lesson1 P.64 68 74 Section1 STEP3 Lesson2

More information

Taro-数値計算の誤差(公開版)

Taro-数値計算の誤差(公開版) 0. 目次 1. 情報落ち 計算のルールを 10 進 4 桁 切り捨て と仮定する 2 つの数の加算では まず小数点が合わされ 大きい数が優先される したがって 12.34 + 0.005678 は 12.34 と計算される このように 絶対値の小さい数を絶対値の大きい数に加えてもほとんど影響を与えない現象を情報落ちという 2. オーバーフロー アンダーフロー 計算結果の絶対値がコンピュータの処理できる最大の数を越えてしまう現象をオーバーフローという

More information

航空機の運動方程式

航空機の運動方程式 可制御性 可観測性. 可制御性システムの状態を, 適切な操作によって, 有限時間内に, 任意の状態から別の任意の状態に移動させることができるか否かという特性を可制御性という. 可制御性を有するシステムに対し, システムは可制御である, 可制御なシステム という言い方をする. 状態方程式, 出力方程式が以下で表されるn 次元 m 入力 r 出力線形時不変システム x Ax u y x Du () に対し,

More information

Microsoft PowerPoint - mp13-07.pptx

Microsoft PowerPoint - mp13-07.pptx 数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) hiour@di.i.ohoku.c.jp ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない

More information

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生 0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生まれ, コンピューテーショナルフォトグラフィ ( 計算フォトグラフィ ) と呼ばれている.3 次元画像認識技術の計算フォトグラフィへの応用として,

More information

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード] if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに =

More information

Microsoft Word - 微分入門.doc

Microsoft Word - 微分入門.doc 基本公式 例題 0 定義式 f( ) 数 Ⅲ 微分入門 = の導関数を定義式にもとづいて計算しなさい 基本事項 ( f( ), g( ) が微分可能ならば ) y= f( ) g( ) のとき, y = y= f( ) g( ) h( ) のとき, y = ( f( ), g( ) が微分可能で, g( ) 0 ならば ) f( ) y = のとき, y = g ( ) とくに, y = のとき,

More information

040402.ユニットテスト

040402.ユニットテスト 2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う

More information

Microsoft PowerPoint - handout07.ppt [互換モード]

Microsoft PowerPoint - handout07.ppt [互換モード] Outline プログラミング演習第 7 回構造体 on 2012.12.06 電気通信大学情報理工学部知能機械工学科長井隆行 今日の主眼 構造体 構造体の配列 構造体とポインタ 演習課題 2 今日の主眼 配列を使うと 複数の ( 異なる型を含む ) データを扱いたい 例えば 成績データの管理 複数のデータを扱う 配列を使う! 名前学籍番号点数 ( 英語 ) 点数 ( 数学 ) Aomori 1 59.4

More information

umeda_1118web(2).pptx

umeda_1118web(2).pptx 選択的ノード破壊による ネットワーク分断に耐性のある 最適ネットワーク設計 関西学院大学理工学部情報科学科 松井知美 巳波弘佳 選択的ノード破壊によるネットワーク分断に耐性のある最適ネットワーク設計 0 / 20 現実のネットワーク 現実世界のネットワークの分析技術の進展! ネットワークのデータ収集の効率化 高速化! 膨大な量のデータを解析できる コンピュータ能力の向上! インターネット! WWWハイパーリンク構造

More information

統計的データ解析

統計的データ解析 統計的データ解析 011 011.11.9 林田清 ( 大阪大学大学院理学研究科 ) 連続確率分布の平均値 分散 比較のため P(c ) c 分布 自由度 の ( カイ c 平均値 0, 標準偏差 1の正規分布 に従う変数 xの自乗和 c x =1 が従う分布を自由度 の分布と呼ぶ 一般に自由度の分布は f /1 c / / ( c ) {( c ) e }/ ( / ) 期待値 二乗 ) 分布 c

More information

プログラミングI第5回

プログラミングI第5回 プログラミング 第 5 回 ポインタ () -- ポインタ演算 配列のアドレス ポインタ演算 ( 前期教科書 P77~) ポインタと配列 ( 同上 P8) 文字列定数と文字列配列 ( 同上 P85) この資料にあるサンプルプログラムは /home/course/rog/ublc_html/7/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください

More information

Quick Sort 計算機アルゴリズム特論 :2017 年度 只木進一

Quick Sort 計算機アルゴリズム特論 :2017 年度 只木進一 Quick Sort 計算機アルゴリズム特論 :2017 年度 只木進一 2 基本的考え方 リスト ( あるいは配列 )SS の中の ある要素 xx(pivot) を選択 xx より小さい要素からなる部分リスト SS 1 xx より大きい要素からなる部分リスト SS 2 xx は SS 1 または SS 2 に含まれる 長さが 1 になるまで繰り返す pivot xx の選び方として 中央の要素を選択すると効率が良い

More information

前期募集 令和 2 年度山梨大学大学院医工農学総合教育部修士課程工学専攻 入学試験問題 No.1/2 コース等 メカトロニクス工学コース 試験科目 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A

前期募集 令和 2 年度山梨大学大学院医工農学総合教育部修士課程工学専攻 入学試験問題 No.1/2 コース等 メカトロニクス工学コース 試験科目 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A No.1/2 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A,B,C の座標はそれぞれ A (,6,-2), B (4,-5,3),C (-5.1,4.9,.9) である. 次の問いに答えよ. (1) を求めよ. (2) および の向きを解答用紙の図 1 に描け. (3) 図 1 の平行六面体の体積

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information