◎第1回 導入
◇下へ・一覧へ
はじめに
○この授業の目的
・プログラム言語を学ぶのではない
・問題を整理してアルゴリズムを作成する方法を学ぶ
・C 言語による簡単なプログラムを作成する方法を学ぶ
(・さらに課題の報告を通して技術文書の書き方を学ぶ)
○テキスト
・阿部 圭一 著: 「ソフトウェア入門 第 2版」 (共立出版)
・PADという図とプログラミング言語を用いたプログラムの作り方
についての入門書
○進め方
・基本的にはテキストに沿って進める。
・毎回、短い講義とそれに即した演習を行なう。
さらに、課題を出すので、原則として次の回までに提出する。
課題は、読みやすいように形式を整えたレポートに
まとめて提出する。
・PAD図 や「擬似コード」を用いて、アルゴリズムを学び、
徐々に、そのアルゴリズムにもとづきプログラムを作っていく。
◇下へ・上へ
○その他
・講義の説明内容は、WWW で見ることができる。
・テキストでは、Pascal という言語について、説明してあるが、
この演習では C言語 を用いる。
アルゴリズムを考える点で両者に大きな違いはない。
(参考 「 Pascal と C」「テキストの実例」 )
・PAD図をコンピュータ上で作成する方法を用意する。
○「コンピュータリテラシー」から「基礎プログラミング及び演習」へ
・「コンピュータリテラシー」一では主にでき上がったプログラムを使う
ユーザとしての使い方を学んだ。
・「基礎プログラミング及び演習」( 以下 ip )では、より「工学的」になり、
おもに問題解決のプログラムをどうやって作るかの方法論を学ぶ。
・ 実際にプログラムを作るより、
問題を整理する、
処理手順(アルゴリズム)を考えること
が大事である。
○基本概念用語
テキストの第1章で用語概念の説明があるので通読すること。
概念用語
◇下へ・上へ
○プログラミングとは (テキスト 1.4 p.10)
解決したい問題の分析、検討
↓
プログラムの仕様の決定:自然言語で記述
↓
「アルゴリズム」: プログラミング言語に依存しない
↓ 具体的処理手順の記述
プログラム
↓
計算機による実行
人間の作業は、
「解決すべき問題を分析し、アルゴリズムを記述する。」
人間が一度に考えられることはそれほど多くないので
一度に少しずつ決めていく。
○アルゴリズムの表現法(この演習で)
1. 手順表‥‥‥自然言語を使って箇条書きにする
2. PAD(Program Analysis Diagram)‥‥‥手順を視覚的に図示
pad2ps:PADを書くためのプログラム(C言語like)
3. 擬似コード‥‥‥自然言語をコード化(C言語like)
4. C言語プログラム
○演習1 (演習時間中に行なう。)
今回はこれからの演習を進めるための道具となるソフトウェアを
使う練習などを行なう。
1.1 コマンド pad2ps の練習。
pad2ps は、PAD の形を指定するテキストファイルから
PAD 図を表示したり印刷したりするための
ポストスクリプト(ps)ファイルを作るコマンドである。
作成した ps ファイルは、ghostview コマンドで、画面に表示したり、
lpr で印刷したりできる。
1.2 PAD についてすこし勉強
第2、3回で詳しく勉強する。
【余裕のある人】はここをクリック!
◇一覧へ・上へ
○レポート課題1 ( 次回に紙で提出 ) (解答)
( レポートの書き方(含提出) を参照すること)
1.1 演習1.1 の”電話をかける”のような連続した処理で、”5ステップの
処理”を日常の身近なところから探しなさい。そして、演習で使ったファイル
を編集して、その処理の PAD を出力せよ。論理性と若干の
”品”があれば自由に定めてよい。
この処理は、いつでも通用するだろうか?
いかなる場合に通用しないか。また、その場合にはどんなことを
考えればいいかを自由に論ぜよ(200字以内)。
1.2 後にわかるように、プログラムには、すべてのおこりうる場合に
対して計算機が何をすべきか、あらかじめ示しておかねばならない。
テキスト p.6【例 1.1】、p.7【演習 1.1】を参考にし、
a,b,cが任意の値をもつ2次方程式を、解の公式を用いて解く手順を
手順表(自然言語(日本語または英語)で箇条書き)で表せ。
(具体的には判別式を用いて、解の種類を分類する。
複素数は、実部と虚部をそれぞれ求める。)
複素数知らない?忘れた?勉強せよ。
1.3 プログラムの作成過程を200字以内で説明せよ(テキストp.18 [復習1.6])。