情報処理演習資料

今日の内容
プログラム(program)
2. プログラミング言語
3. プログラミング言語 Pascal
4. なぜプログラミングを学ぶのか？
5. メッセージを表示するプログラム
6. 入力した内容を保存し、表示するプログラム
7. ２数の和を計算するプログラム
8. プログラムの意味
9. 実行の様子をたどってみよう
10. Delphi 統合環境の使い方の概要
11. 今日の練習問題
1.

第4回
プログラムとは何か

1. プログラム(program) どのようなことを行うのかを前もって書き記したもの
 仕事の手順を指示する命令書

2. プログラミング言語
プログラムを書くための言葉
人間 自然言語

先生

主催者

人間

運動会のプログラム

コンサートのプログラム

計算機のプログラム

生徒・父兄

入場者

計算機

Pascalプログラミング言語
他にも Basic、C++、Javaなどがある。

コンピュータ 機械語

3. プログラミング言語 Pascal
 情報処理教育用の世界標準の言語である。
 きれいな、分かりやすいプログラムが書ける。
 英語のようなもの。
 N. Wirth（ビルト）が1970年に設計した。

名前の由来
Blaise Pascal（1623-62）
フランスの数学者・物理学者・哲学者

計算機プログラムとは？
 計算機プログラムとは？

– ある問題を解くための計算の手順（順序）書であり、その問題の解法の定義書である。
2000円の予算で、５人にアイスクリームを買う
 計算の要素

Ice代:= Iceの価格× (1+0.05);– 数値演算、– 選択、– 反復、
if Ice代 > 400円 then
– 順序付け、高すぎる！
– 入出力、else– 記憶（変数）、手頃な値段！
並びに、これらの組み合わせ

1

情報処理演習資料

プログラムとアルゴリズム
 アルゴリズム：実際の記述方法に拠らない解法の手順
 プログラム：アルゴリズムを、特定の記述形式（プログラミング言語）で書き表した物

4. なぜプログラミングを学ぶのか？
 人間の労力を省くため問題解決の方法を学び計算機に仕事（計算）をさせる。
• 大規模計算（風力、弾道、圧力、熱量..）、変換（暗号化、翻訳..)• 検索（図書検索、Web検索..)、分類, 通信

プログラミングに要する時間と、人間が自分自身で行う時間とのトレードオフを考える！
 人間の思考過程や計算（機）の仕組みを理解

アルゴリズムアルゴリズムするため– 人間は、物体や事象、問題を、どのように認識し、理解し、どう考えているのか？また、問題を解決するために、何をしているのか？
– 計算機は、どのようにして、命令を実行しているのか？

記述形式
プログラム

5. メッセージを表示するプログラム

6. 入力した内容を表示するプログラム

program hello;{$APPTYPE CONSOLE}
uses SysUtils;
begin
writeln('Hello.')end.

program Konnichiha;
コメント{$APPTYPE CONSOLE}（//から行の最後まで）（波括弧で囲まれた文字列）
uses SysUtils;
プログラムの実行には影響し
var name: string; // 文字列型 ない記述

特殊記号

おまじない
本体

プログラムを読む人間に対するメッセージ記号

読み；

セミコロン

文の区切り

意味：

コロン名前と型名の区切りなど例）var a, b : integer;

begin
writeln('あなたのお名前は？');readln(name); {キーボード入力}
writeln('こんにちは、', name, 'さん！');readln• nameという名前の変数を使うと言う宣言をする
end.

,

カンマ

記号の区切り

.

ピリオド

文の終り

'

シングルクォート

文字の指定• 変数name（値を入れる箱）に名前を入力してもらう

空白語の区切り• それ（変数nameに入っている値）を画面に表示する

7. ２数の和を計算するプログラム
program sum;
プログラム開始宣言{$APPTYPE CONSOLE}
uses SysUtils;
var a,b,c:integer;
変数宣言
begin
write('Enter two integers ');本体
readln(a, b);c := a + b;
プログラム終了時にwriteln('sum = ', c);
画面が消えてしまう
readlnのを防ぐために、こend.の１行を入れる。

この例からパスカル・プログラムの一般的な形を理解せよ。

8. プログラムの意味
var a, b, c:integer

変数宣言

a、b、cと名前が付いた3つの箱、メモ用紙を準備する。
-2,147,483,648 ～ 2,147,483,647 の整数が入る箱

readln(a, b)

入力文

キーボードからデータを読み込んで a、bの箱へ保存する。

c := a + b

代入文

変数a、bの中身を調べ、和を求めてcの箱に入れる。

writeln('sum = ', c)

出力文

メッセージと変数cの中身を画面に書け。

2情報処理演習資料

9. 実行の様子をたどってみよう…
begin
write('Enter two integers ');readln(a, b);c := a + b;
writeln('sum = ', c); readln
end.

実行時の画面表示
Enter two integerssum = 7

キーボードからの入力
3 4

PASCAL トレーサー（http://cl.is.kyushu-u.ac.jp/Literacy/pascal-tracer.html）
を試してみよう。

Delphi 統合環境の起動
 Delphi の統合環境はスタートメニューから起動する。

[プログラム]→[Borland Delphi 6]→[Delphi 6]をクリックすると起動する。

10. Delphi統合環境の使い方の概要
今後のプログラミングの手順を簡単に紹介する。
(1)(2)

Delphi 統合環境の起動
アプリケーションの新規作成作成するアプリケーションの種類を選択し、プログラムの入力の準備をする。

(3)
(4)

プログラムの入力・修正
プログラムのコンパイル
プログラムに文法的に誤りがないかをチェックする。
誤りがあれば(3)に戻って、誤り箇所を修正する。

(5)

プログラムの実行
やっとプログラムが動く？
意図した動作と違う動きをする場合は、(3)に戻ってプログラムを修正する。

(6)

Delphi 統合環境の終了
普通のソフトウェアと同じように終了する。

• Delphi をスタートメニューから起動すると、下のように多くのウィンドウが開くが、これらはウィンドウ・アプリケーション作成用であるので当面使用しない。
• 新規作成のボタンをクリックする。
新規作成のボタン Delphi で保存したファイルがある場合は、そのファイルのアイコンをダブルクリックすると起動する。
¾ この場合は、この後すぐに「プログラムの入力・修正」を行う。

アプリケーションの新規作成
 新規作成ウィンドウ内の「新規作成」タブをクリックする。
 表示されるアイコンの中の「コンソールアプリケーション」を選択する。
 [OK]ボタンをクリックする。

プログラムの入力・修正
 エディタのウィンドウが開き、その中にプログラムの概要が書かれている。
 残りを入力して、プログラムを完成させる。
• 入力した文字はカーソル位置に挿入される。
• 新しく行を作りたいときには、行の先頭にカーソルを移動させて、[Enter]キーを押す。

コンソールアプリケーション
グラフィカルなインタフェースを使用しないアプリケーションのことで、コンソールウィンドウ内で実行される。文字だけの入出力を行う。

注釈• 1行入力したら、行の終わりで[Enter]キーを押す。
• プログラムを入力しているときに Delphi が注釈を表示することがあるが、気にせずに入力する。もちろん、参考にしても良い。

3情報処理演習資料

プログラムの保存プログラムの検査・実行

 メニューバーの[ファイル]→[プロジェクトに名前 メニューバーの[実行]→[実行]をクリックして、を付けて保存]を選ぶ。
 ファイル名を入力して、[保存]ボタンをクリックする。

作成したプログラムを実行する。
– 正しく書かれたプログラムは実行される。
– 誤りがあれば、メッセージが表示される。
• メッセージを頼りに、誤りの原因を探し、修正する。
• 修正したら、もう一度実行してみる。

ファイルの種類は「Delphiプロジェクト」のままにしておく。

Delphi 統合環境の終了
 下の2通りのどちらかで統合環境を終了する。

– メニューバーの[ファイル]→[終了]をクリックする。
– メニューバーのあるウィンドウの右上にある [×]ボタンをクリックする。

11. 今日の練習問題
四則演算
和 +、 差 -、 積 *商div
5 div 3 = 1 (divide)
余り mod 5 mod 3 = 2 (modulo)
宿題

終了ボタン

自分で計算したい式を3つ考えてくる。
物理、数学、経済などの公式でよい。

例) 縦と横の長さから四角形の周囲の長さを求める。
四角形の周囲の長さ ：length
縦：height、横：width
readln(height, width);
length := 2 * (height + width)4