プログラミング法 I

 

担当:渡部広一(わたべひろかず)

[部屋] YM225 [電話] 0774-65-6435 (内線6435) [Email] hwatabe@mail.doshisha.ac.jp

[ホームページ] http://indy.doshisha.ac.jp/~watabe

 

【主題と目標】

 プログラミング言語Cの文法について講義をすると共に, 実際にコンピュータを用いて演習を行うことにより, C言語によるプログラミングの基礎を養い,コンピュータに対する理解を深めることを目標とする.

使用テキスト:

河西朝雄著「入門ソフトウェアシリーズ@C言語」, ナツメ社

参考テキスト:

B.W.カーニハン/D.M.リッチー著,石田晴久訳,

「プログラミング言語C」,共立出版

授業計画

 第1回 プログラムの作成と実行

第2回 [第1章]Cの基本的なきまり

 第3回 [第2章]コンピュータとの入出力

 第4回 [第3章]制御構造

 第5回 [第4章]配列

 第6回 演習

 第7回 [第5章]ポインタ

 第8回 [第6章]関数

 第9回 [第7章]制御構造II[第8章]C特有の演算子

 第10 [第9章]構造体と共用体

 第11 [10]データ構造と記憶クラス,[11] プリプロセッサ

 第12 [12]標準ライブラリ関数,[13] ァイル処理

 第13 演習

試験

試験期間中に筆記試験を行う.

レポート

 ほぼ毎回レポート課題を課す.

授業中必要なもの

 

・プログラミングってなに?

 コンピュータに何か仕事をさせたいときに,コンピュータがわかる言語で,その仕事の指令書を作る事をプログラミングという.

・なぜ,プログラミングが必要か?

(1)コンピュータの仕組みや動作について深い洞察を得るには,自分でプログラムを書いてみることが近道である.

(2)まだ作られたことのない,新規な機能を実現するようなプログラムは当然新たに作成しなければならない.

(3)プログラミング自体を娯楽として楽しむ.

・プログラミングが出来るようになるためには

(1)コンピュータの操作法を修得する.

・エディタの使い方

・コンパイルリンクの方法

・プログラムの実行方法

(2)プログラミング言語(ここでは,C言語)の文法規則を理解する.

・文法規則を理解するには,実際に試してみることが重要

(3)各種のアルゴリズム(問題の解法)を理解する.

・コンピュータは問題の解き方を知らないので,解き方を詳細に指示してやらなければならない.その解き方のことをアルゴリズムと言い,アルゴリズムをプログラミング言語で記述したものをプログラムという.

(4)デバッグ(プログラムの間違いを見つける事)手法を身につける.

(5)よいプログラム例をたくさん読んで理解する.

・まず,真似をすることから始めるとよい.

・授業の進め方

(1)テキストに沿って簡単に説明する.一回の授業につき一章が目安.場合により二章進む.あらかじめテキストを読んでおくこと.

(2)各自,例題を理解するように努めること.そして例題を参考にして練習問題に取り組み,実際に入力して,実行してみること.授業時間中にはこの作業は完了しないと思われるので,適当な空き時間を利用して自習すること.また,自分でパソコンを持っている人は,C言語の処理系ソフトを購入するか,C言語のフリーソフト(LSIC86と呼ばれる製品のお試し版: MS-DOSで動作する.コンピュータ基礎実習の授業で配布済み.引き続き,教材転送チャンネル1でコピーできる)を自分のパソコンにインストールして,自習するとよい.

(3)ほぼ毎回,演習問題を出すので,その問題を解くプログラムを作り,レポートとして提出すること.

成績の付け方

 基本的に期末試験の成績(レポートは参考程度)

 

授業グループ名:

 

プログラムの作成と実行

 

操作概要

  1. WINDOWSからMSC for DOSアイコンで,MS-DOS環境を起動し,MS-DOSをウインドウ表示にする.(MS-DOSのフル画面表示とウィンドウ表示の切り替えは, [Alt]+[Enter] )
  2. 秀丸エディタを使って,プログラムを入力する.
  3. MS-DOSで,コンパイル・リンクを行う.
    1. エラーがあれば,エラーが出ている行番号とメッセージを参照して,エディタでプログラムを修正し,再び,コンパイルリンクする.
    2. エラーがなければ,プログラムを実行する.

  4. MS-DOSを終了するには,exit

 

操作例

(この例では,ファイル名をhello.cとしているが,ファイル名は,

  8文字以内の文字列.c

の形式で任意に付けられる.)

<秀丸エディタで>

プログラムを入力し,たとえば,hello.cというファイル名で保存する.

(ファイルの保存はフロッピーディスク(Aドライブ)にすること!)

(パソコンの事故に備えて,入力途中でも何度でも保存しておいた方がよい.)

MS-DOSで>

C:\MSC7> a:

(作業ドライブをフロッピーディスクに切り替える.ディレクトリを使っている場合は,所定のディレクトリに移動する.)

A:\> cl hello.c

(コンパイルリンクを行う.入力ミスなどがあれば,エラーメッセージが出る.)

A:\> hello

  (プログラムの実行)

A:\> exit

(MS-DOSの終了)

 

レポートの作り方

  1. 各問題ごとに,プログラムを作成し,コンパイルリンクして,実行し,結果を確認する.
  2. 実行結果がよければ,実行結果をプログラムの下に貼り付けて印刷する.具体的には,
    1. MS-DOSウィンドウの左上隅のMS-DOSマークをクリックし,[編集(E)]-[範囲指定(K)]を選ぶ.
    2. 実行結果をマウスで選択し,[Enter]
    3. 秀丸エディタで,プログラムの下に,以下のように入力し,*/ の前の行にカーソルを移動して,[編集(E)]-[貼り付け(P)] を選ぶ.
    4.  

      プログラム

      /* 実行結果

       

      */

    5. 秀丸エディタで,[ファイル(F)]-[印刷(P)]を選択する.
    6. 実行結果が1画面におさまらない場合は,
      実行コマンド | more (例:hello | more
      のように実行すると1画面ごとに表示が止まるので,各画面ごとに2.12.3を行ってすべての実行結果を貼り付けること. moreコマンドで表示を次の画面に進めるには[Enter]キーを押すこと)

 

<レポート課題1>

 簡単な例として,以下のCプログラムを入力し,コンパイルリンクして,実行し,プログラムと実行結果を印刷して提出せよ.

/* report 1 */

/* 1999年度 300 渡部広一 */

 

#include <stdio.h>

void main(void)

{

int i, n;

n = 20;

printf("レポート課題1\n");

for (i=0;i<n;i++)

printf("Hello %d\n", i);

}

 

 

 

 

 

 

 

 

 

 

 

 

MS-DOSコマンド(大文字でも小文字でもよい)

DIR  ファイルの名前,大きさ,作成変更日時を表示 します.

TYPE ファイルの内容を表示します.

COPY ファイルをコピーします.

DEL  ファイルを削除します.

(以上,手引きに説明あり)

PRINT ファイルの内容をプリンターで印刷します.

   (例) A:\> print hello.c

MD ディレクトリを作成します.

CD カレントディレクトリを変更します.

DISKCOPY フロッピーディスクからフロッピーディス クへまるごとコピーします.

DOSKEY このコマンド入力以降カーソルキー(上,下)で履歴が使える.