令和7年度大学入学共通テスト「情報」に出てくる日本語プログラム言語をPythonに直して実行するDNCL2Pythonを作った(2) 試験対策として試作問題にあった最小交換硬貨枚数の問題と、一番簡単なバブルソートを書いてみる。
さて前回は変換コードを作ったので、次は試作問題にあった最小交換硬貨枚数の問題。
https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r7/r7_kentoujoukyou/r7mondai.html
これを実行するには仕様にはない関数定義が必要で、それは変換コードに追加している。
日本語プログラムは
関数 枚数(kingaku) を定義する: kakaku = 46 |
となってこれをPythonに直すと
def 枚数(kingaku) :
Kouka = [1,5,10,50,100]
maisu = 0
nokori = kingaku
for i in reversed(range(0, 4+1 , 1)):
maisu = maisu + nokori // Kouka[i]
nokori = nokori % Kouka[i]
return maisu
kakaku = 46
min_maisu = 100
for tsuri in range(0, 99+1 , 1):
shiharai = kakaku + tsuri
maisu = 枚数(shiharai) + 枚数(tsuri)
if maisu < min_maisu :
min_maisu = maisu
print(min_maisu)
|
となり、答えも3と出た。
次は試験に出そうなアルゴリズムを書いてみる。
まあバブルソートとかかな…
これを参考に。
https://www.programiz.com/dsa/bubble-sort
では日本語プログラムは
Data = [-2, 45, 0, 11, -9] kazu=要素数(Data) iを0からkazu-1まで1ずつ増やしながら繰り返す: | jを0からkazu-i-2まで1ずつ増やしながら繰り返す: | | もしData[j] > Data[j + 1]ならば: | | | temp = Data[j] | | | Data[j] = Data[j + 1] ⎿ ⎿ ⎿ Data[j + 1] = temp 表示する(Data) |
これをPythonに変換して実行すると、
Data = [-2, 45, 0, 11, -9]
kazu=len(Data)
for i in range(0, kazu-1+1 , 1):
for j in range(0, kazu-i-2+1 , 1):
if Data[j] > Data[j + 1]:
temp = Data[j]
Data[j] = Data[j + 1]
Data[j + 1] = temp
print(Data)
|
[-9, -2, 0, 11, 45]
となった。次は何かな。
« 令和7年度大学入学共通テスト「情報」に出てくる日本語プログラム言語をPythonに直して実行するDNCL2Pythonを作った(1)。日本語プログラム言語はほぼPythonなので、reモジュールを使って正規表現で置換しているだけ。defとappendは仕様に付け加えておいた。 | トップページ | 高周波・RFニュース 2024年11月20日 SEMCOの1005 X7S 2.2μF 10V車載MLCC、TDKの車載PoC用積層インダクタ、Qualcomm Investor DayでOn-Device AIで車載、IoTに注力と発表、NordicのnRF64Lが加賀FEIの世界最小Bluetoothモジュールに採用、u-blox、Telitの新商品など »
「パソコン・インターネット」カテゴリの記事
- ユニクロとAkamaiのコラボTシャツに書かれているコードを解読してみる。base64でデコードするとbashのシェルスクリプトが出てきて実行すると♥PEACE♥FOR♥ALL♥FOR♥ALL♥PEACE♥FOR♥ALL♥という文字が色付きで正弦波で流れた。(2025.05.01)
- Google Gemini 2.5 Pro experimentalに高周波で使われるSパラメータのTouchstoneファイルを読み込んでプロットするC#コードを書いてもらうと570行のコードができて動いた。ファイルの拡張子snpのnでポート数を判別するが人間を信じないのでデータ数えて確認するのに笑った。(2025.04.21)
- Google ColabのJulia言語で搭載されているGeminiを使って一行もコードを書かずに2次元拡散方程式を差分法で計算してGIFアニメにする。次に同じように2次元波動方程式もやってもらう。(2025.04.09)
- Google ColabのJulia言語で主成分分析(PCA)をやってみる。データはおなじみアヤメ(iris)で、標準で特異値分解(SVD)が入っているのですぐできた。(2025.04.08)
- Google ColabのJulia言語でマンデルブロ集合、仏様のようなブッダブロ、燃える船・バーニングシップフラクタルを描いてみる。どれも計算が速い。(2025.04.04)
「学問・資格」カテゴリの記事
- 「数学がゲームを動かす! ゲームデザインから人工知能まで」を読んだ。面白い!パックマンのアルゴリズムやドラクエの計算式、ドンキーコングはベルレ法でジャンプ、カルマンフィルタ、遺伝的アルゴリズム、セガの線形代数本を書かれた方は理論物理出身など話題が豊富。(2025.05.13)
- 高周波・RFニュース 2025年5月12日 IEEE Microwave Magazineでミリ波ガラス基板・超伝導・液晶などの記事、Pythonの高周波ライブラリscikit-rfがv1.7.0に、Megamagneticsの希土類を使わないミリ波サーキュレータ、CoilcraftのRFインダクタホワイトペーパー(2025.05.12)
- 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表(2025.05.09)
- 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加(2025.05.08)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年5月12日 IEEE Microwave Magazineでミリ波ガラス基板・超伝導・液晶などの記事、Pythonの高周波ライブラリscikit-rfがv1.7.0に、Megamagneticsの希土類を使わないミリ波サーキュレータ、CoilcraftのRFインダクタホワイトペーパー(2025.05.12)
- 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表(2025.05.09)
- 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加(2025.05.08)
- 高周波・RFニュース 2025年5月2日 everythingRFが6GのeBook発行、FCCが37GHz帯の共用規則策定、Spirentが5Gクラウドネイティブについてレポート、ローデ・シュワルツが高速差動伝送の測定について解説、Qualcommが2025Q2の決算発表(2025.05.02)
« 令和7年度大学入学共通テスト「情報」に出てくる日本語プログラム言語をPythonに直して実行するDNCL2Pythonを作った(1)。日本語プログラム言語はほぼPythonなので、reモジュールを使って正規表現で置換しているだけ。defとappendは仕様に付け加えておいた。 | トップページ | 高周波・RFニュース 2024年11月20日 SEMCOの1005 X7S 2.2μF 10V車載MLCC、TDKの車載PoC用積層インダクタ、Qualcomm Investor DayでOn-Device AIで車載、IoTに注力と発表、NordicのnRF64Lが加賀FEIの世界最小Bluetoothモジュールに採用、u-blox、Telitの新商品など »
コメント