第一回-02 コンソールアプリケーションとGUIアプリケーション
前ページで学んだように、機械系学科であっても、ものを動かす際にはプログラミングが必須となる場合がある。
そのために本講義が設置されているというわけである。
本講義で学ぶ内容の概要を紹介する。
本講義で取り扱う環境について以下にまとめる。
- 言語:C および C++。なお、C を拡張したものが C++ である。本講義では C と C++ をまとめて C/C++ と書くことにする。
- 環境:プログラミング言語を C/C++ を決めても、それをどのような環境で学ぶかは人それぞれである。
従来、本講義では Microsoft により販売されている Visual Studio というソフトウェアに含まれる Visual C++ を取り扱って講義を行ってきた。
Visual Studio は情報科学研究教育センターの PC にインストールされているためである。
Visual Studio は無料でも利用可能であるため、皆さんの自宅の PC にインストールして利用することも可能である。
しかし、Visual Studio をインストールするための PC への要求条件はやや高く、
さらにインストールのために 10 GB 程度のファイルのダウンロードが必要となる。
そのため、受講人数の多い本講義で Visual Studio のインストールを必須とすると、演習に取り組めない学生が出て来る可能性が高い。
そこで、本講義では Visual Studio ではなく、ブラウザ上で動作するオンラインコンパイラと呼ばれるものを用いて講義を実施することにする。
オンラインコンパイラについては次ページで体験してもらう。
ブラウザが動作する環境であれば演習を実施可能であるので、原理的にはスマートフォンやタブレットでも受講可能であるかもしれない。
しかし、本ページではスマートフォンやタブレットで演習を実行する方法を解説しない。
スマートフォンやタブレットを用いるという学生は自己責任で行うこと。
プログラミングを学ぶ際、まずコンソールアプリケーションと GUI アプリケーションについて知っておくと今後の見通しが良くなる。
まず、プログラミングの基本と言えるコンソールアプリケーションについて紹介する。
例えば、以下のような C/C++ で書かれたプログラムがあるとする。
#include <iostream>
using namespace std;
int main(void)
{
cout << "はじめてのコンソールアプリケーション\n";
cout << "学籍番号 at13099 金丸隆志\n";
}
このプログラムをコンパイルおよび実行すると (「コンパイル」の意味は以後の講義で明らかになる)、
以下のように「コマンドプロンプト」というウインドウに、プログラム中に記されていた文字が現れる。
なお、「続行するには何かキーを押してください...」という文字は
システムが出力しているものなので気にしなくとも構わない。
「コマンドプロンプト」のことを「コンソール」ともいう。
「コンソールアプリケーション」とは、このように文字を入出力可能なコンソール上で動作するアプリケーションのことである。
本講義では、オンラインコンパイラ (後述) で演習を行う都合上、
このコンソールアプリケーションのみを対象としたプログラミングを解説する。
なお、一般に C/C++ の教科書を購入すると、このようなコンソールアプリケーションが対象になっている。
本講義では教科書は指定しないが、プログラミングを深く学びたいのであれば手元に一冊参考書を置いておくのも良いであろう。
その場合、簡単であることを強調した本よりは信頼性の高い本を選ぶことを推奨する。
例えば、以下の著者の本は信頼性が高いと言われることが多いように思う。
「制御構造 (for, while による繰り返しや if 文による分岐) 、関数、ポインタ」などについてまで学びたいのであれば C 言語の本を、
それらを含み、さらに「クラスを用いたオブジェクト指向プログラミング」まで学びたいのであれば C++ の本を買うのが良いだろう。
[C 言語]
[C++]
次に、GUI アプリケーションについて紹介しよう。GUI とは Graphical User Interface の略であり、
ボタンやメニューを持ったグラフィカルなプログラムのことを取り扱うというわけである。
以下のアプリケーションは、オフラインの講義で用いていた画像処理アプリケーションである。
「開く」ボタンを押して画像を開くことができる。
画像を読み込むと、以下のように画像とその左右対称な鏡像が現われる。
すなわち、このプログラムは画像を読み込み、その左右対称な鏡像を作成して
それぞれ表示するプログラムだというわけである。
このような GUI アプリケーションであってもやはり C/C++ で記述される。
なお、GUI アプリケーションのプログラミングを学ぶには C/C++ についての教科書だけでは不足であり、
Visual C++ の教科書でも学ばねばならない。例えば以下のようなものである。
[Visual C++]
ここまで解説すると、皆さんはコンソールアプリケーションではなく
GUI アプリケーションのプログラミングを学びたくなるのではないだろうか。
しかし、残念ながらGUIアプリケーションを作成するにはコンソールアプリケーションの知識は必須である。
すなわち、学習の順番としては
「コンソールアプリケーション」→「GUIアプリケーション」
と進めるのが自然な流れである。
さて、本講義ではオンラインコンパイラ (後述) を用いる都合上、全てコンソールアプリケーションを対象としている。
それではつまらない、という学生は、本講義の過去の資料をまとめた
を参考にすると、Visual Studio を皆さんの PC にインストールしてGUIアプリケーションを作成することを体験できる。
しかし、上記ページを学習しても本講義の単位とはならないし、上記ページに本講義の演習の解答が書かれているわけでもない。
文字通り「興味のある学生向け」の情報を提示するページ、ということである。
←何故プログラミングを学ぶのか
/
初めての C/C++ プログラミング→
オンラインコンパイラで C/C++ を自習しように戻る