プログラミング演習Iの紹介(高橋研究室)

< 最終更新日時: 2023-12-07 >

はじめに

注意 ここで紹介する内容は,平成 20 年当時のカリキュラムに基づいています. 現在のカリキュラムでは,類似した内容は 3 年前期の「情報処理II」で扱われています.

[写真1]演習のようす
写真1・演習のようす

長岡高専・電子制御工学科では,1年生の「基礎情報処理」の授業で HTML (Hyper Text Markup Language) による Web ページの作成を学びます. 2 年生の「情報処理」では C 言語によるプログラミングを学びます. そして,3 年生では夏休み中の選択科目として「プログラミング演習 I」か「プログラミング演習 II」のどちらかを学びます. このページで紹介するプログラミング演習 I では,次のようなことについて学習します:

各科目の詳細については,本校の シラバス (授業計画) の中から電子制御工学科の専門科目をご覧ください.

CGI について

CGI (Common Gateway Interface) とは,Web ページに動的な機能を持たせるための方法の一つです.

通常,Web ページは HTML と呼ばれるマークアップ言語を使って作成されますが,HTML だけを使った Web ページの内容は,Webサーバにアップロードされて公開された時点から変化しません. このように作成・公開された時点から内容が変わらない情報のことを静的な情報と呼びます. 本や雑誌,新聞,電話帳のような印刷物は,静的な情報だけしか伝えることができません.

これに対し,自分の Web ページを訪れてくれた人 (閲覧者) のそれぞれに対して,別々の情報 (動的な情報) を伝えることができれば,Web ページ作成者と閲覧者の間で,より親密なコミュニケーションが行えるようになります. CGI を利用して Web ページを作成すると,アクセスカウンタや日付表示などの簡単なものから,掲示板のようなデータベースと連携する複雑なものまで,さまざまな機能を実現することができます.

多くの場合,CGI を実現するには Perl と呼ばれるプログラミング言語が利用されます. Perl には文字列処理機能が優れているなどの,多くの利点があるのですが,電子制御工学科のプログラミング言語 I では,あえて 2 年生で学習した C 言語で CGI 作成を行います. これは,C 言語の基本事項を身につけるだけで,実用的でかつ面白いことが実現できることを知ってもらうためです.

具体例:万年暦 CGI

プログラミング演習 I の学習事項で作成できる CGI の例として,万年暦 (perpetual calendar) を紹介します. この万年暦 CGI は,西暦 1583 年~3999 年のカレンダーを,たちどころに作成するプログラムです.

【2017年8月25日】 CGIの動作に不具合が見つかり,調整中です(復旧するか未定です).

ちなみに,この万年暦 CGI は,現在世界中で利用されているグレゴリオ暦 (Gregorian calender) に従って閏年や曜日の計算を行います. グレゴリオ暦は西暦 1582 年 10 月 15 日 (金) から始まった暦で,それ以前はユリウス暦 (Julian calender) が使われていました. ユリウス暦からグレゴリオ暦への切り替えのために,西暦 1582 年は 10 月 4 日 (木) の翌日が 10 月 15 日 (金) と定められました. このため,西暦 1582 年 10 月 5 日から 10 月 14 日は歴史上に存在しません.