「Pennies」プログラムの概要
cs50のYoutube動画「「Pennies」プログラムの概要」について要点と要約をまとめました
3つの要点
- 要点1
「Pennies」プログラムは、ペニーを1日ごとに受け取り、その金額を毎日倍にすることが、一括で大金を受け取るよりも有利であることを示しています。 - 要点2
ユーザー入力の検証は、プログラムが正しく機能するために重要であり、「while」ループと「do-while」ループを使用することで実現できます。 - 要点3
総金額やペニーの数などの変数の追跡と更新は、プログラムにおいて重要であり、「for」ループを使用することができます。
要約
プログラムとユーザー入力の理解
「Pennies」プログラムでは、1日ごとにペニーを受け取り、その金額を毎日倍にすることが、一括で1000万ドルを受け取るよりも有益であることを学びました。このプログラムを作成するために、ユーザーに月の日数と初日に受け取るペニーの数を入力してもらう必要がありました。また、プログラムの文脈内で意味のある入力を確認するために、ユーザー入力の検証の重要性も知りました。
ユーザー入力の検証の実装
正しいユーザー入力を保証するために、2種類のループ、つまり「while」ループと「do-while」ループを試しました。「while」ループは入力が適切な範囲内にあるかどうかをチェックし、有効な整数が提供されるまでプロンプトを繰り返します。「do-while」ループはループ内のコードを1回実行し、その後条件が満たされているかどうかをチェックします。このループは、少なくとも1つのプロンプトが保証されるため、ユーザー入力の取得に役立ちます。また、ペニーの数などの大きな数値には、LongLongデータ型を使用する必要があることも学びました。
ペニーの量の追跡と更新
月の日数と初日のペニーの数の有効な入力を得た後、ユーザーが持っている総金額と1日ごとに受け取るペニーの数の2つの変数を追跡する必要がありました。プログラムの反復的な性質を処理するために、「for」ループを使用して月の日数を繰り返し処理し、毎回総額とペニーの数を更新しました。
ペニーをドルに変換する
最後に、総ペニーの金額をドルに変換して、正しい最終総額をユーザーに提供する必要がありました。LongLongデータ型は小数点以下を扱えないため、倍精度浮動小数点数を使用して小数点以下を表現しました。総額を100で割ることで、ペニーをドルに変換しました。また、割り算の過程で四捨五入が行われるため、最終総額は少し予想値と異なる場合があることも学びました。
▼今回の動画
編集後記
▼ライターの学び
「Pennies」プログラムを通じて、ペニーを1日ごとに受け取り、その金額を毎日倍にすることが、一括で大金を受け取るよりも有利である理由を学びました。また、ユーザー入力の検証がプログラムが正しく機能するために重要であることや、変数の追跡と更新がプログラムにおいて重要であることを学びました。
▼今日からやってみよう
今日から「Pennies」プログラムを作成してみましょう!ユーザーから月の日数と初日に受け取るペニーの数を入力してもらい、総金額を計算してみることができます。また、ユーザー入力の検証に「while」ループや「do-while」ループを使ってみることもできます。さらに、他の変数の追跡と更新に「for」ループを使用してみることもおすすめです。