《令和5年度第1回》 学内プロコンを実施!
今年も学内プロコンやります!
昨年度から始まった人工知能学科独自のプロコン(プログラミングコンテスト)を、今年度も実施しました💻
昨年度のプロコンのブログ記事はこちら→https://www.osaka-hightech.ac.jp/blog/56525
今年も、プログラミングスキルを可視化できるサービス『TechFUL』のイベントプラットフォームをお借りしました。
入学して2ヶ月ちょっとの1年生も参加するため、授業内でTechFULの使い方やプログラムの提出方法をレクチャーしています🛠
今回は実験も兼ねて、AIツールの使用をOKとしました。つまり、ChatGPTやBardにプログラムを書かせても良いです。
高難易度の問題は、そのままではAIがプログラムを書けないような捻りを入れました。問題を噛み砕き、適切にAIに指示を出せることも、これからのプログラマーには必要なスキルだからです!
プログラミングコンテストとは
プログラミングのスキルを競うため、与えられた問題に対してプログラムを組んで解くというものです。
プログラムを組む論理的思考力はもちろん、文章読解能力や処理速度を測ることができ、業界でも評価されています。
コンテスト問題にチャレンジ
実際に出題された問題にチャレンジしてみましょう!
正しく計算を行うプログラムは①~③のどれでしょうか?
① |
② |
③ |
import math
H, R, V, T = list(map(float, input().split())) layer_num = int(R / T) circum = math.pi * R sum_output = layer_num * H time = int(sum_output / V) print(time) |
import math
H, R, V, T = list(map(float, input().split())) layer_num = int(H / T) circum = math.pi * H * T sum_output = layer_num * circum time = int(sum_output / V) print(time) |
import math
H, R, V, T = list(map(float, input().split())) layer_num = int(H / T) circum = math.pi * R sum_output = layer_num * circum time = int(sum_output / V) print(time) |
・
・
・
正解のプログラムは③です😊
ちょっと解説
ポイントとなるのは計算式が書かれているこの4行です。それぞれ何を計算するかというと、
- layer_num = # 円柱の高さと1層の厚みを割って、層の数を求める
- circum = # 直径から円周を求める
- sum_output = # 層の数と円周をかけて、全ての移動距離(出力)を求める
- time = # 移動距離を速さで割って時間を出す
です。これを満たすのは③の
- layer_num = int(H / T)
- circum = math.pi * R
- sum_output = layer_num * circum
- time = int(sum_output / V)
というわけですね。なお、math.piは円周率(3.14)、intは小数点以下を丸める命令です。
AIの進化はこれからも…
最近では、画像を読み込ませると写っているものを解釈し、要約して説明してくれるAIがあります。
例えば、風景画を渡すと何が写っているか等を文章で説明してくれるんですね。
AIが進化すると、人間が持つべきプログラミングスキルもまた様変わりしていきそうです😎
もちろんですが、AIを恐れたり頼りきりになるのではなく、『自身の能力を増幅させるためにAIを駆使する』そんな技術者になりたいですね!
皆さんも一緒に大阪ハイテクでプログラミングの勉強をしませんか?
まずはオープンキャンパスでお待ちしています✨