Cygwin でプログラミング 2018/4/9 千葉 数値計算は計算プログラムを書いて行うわけですが プログラムには様々な 言語 があるので そのうちどれかを選択する必要があります プログラム言語には 人間が書いたプログラムを一度計算機用に翻訳したのち計算を実行するものと 人間が書いたプログラムを計算機が読んでそのまま実行するものとがあります ( 若干不正確な説明ですが ) 前者を システム言語 後者を スクリプト言語 といいます システム言語には FORTRAN や C C++ といったものが含まれます これらの言語を用いてプログラムを書く場合 一度 計算機が理解できるように翻訳する コンパイル という手順が必要となります コンパイルする機能を持つものを コンパイラ と呼び 人間はコンパイラを使って自分の作ったプログラムをコンパイルすることになります コンパイラは 実行形式 ( ロードモジュール ) と呼ばれる 計算機が理解できる形式のファイルを作成してくれます そして この実行形式を動作させると計算が実行されます ただし もしコンパイラが理解できないプログラムの書き方 ( 文法のミス等 ) をしていると コンパイラが文句を言ってきます この場合 実行形式は作成されません このような場合にはその原因 ( バグ ) を取り除かなければなりません また コンパイルがうまくいって実行形式が生成されても 実行する段階で文句を言われることもあります この場合でもバグ取りが必要です 最もタチの悪いのは 計算自体は行われるのですが結果が期待したものにならない場合です この場合のバグ取りが一番大変です 一方 スクリプト言語には Python などがあります スクリプト言語はプログラムをそのまま計算機が理解してくれるため コンパイルが不要となります スクリプト言語は使いやすく かつ習得しやすい という利点がありますが 一般的に計算処理が遅いという問題があります ( 近年は解決しつつあるようです ) プログラミングを行う場合には 利便性の観点から 私は Windows ではなく UNIX が OS として搭載された PC を利用しています ただ UNIX マシンを持っていない人が UNIX を使いなさい と言われても困ると思いますので Windows ベースで UNIX マシンを用いた感じのプログラミングを行える環境の一つである Cygwin を紹介しようと思います ( 私がこれしか知らないだけで もっと良いものが他にもあるとは思います ) まあ とりあえず Cygwin をインストールしてみましょう 以下のサイトに Cygwin の使用方法などが掲載されていますので アクセスして下さい
http://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin.htm 2018/4/6 時点でアクセスできませんでした 今だけアクセスできないかもしれませんので 復活するのを待ちましょう もしくは以下のサイトも参考になるかと思います なお 以降の説明では最初に紹介したサイトがアクセスできるという前提でいますのであしからず https://www.sw.it.aoyama.ac.jp/2011/cp1/cygwin/ 上記のいずれのサイトでも Cygwin をインストールするため 以下のサイトにアクセスするよう指示されています www.cygwin.com 実際にこのページにアクセスすると 以下のような画面が表示されます Cygwin のインストールを行うためには 上記画面の下にある install it by running setup-x86.exe (32-bit installation) or setup-x86_64.exe (64-bit installation) の setup***.exe のどちらかをクリックして下さい( 皆さんの計算機が 32 ビットか 64 ビットかで決まります その判別方法はネットで検索して下さいc) あとは Cygwin の使用
法が書かれているサイトの指示通りに進めて下さい ダウンロードサイトは日本のものが早いのではないかと思います ( なお 以降は 2015 年 4 月に試したものですので 今は少し変更があるかもしれません ) パッケージの選択では 使用法サイトに記載されているように Devel の gcc:fortran gcc:c++ をインストールするとともに Python Perl も使えるようにするため Python Perl もインストールして下さい インストールにはそれなりに時間がかかるようです ( 私の場合は 20 分くらい ) インストールが終わると デスクトップ上に Cygwin Terminal という名前のアイコンができています ダブルクリックして起動することを確認して下さい 起動すると 俗に言う 端末 ターミナル の画面がでてきます ここからは UNIX の基本的な知識が必要となりますので 分からない人は自分で頑張って勉強して下さい ( 例えば 以下が参考になります :http://www.cc.kyoto-su.ac.jp/~hirai/text/unixcommand.html) なお 端末上の位置は インストールしたパソコンの OS(C:)/Cygwin/home/ ディレクトリに対応します つまり プログラムをテキストエディタ ( メモ帳とか ) で作成し このディレクトリ上に保存すれば 端末上で操作できるので UNIX を知らなくても対応できます さて 今回は Python でプログラミングをすることを推奨しているので Python がしっかりインストールされているか確認しましょう Cygwin の画面上で python と打ち込んでみて下さい 以下のように python のモードになっているようならば 正常にインストールされたことになります
さて Python ですが 以下のページが参考になるので 勉強してみて下さい http://www.python-izm.com/ また Python を使うにあたっての注意点を 以下にいくつか示しておきます Python はインデントでのブロック構造となっています 解説のホームページにおけるプログラムでただの空白に見えるところも TAB キーでインデントの扱いをする必要があります 配列は リスト を利用することになるでしょう データの取り出し :http://d.hatena.ne.jp/yumimue/20071205/1196839438 多次元のデータ :http://atkonn.blogspot.jp/2008/01/python7.html ( ただし 多次元のリストの容量を最初に確保する場合は要注意 : http://sonickun.hatenablog.com/entry/2014/06/13/132821) Numpy の Array( 推奨 ):http://rest-term.com/archives/2999/ ループ(for 文 ) では range 関数を利用するのが一般的のようです : http://python.keicode.com/lang/control-flow-loop-for-while.php
以上