ページの下部へ移動

(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:線形計画法

 ただし、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

top