|
45 | 45 | <template> |
46 | 46 | <Title>演習問題 解答・解説</Title> |
47 | 47 |
|
48 | | - <div class="container w-3/6 mx-auto mb-10 text-start"> |
| 48 | + <div class="container w-full sm:w-5/6 md:w-4/6 mx-auto mb-10 text-start"> |
49 | 49 | <div class="flex-col mx-auto mb-12 border rounded-lg border-green-600 p-3.5"> |
50 | 50 | <span class="text-2xl ml-2">目次</span><br> |
51 | 51 | <ul class="ml-5 mt-3"> |
|
61 | 61 | </Paragraph> |
62 | 62 | <Paragraph> |
63 | 63 | <SubHeader class="mb-3">[<span class="text-green-600 font-bold">Easy</span>] 入力される名前を、"Your name is XXX."のように出力するプログラムを書け。</SubHeader> |
64 | | - <Hint level="1_easy"><span class="text-yellow-400">input()</span>関数を使うと、入力された文字列を取得できる。</Hint> |
| 64 | + <Hint unique_id="1_easy"><span class="text-yellow-400">input()</span>関数を使うと、入力された文字列を取得できる。</Hint> |
65 | 65 |
|
66 | 66 | <PyScript> |
67 | 67 | name = input() |
|
74 | 74 |
|
75 | 75 | <Paragraph> |
76 | 76 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] 入力される2数(num1, num2)の平均を求めるプログラムを書け。</SubHeader> |
77 | | - <Hint level="1_med1">input()関数から返されるデータは、<span class="text-yellow-400">str</span>型であることに注意しよう。</Hint> |
| 77 | + <Hint unique_id="1_med1">input()関数から返されるデータは、<span class="text-yellow-400">str</span>型であることに注意しよう。</Hint> |
78 | 78 |
|
79 | 79 | <PyScript> |
80 | 80 | num1 = input() |
|
88 | 88 |
|
89 | 89 | <Paragraph> |
90 | 90 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] 次のプログラムの誤りを指摘し、修正せよ。</SubHeader> |
91 | | - <Hint level="1_med2">プログラムは、括弧の内側から順に評価される。</Hint> |
| 91 | + <Hint unique_id="1_med2">プログラムは、括弧の内側から順に評価される。</Hint> |
92 | 92 |
|
93 | 93 | <PyScript> |
94 | 94 | a = input() # aに任意の数を代入 |
|
104 | 104 |
|
105 | 105 | <Paragraph> |
106 | 106 | <SubHeader class="mb-3">[<span class="text-red-500 font-bold">Hard</span>] 1番目の整数(num1)から2番目の整数(num2)を引いた結果を出力するプログラムを書け。ただし、算術演算子のうち使えるのは + のみとする。</SubHeader> |
107 | | - <Hint level="1_hard"><span class="text-yellow-400">ビット演算</span>について調べてみよう。</Hint> |
| 107 | + <Hint unique_id="1_hard"><span class="text-yellow-400">ビット演算</span>について調べてみよう。</Hint> |
108 | 108 |
|
109 | 109 | <PyScript> |
110 | 110 | num1: int = 10 |
|
124 | 124 | </Paragraph> |
125 | 125 | <Paragraph> |
126 | 126 | <SubHeader class="mb-3">[<span class="text-green-600 font-bold">Easy</span>] 1以上x未満の範囲に含まれる奇数の総和を求めるプログラムを書け。</SubHeader> |
127 | | - <Hint level="2_easy1"><span class="text-yellow-400">range()</span>関数を使うと、list型(厳密にはrange型)の数列を取得できる。</Hint> |
| 127 | + <Hint unique_id="2_easy1"><span class="text-yellow-400">range()</span>関数を使うと、list型(厳密にはrange型)の数列を取得できる。</Hint> |
128 | 128 |
|
129 | 129 | <PyScript> |
130 | 130 | x: int = 100 |
|
144 | 144 |
|
145 | 145 | <Paragraph> |
146 | 146 | <SubHeader class="mb-3">[<span class="text-green-600 font-bold">Easy</span>] 次のプログラムのエラーの原因を特定し、修正せよ。</SubHeader> |
147 | | - <Hint level="2_easy2">宣言されていない変数は呼び出せない。</Hint> |
| 147 | + <Hint unique_id="2_easy2">宣言されていない変数は呼び出せない。</Hint> |
148 | 148 |
|
149 | 149 | <PyScript> |
150 | 150 | sum = 0 |
|
166 | 166 |
|
167 | 167 | <Paragraph> |
168 | 168 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] 入力された自然数に対して、適切な序数を出力するプログラムを書け。例えば、1が入力された時に"1st"を返すこと。</SubHeader> |
169 | | - <Hint level="2_med">1の位の数に応じて条件分岐させること。ただし、例外がいくつか存在するので注意せよ。</Hint> |
| 169 | + <Hint unique_id="2_med">1の位の数に応じて条件分岐させること。ただし、例外がいくつか存在するので注意せよ。</Hint> |
170 | 170 |
|
171 | 171 | <PyScript> |
172 | 172 | num = int(input()) |
|
189 | 189 |
|
190 | 190 | <Paragraph> |
191 | 191 | <SubHeader class="mb-3">[<span class="text-red-500 font-bold">Hard</span>] 任意の実数x(rad)に対して、sin(x)の値を出力するプログラムを書け。ただし、必要な計算精度は10桁程度とし、以下のpiの値を利用しても良いものとする。</SubHeader> |
192 | | - <Hint level="2_hard">関数の周期性を利用することで効率的なコードが書ける。</Hint> |
| 192 | + <Hint unique_id="2_hard">関数の周期性を利用することで効率的なコードが書ける。</Hint> |
193 | 193 |
|
194 | 194 | <PyScript> |
195 | 195 | pi: float = 3.14159265359 |
|
225 | 225 | </Paragraph> |
226 | 226 | <Paragraph> |
227 | 227 | <SubHeader class="mb-3">[<span class="text-green-600 font-bold">Easy</span>] 次のデータを正規化せよ。</SubHeader> |
228 | | - <Hint level="3_easy">グレイスケール(8bit)ですね。</Hint> |
| 228 | + <Hint unique_id="3_easy">グレイスケール(8bit)ですね。</Hint> |
229 | 229 |
|
230 | 230 | <PyScript> |
231 | 231 | data = [ |
|
267 | 267 |
|
268 | 268 | <Paragraph> |
269 | 269 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] 次のデータを昇順(ascending order)に並べ替えよ。ただし、バブルソートを使うこと。</SubHeader> |
270 | | - <Hint level="3_med1">各データが泡のように浮かび上がってきます。</Hint> |
| 270 | + <Hint unique_id="3_med1">各データが泡のように浮かび上がってきます。</Hint> |
271 | 271 |
|
272 | 272 | <PyScript> |
273 | 273 | data = [5, 9, 3, 6, 2, 1, 4, 7, 8, 0] |
|
291 | 291 |
|
292 | 292 | <Paragraph> |
293 | 293 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] 行列Aと行列Bの積を求めよ。</SubHeader> |
294 | | - <Hint level="3_med2">定義通りに計算しよう。(※手計算しないでね)</Hint> |
| 294 | + <Hint unique_id="3_med2">定義通りに計算しよう。(※手計算しないでね)</Hint> |
295 | 295 |
|
296 | 296 | <PyScript> |
297 | 297 | A = [ |
|
329 | 329 |
|
330 | 330 | <Paragraph> |
331 | 331 | <SubHeader class="mb-3">[<span class="text-yellow-400 font-bold">Medium</span>] データAとデータBの相関係数を求めよ。</SubHeader> |
332 | | - <Hint level="3_med3">平方根は、<span class="text-yellow-400">math.sqrt()</span>関数で計算できる。</Hint> |
| 332 | + <Hint unique_id="3_med3">平方根は、<span class="text-yellow-400">math.sqrt()</span>関数で計算できる。</Hint> |
333 | 333 |
|
334 | 334 | <PyScript> |
335 | 335 | import math |
|
0 commit comments