基礎理論 - 2.アルゴリズムとプログラミング - 3.プログラミング - 1.プログラミング

Last Update : April 12 2021 22:26:15

     

a. プログラミング作法とコーディング標準

プログラミングとは、プログラム設計書に基づいて、プログラム言語を使って、アルゴリズムを記述していくこと。
コーディングやコード作成ともいう。

プログラミング作法とは、コーディングを行うとき、決められたコーディング標準にしたがって行うこと。

  • 効率的にコーディングすることができる。
  • 他の人が見ても内容がわかりやすい。
  • コーディングミスが少なくなる。
  • 保守性が良くなる。
  • 品質の均一性が保ちやすい。

インデンテーション
字下げのこと。ソースプログラムを記述するときに字下げをして、見やすくする。

命名標準
命名規約・命名基準ともいう。
ソースプログラムで使用するプログラム名や変数名の名前付のルールのこと。
名前の長さや使用できない名前などを前もって決めておく。

ネスト
条件の中に再度条件を記述したり、繰り返しの中に再度繰り返しを記述するときのレベル・階層構造の事をネストという。
ネストの深さがあまり深いと効率が悪かったり、バグの元になったりする。入れ子とも呼ばれる。

コーディング標準
プログラミングに関わる人達の間で、プログラムの記述方法をルール化しておくこと。
コーディング標準を決めておくことで、プログラム開発の効率や品質の均一化ができる。

予約語
予約語とは、プログラミング言語の仕様で定められた、変数名や関数名として定義できない単語のこと。
言語の一部として定義されている命令語などは、同じ名前のユーザ定義変数が存在するとソースコードを正しく解釈できなくなるため、あらかじめ「予約」されていてプログラマが自由に使えないようになっている。
使用禁止命令ともいう。


b. プログラム構造

モジュールとは、1つの機能に分割されたプログラムで、独立してコンパイルできる単位をいう。
プログラムをモジュールに分割することで、

  • モジュールの独立性を確保
  • 処理効率の向上
  • 部品化・再利用が可能
  • 保守性の向上
  • 信頼性の向上

メインルーチン
モジュール分割時のもとになる大きなプログラムのこと
主モジュールと呼ばれることもある。

サブルーチン
分割した小さい単位のプログラムのこと
サブモジュールと呼ばれることもある。
プログラム言語でサブルーチン(言語によっては、関数、プロシージャなど)に引数を渡す方法には、一般に値呼出しと参照呼出しがあります。

  • 値呼出し
    引数を渡すときに、引数の値だけを渡して、記憶している場所は渡さない方法。メインルーチンとサブルーチンで、それぞれ変数の記憶領域を確保する。このため、サブルーチンで変数の値を変更しても、メインルーチンに戻ったときには元の値のままになる。
  • 参照呼出し
    引数の記憶領域(アドレス)が渡されます。つまり、メインルーチンとサブルーチンで、変数の記憶領域が共有される。したがって、サブルーチンでその変数に対して行った操作はメインルーチンに戻っても、そのまま有効になる。


c. データ型

データ型とは、変数やフィールドに格納するデータの種類のこと。
以下のタイプがある。

  1. 整数型
    整数値を扱う
  2. 実数型
    浮動小数点数や固定小数点数を扱う
  3. 論理型
    真理値(True, False)を扱う
  4. 文字型
    文字や文字列を扱う
  5. 抽象データ型
    オブジェクト型を扱う。データそのものとデータへの操作も一緒にして扱う。
  6. 構造型
    一つまたは、複数の値をひとまとめにして扱う。

d. Webプログラミング

インターネットの技術を利用したウェブアプリケーションのプログラミング、Web ソフトウェア開発を行うことである。
Web プログラミングでは、サーバ側で動作するプログラムとクライアント側で動作するプログラムの2つがある。
サーバ側でのプログラミングは、ウェブサーバ上で動くプログラミング言語を用いて行われる。このプログラミングは「サーバ・サイド・プログラミング」とも呼ばれる。例としてサーバサイトにつかう言語と環境として CGI + Perl や PHP、Ruby、Java Servlet + JSP + Enterprise JavaBeans + Spring Framework + Apache Struts(Java EE)、.NET(ASP.NET(C#,VB.NET)) などが挙げられる。
クライアント側のプログラミングは、ウェブブラウザの解釈できるプログラミング言語を用いて行われる。しかしながらウェブブラウザはウェブで公開された文書の閲覧に比重が置かれたプログラムであり、必ずしも恵まれたプログラムの実行環境ではないことが多い。クライアントサイド側として JavaScript や Adobe Flash でなどがある。
また Ajax を採用するプログラムであれば、サーバ側・クライアント側のプログラムが複雑に連携して機能を実現するので、より柔軟なサービスを提供することができる。しかし、それぞれの側のプログラムを別々に開発することが難しく、プログラマには両方の側で用いられる技術を深く習得することが求められる。
Ajax とはAsynchronous(エイシンクロナス) JavaScript + XMLの略で、Ajax は、JavaScript の HTTP 通信機能を使って、ブラウザとサーバが非同期通信を行い、 Web ページのリロードを行わないでサーバとデータのやり取りを行なう Web アプリケーションである。

マッシュアップ
マッシュアップ(Mashup)とは、複数の Web サービスの API を組み合わせ、あたかも一つの Web サービスのようにする機能のこと。
プログラミングの深い知識がなくても、既存の Webサービスを組み合わせて、短期間でアプリケーション開発ができることから、新しい開発技法として注目されている。

リッチクライアント
企業情報システムのクライアント環境のうち、アプリケーションの実行環境のみを搭載したもの。伝統的なクライアントサーバシステムのクライアントに当たる「ファットクライアント」と、アプリケーションをWeb化してクライアントにWebブラウザを使う「Webクライアント」(HTMLクライアント)の中間の性質を持つ。
リッチクライアントは、必要に応じてアプリケーションをダウンロードして実行するため、ファットクライアントに比べて配布や導入に手間がかからない。また、ネイティブアプリケーションとして実装されるため、Webブラウザをクライアントにする際の最大の弱点であるユーザインターフェースの貧弱さを克服し、ファットクライアントと同等の表現力や操作性を実現できる。両者の「いいとこ取り」に近い手法である。
最近では、サーバアプリケーションの実装や通信部分などで可能な限りWeb技術を転用し、クライアントにWebブラウザを独自拡張したソフトウェアを使うことでリッチクライアント環境を実現するアプローチが流行している。


  [ 例題 ] 
  1. 平成30年度秋期 問27  命名規約
  2. 平成27年度春期 問29  命名規約
  3. 平成24年度春期 問49  サブルーチン
  4. 平成24年度秋期 問28  命名規約
  5. 平成21年度秋期 問08  Ajax
  6. 平成20年度春期 問47  プログラミング
  7. 平成12年度春期 問65  サブルーチン
  8. 平成11年度秋期 問39  サブルーチン


     

www.it-shikaku.jp