計算理学基礎論(Fortran プログラミング入門)

授業の特色
科学技術計算・統計計算などに必要なプログラミングの基本的技法を、Fortranによるプログラミング実習をまじえながら、初心者向けに講義する。

授業の紹介
最近の計算機には、数値計算や統計処理などの目的に応じて、便利なソフトウェアツールが用意されているが、自分が直面する多様で複雑な問題を解決し、信頼できる精度の結果を得るには、自分でプログラムを組む必要がある。どのようなプログラム言語を使用するにしても、算法の基本的な考え方は共通である。ここでは、最も早くから開発されていて初心者に比較的なじみやすく、しかも今日でも大掛かりな科学技術計算では主流であるFortran言語を用いて、実習しながら基本技法を学ぶ。あわせて計算機におけるデータの構造や処理の流れを理解するとともに、数学パズルのような課題も用意されているので頭の体操と思って楽しみながら身につけてもらえばよい。最近のFortran言語は、他のC言語系などと共通性をもつように仕様が整備されており、得られた知識は他の言語を学ぶ際にも役立つ。

講義詳細

開講部局名
全学共通科目
使用言語
日本語
教員/講師名
冨田 博之(教授)

課題
最終課題例
2次元セルオートマトン法によるパーコレーション・サイト問題(またはボンド問題)の類焼率(または浸透率)のシミュレーション計算

シラバス

教員
冨田博之 教授
研究科長・学部長/京都大学理学博士
京都大学大学院人間・環境学研究科、総合人間学部

資料提供科目:
熱力学
統計物理学
計算理学基礎論

冨田博之教授は、人間・環境学研究科教授(総合人間学部兼担)であり、大学院、学部で物理学ならびに計算理学の講義を担当している。専門は統計物理学、特に非平衡統計物理学・熱力学であり、40編以上の学術論文、ならびに4編の著書がある。日本物理学会会員。
授業計画と内容
まず、プログラミングの意味、アルゴリズム、データの型、処理の流れなど、どのプログラム言語にも共通の基礎概念の講義から始め、Fortran文法を、順を追って講義とプログラミング実習を交互に繰り返し、最後には中級程度のプログラムを書けるようになることを目標とする。計算機科学の基礎やパソコンの使い方を身につけていることが望ましいが、全くの初心者であっても、実習しながら上達することが可能である。
後期科目の「シミュレーション概論」への準備も兼ねているが、すでにFortran言語かC言語を身につけている場合には、この科目の履修を必要とはしない。
第1回 簡単なプログラム例を紹介することにより、プログラミングとは何かを説明し、データの種類とその表現、処理の流れなど、言語の種類によらない基本的概念の講義を行う。
第2回 定数、変数、関数、キーワードなどの構成要素、使用文字・記号、プログラムの書き方、など基本的な約束ごとを、ひととおりまとめて講義する。
第3回 処理の流れを変えるIF文による分岐とブロック化、多数分岐について講義すると共に、数値計算に必須の組込関数の概念を導入する。
第4回 実数型、整数型、文字型、論理型、複素数型、高精度型など、扱えるデータの型と型宣言、異なる型の間の代入・演算における優先規則などについて講義する。
第5回 繰り返し演算のための種々のDO構文を導入すると共に、素数計算、ソーティングなどの、やや複雑なアルゴリズムに取り組む。
第6回 前回の続き、ならびに正確なデータ処理に必須の、出力形式の設計について講義する。
第7回 配列データの扱いについて講義する。
第8回 前回の続き、ならびに、並列計算の概念を講義する。
第9回 文字データの扱い方と、大量のデータを取り扱うのに必要なファイルデータの入出力の仕方を講義する。
第10回 サブルーチンとユーザ定義関数副プログラムについて講義する。変数の有効範囲、動的アロケーションなど、やや高度で重要な概念を導入する。
第11回 前回の続き、ならびにオプション指定、再帰呼び出しなどについて講義する。
第12回 余裕があれば、構造型、ポインタ、モジュールという、Fortran90で新設された、大規模プログラムの開発に必要な、やや高度な概念について講義する。
第13回 講義予備日、課題レポートの仕上げ援助。


参考文献(培風館 「Fortran90プログラミング」冨田博之著)を参照のこと

各回の授業体制
各テーマごとに講義と実習を交互に実施し、作成したプログラムと実行結果をレポートとして提出してもらう。授業内容の性格上、前半は可能な限りレポートを添削して返却し、再提出も受け付ける。相談のためのTAも配置されるが、コンピュータ利用やプログラム作成にあたっては、受講者間で教え会い、議論しながら完成することも大いに奨励する。
成績評価の方法・観点
10回程度のレポートを課し評価して、総合得点で評価する。
履修要件
学術情報メディアセンターの教育用計算機システムの利用資格を有すること
教科書・参考書等
培風館 「Fortran90プログラミング」(冨田博之著)
https://www.amazon.co.jp/exec/obidos/ASIN/4563014095/249-2053638-0063527

「シミュレーション概論」(冨田博之)講義ノート
http://www7b.biglobe.ne.jp/~fortran/education/simulation/index.html

<その他>
講義ノート・講義参考資料(総合人間学部 冨田博之)
http://www7b.biglobe.ne.jp/~fortran/education/text.html
PAGE TOP