(1)基本情報技術者平成30年春期 午前問4:オートマトン
基本情報技術者平成30年春期 午前問4:オートマトンを実装します。
状態遷移図
(a) 条件分岐による実装
〔概要〕条件分岐により実装します。
〔技法〕条件分岐
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(b) リストによる実装
〔概要〕リストによりノードという考え方を導入して実装します。
<ノードの考案>
[[入力が0の場合の出力, 入力が1の場合の出力], [入力が0の場合の転移先の番号, 入力が1の場合の転移先の番号]]の内容のリストとして表現する。
〔技法〕リスト
〔実行例〕(同上)
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(2)基本情報技術者平成28年秋期 午前問3:自動販売機の状態遷移図【練習問題】
〔概要〕基本情報技術者平成28年秋期 午前問3:自動販売機の状態遷移を実装してください。
〔実行例〕(省略)
〔プログラム〕(省略)
(3)基本情報技術者平成26年春期 午前問5:状態遷移表
基本情報技術者平成26年春期 午前問5:状態遷移表を実装します。
ただし、現在の状態a~dを2次元配列の行番号0~3に対応させ、また状態eは番号4で示すものと考える。
〔実行例〕
〔プログラム〕
(4)1から100までの整数の総和(アルゴリズムの修正)
〔実行例:修正前〕
〔プログラム:修正前〕
〔実行例:修正後〕
〔プログラム:修正後〕
(5)手続の実行結果
〔技法〕流れ図、商、余り
〔実行例〕
〔プログラム〕
(6)2進整数の乗算
〔注〕
- ビットの判定に&演算子を使います。
- Pythonにはdo…whileという構文がないので、while(True)とbreak文を組み合わせて実現します。
〔実行例〕
〔プログラム〕
(7)ユークリッドの互除法
〔参考〕
〔実行例〕
〔プログラム〕
(8)処理の分析
〔技法〕トレース
〔実行例〕
〔プログラム〕
(9)整列アルゴリズム
〔技法〕バブルソート
〔参考〕
〔実行例〕
〔プログラム〕
(10)最大値選択法
〔技法〕流れ図、整列、比較回数
〔実行例〕
〔プログラム〕
(11)2分探索法
〔技法〕流れ図
〔実行例〕
〔プログラム〕
(12)文字列の処理
〔技法〕流れ図、論理演算
〔実行例〕
〔プログラム〕
(13)ゲーム理論:ナッシュ均衡
2次元リスト版
〔技法〕2次元リスト(2次元配列)
〔実行例〕
〔プログラム〕
参考(Python):Nashpy版
前項のプログラムは基本情報技術者平成26年秋期午前問77の解法例のみを示すものです。したがって、汎用的にはNashpyなどのライブラリを使用してください。
〔技法〕Nashpy
〔プログラム〕
3次元リスト版:練習問題
利得表を3次元リスト(3次元配列)にして実装してください。
〔技法〕3次元リスト(3次元配列)
〔実行例〕
(省略)
〔プログラム〕
(省略)
(14)基本情報技術者平成25年春期問76:線形計画法
- 過去問題 > 基本情報技術者平成25年春期 午前問76の図式解法
ただし、EduBlocksは「July 2023」版(V4)とする。
〔技法〕線形計画法、matplotlib.pyplot
〔実行例〕
〔プログラム〕
練習問題
Pythonで次のように表示するプログラムを作成してください。
〔実行例〕
〔プログラム〕
(省略)
(15)基本情報技術者平成30年春期問5:スタック
〔スタックの実例〕
例えば履歴の格納と取り出しです。ブラウザで新しいページを参照すると履歴のスタックに積まれ(push)、[戻る]を押すと直前の参照ページが取り出されて(pop)表示されます。
例えば、ページA、ページB、ページC、ページDと順に参照したとき、ブラウザの[戻る]ボタンを押して待つと次のように履歴が表示されます。
(a) リスト実装版
〔実行例〕
〔プログラム〕
(b) ライブラリ利用版
collectionsモジュールのdequeを用いる。
〔実行例〕
〔プログラム〕
(16)基本情報H26春午前問7:キューとスタック
(a) リスト実装版
〔技法〕list.pop([i])
〔実行例〕
〔プログラム〕
(b) ライブラリ利用版
〔実行例〕
〔プログラム〕
Copyright (C) 2022 Easy Programming