所要時間

3時間

難易度

★★★

概要(機能・動作)

APS複利計算(JavaScript版)

毎年積み立てる金額と、利率(%)を入力して、計算ボタンを押します。すると、10年分の複利計算が行われ、毎年の貯蓄額がグラフ(横軸に年、縦軸に金額)に表示されます。グラフのマーカーにマウスカーソルを合わせると、その年の金額が表示されます。グラフと別に、年ごとの金額が表の形式で表示されます。

学習項目

  • 積立額、利率を入力して実行し、グラフと表で結果を確認して、複利の概念を学ぶ
  • 年ごとの計算結果を、要素に格納し、結果を利用する様子を確認して、配列の概念と操作方法を学ぶ
  • 積立年数や積立の目標値を入力できるようにするカスタマイズを通じて、HTMLとJavaScriptの連携方法を学ぶ

身に付く力

  • 知識・技能
    • 複利計算という問題について、繰り返し制御構造を用いて解を得る。
    • 繰り返しによって得た計算結果を配列に格納し、後に利用できるようにする。
    • グラフ表示ライブラリの利用例を通じて、機能を実現するために外部のライブラリを利用する。
    • 計算結果を表現する方法として、グラフや表があることを知り、その長所・短所を理解する。
  • 思考・判断・表現
    • 情報の表現方法としての表とグラフを比較し、計算結果を表現するのに適切な方法を選べるようになる。
  • 態度
    • 複利計算の概念とその特徴を理解するために、積立額や利率を変更しながら結果を確認する試行を、粘り強く複数回にわたって取り組む。
    • グラフと表に表示された結果を丁寧に読み取り、理解しようとする。

学習活動(カスタマイズ)の内容

  1. 入力欄を追加して、積立の年数を変更できるようにします。10年分ではなく、入力された年数だけ繰り返すように、繰り返し制御構造の部分も変更します。
  2. 入力欄を追加して、目標金額を入力できるようにします。目標金額まで積み立てるには、何年かかるか分かるプログラムにします。

特徴

単元「モデル化とシミュレーション」で確定的モデルの例として扱われている「複利計算」を実装しているプログラムです。数学科で等比数列として説明される概念を、動作するプログラムとして提示しているとも言えます。

繰り返し制御構造と、配列を活用して、毎年の結果を計算し、保存し、利用するようにしています。繰り返し制御構造と配列は、単元「プログラム」の中でも理解が難しい内容ですが、グラフや表の形で結果を視覚的に確認できるため、理解の助けになります。

複利計算の概念の理解と、繰り返し制御構造・配列の理解との両方が必要になるため、比較的難易度が高いAPSです。数理的な問題をプログラミングで解決する題材となっており、応用範囲が広いのも特徴です。

作品制作への応用

このAPSをもとにして、生徒に単元「プログラミング」に関連する作品制作を行わせることができます。1時間程度の簡単な制作から、企画・設計に1時間、制作に2時間かけるなど、大きな作品制作にすることも可能です。

基本的なアプリケーションをそのままにして、「半年複利」のプログラムを作ることが考えられます。表示方法を変えることになります。

また、複利計算という題材ではなく、繰り返し制御構造と、配列による計算結果の管理という仕組みに注目することもできます。「ローンの返済と残高」などの題材が考えられます。

作品制作に利用できる素材集

アシアルが運営するWebサイト「あんこエデュケーション」では、作品制作に利用できる画像素材を公開しています。

あんこエデュケーション・素材配布ページ

https://anko.education/material

これらの素材は、クリエイティブ・コモンズのCC BY-NC 4.0で公開しており、生徒の皆さんにも利用していただけます。

APS資料のダウンロード:先生向けサポートページ

APSのプロジェクト以外の資料は、プランごとに用意されている先生向けサポートページからダウンロードできます(サポートページはパスワードで保護されています)。

プランの詳細や、各サポートページのパスワードについては、アシアルまでお問い合わせください。

ベーシックプラン

https://edu.monaca.io/basic

スタンダードプラン

https://edu.monaca.io/standard

APSプロジェクトのインポート

APSプロジェクトをMonaca Educationにインポートするには、下記のアプリプログラミングシートのサポートページにアクセスし、該当のAPSのインポートボタンをクリックします。

アプリプログラミングシートのサポートページ

https://edu.monaca.io/template/aps