基本情報技術者試験
情報技術者試験まとめへ

基礎理論(6)

アルゴリズムとプログラミング

プログラミング


プログラム言語を使ってアルゴリズムを記述すること

プログラミング作法

プログラミングをするときに守らなければならない(守った方が良い)ルール

code @インデンテーション(インデント)
 字下げのこと。プログラムを記述す
 るとき、適宜字下げを行うことでプ
 ログラムが見やすくなる
A命名基準(命名規則)
 ソフトウェアコード内に記述するプ
 ログラム名や変数名などの名前を付
 けるときの規則のこと。使用できな
 い文字列や大文字と小文字の区別な
 どがある
Bネスト(入れ子)
 条件の中にさらに条件を付けて処理
 を分岐させるなど何段階も処理を組み合わせたプログラムの構成のこと。あまり
 深すぎるネストは、処理効率が下がったり、エラーが発生したりするのでネスト
 の深さには注意が必要
C予約語(使用禁止命令)
 プログラムの仕様上、決まった意味を持つ単語のこと。プログラム名や変数名な
 どに予約語と同じ名前を付けることは出来ない

コーディング基準

プログラムを行うメンバ間でプログラムを記述するときに決めておくルールのこと
プログラム開発の効率化や品質の均一化の実現のために必要

変数名を付ける基準
コメントの書き方   など

プログラム構造

プログラミングは信頼性や保守性の観点から、機能、処理、流れなどによって独立性のある小さな単位(モジュール)に分解する。モジュールに分解してプログラムを構造化することで、処理効率の良い、再利用性を考えたプログラムを作成できる
よく使う処理をひとつのモジュールとして完成させておき、そのモジュールを使用することで信頼性の高いプログラムを作成できる
モジュールに分解するとき、もとになる大きなプログラムを「メインルーチン」または「主モジュール」、分解した小さな単位のプログラムを「サブルーチン」または「サブモジュール」という

主・サブモジュール

Webプログラミング

インターネットの技術を利用したプログラムを作成すること。Webプログラミングで作成したプログラムは、Webサーバに配置する。クライアントはWebサーバにアクセスし、プログラムを実行する

静的なプログラム

HTMLやXMLなどのマークアップ言語を使用し、文章や画像を表示できるWebページのこと

動的なプログラム

クライアントからアクセスされたタイミングで、PerlやPHPなどのプログラム言語で作成したプログラムをWebサーバ側で実行し、結果をクライアントのWebブラウザに表示する
(例)掲示板システム、アクセスカウンタ、データベースアクセスなど

プログラム言語


代表的なプログラム言語

代表的なプログラム言語の種類
種類特徴
低水準言語機械語
(マシン語)
CPUが理解できる2進数の命令コードで記述する言語
CPUの種類ごとに異なる
アセンブラ語人間が読みやすいように機械の命令部分を記号にした言語
高水準言語C言語もともとOS「UNIX」の開発のために作られた、代表的な構造化言語。アプリケーションソフトウェアから組込システムまで、多様な分野で汎用的に利用
C++C言語にオブジェクト指向の概念を取り入れた拡張版
Javaインターネット関連技術や分散システム環境で広く利用されているオブジェクト指向言語。C++をモデルとして作られた。Java仮想マシン(JavaVM)と呼ばれる実行環境上で動作するため、異なるハードウェアやOS上でも実行可能
COBOL主に事務処理を目的として開発された言語。汎用コンピュータなどで利用
FORTRAN科学技術に関する計算処理に適するとされる言語。世界初のプログラム言語
BASIC比較的初心者向けのパソコン用プログラム言語。派生形のWindows上アプリケーション開発ができる「VisualBasic」が特に有名。インタプリンタ型言語
PL/I
(ピーエルワン)
科学技術計算と事務処理関連のプログラム開発に適した汎用的な言語
Pascal
(パスカル)
教育用プログラミング言語として開発された構造化プログラムに適した言語
Java
作成されるプログラム技術仕様

Javaアプリケーション
 Webブラウザとは別に独立して動作するJavaで作成したプログラム
Javaアプレット
 Webブラウザと連動して動作するJavaで作成したプログラム
Javaサーブレット
 Webブラウザの要求に応じてサーバ側で実行されるJavaで開発された
 プログラム

Javaの技術仕様

JavaBeans(ジャバビーンズ)
 Java言語で部品化されたプログラム(Bean)を作成するための技術仕様
 部品化したプログラムを再利用して組み合わせることで、新たなプログラムを
 開発できる

スクリプト言語

簡易プログラム(スクリプト)を記述するプログラム言語

Perl
(パール)
テキスト処理に適している。Webページの掲示板システムやアクセスカウンタなどのCGIで使用
PHP動的なWebページを作成する。Webサーバ側で動作する
Python
(パイソン)
テキスト処理だけでなく、アプリケーションソフトウェア開発にも適している。オブジェクト指向言語
Ruby
(ルビー)
テキスト処理に適している。文法がシンプルなオブジェクト指向言語

プログラム言語の分類

プログラム言語はコンピュータが理解するために翻訳が不要な「低水準言語」から、翻訳が必要だが人間が理解しやすい「高水準言語」へと発展してきた

種類説明
手続き型言語処理手順を記述するプログラム言語
C言語、COBOL、Fortran、BASIC、PL/I、Pascalなど
非手続き型言語処理手順を意識しないで記述するプログラムプログラムプログラム言語
オブジェクト指向言語のJava、C++など
オブジェクト指向言語

データと属性、メソッドをまとめてオブジェクトとしてとらえ、オブジェクトの操作を記述するプログラム言語。Java、C++など

関数型言語

関数を組合わせて処理を記述するプルグラム言語。LISPなど

論理型言語

論理式の集まりで処理を記述するプログラム言語。真(true)と偽(false)の2種類の値だけを扱うもっとも単純な構造の型

OMG(Object Management Group)

オブジェクト指向技術の標準化を行う団体のこと

マークアップ言語


見出しや段落、表、図形など文書の構造に関する指定をテキストファイルに記述するプログラム言語

マークアップ言語の特徴

スキーマ言語

マークアップ言語で文章を作成するときに、マークアップ言語自体を定義するメ タ言語のこと
DTD、XMTSchema(スキーマ)などがある。マークアップ言語で文章の構造化を行う際に、使用するスキーマ言語の先生が必要になる場合がある

タグ

スキーマ言語で定義されている見出しや段落など、文書を構成する要素を表すときに使われる記号

スタイルシート言語

文章のレイアウトや表示方法などのデザインを定義する場合に使用する
CSSやXSLなど

CSS:段階スタイルシート
XSL:拡張可能なスタイルシート言語

マークアップ言語の種類

HTML

SGMLをもとに開発されたWebページを作成するときに記述するマークアップ言語のひとつ
見出しや段落などの文章の構造を記述する
HTMLファイルとCSSファイルを組み合わせて利用する

名称説明
HTMLファイルHTMLのスキーマ言語(DTD)の宣言と、文章の構成を、タグを使って記述したファイル
CSSファイルHTML用のスタイルシート言語(CSS)で作成したスタイルシートファイル
SGML

マークアップ言語のひとつ。データ交換を容易にすることを目的として開発された文書ファーマットで、電子出版や文書データベースなどに利用されている

XML

インターネット向けに最適化されたデータを記述するためのマークアップ言語。タグを独自に定義することが出来ることから、拡張可能なマークアップ言語と言われる
ネットワークを介したデータ交換やコンピュータの動作環境の定義などを行う場合に利用される
ITサービス、企業のインターネット上での情報公開や電子商取引などで幅広く利用される
XMLファイル、XMLSchemaファイル、XSLファイルを組み合わせることが出来る

名称説明
XMLファイル文書の構成をタグを使って記述したファイル
XMLSchemaファイルXMLのスキーマ言語(XMLSchema)で作成したファイル。XMLファイルに記述されている独自のタグを定義したり、データの範囲を定義したりする
XSLファイルXML用のスタイルシート言語(XSL)で作成したスタイルシートファイル
RSS

Webページが更新されたことが一目で分かるように、見出しや要約などを記述したXMLベースのファイルフォーマットのこと

XMLファイルを操作、活用する技術
名称説明
DOM
(ドム)
プログラムからXMLファイルを操作するときに利用できるAPI。XMLファイルのタグのデータを取り出したり、XMLファイルを更新したりできる。XMLファイルの構造をツリー化(DOMツリー)し、XMLファイル全体を読み込んだ後に処理を開始する。XMLファイルの内容はメモリ上で展開されるので、その分メモリの容量も必要になる
SAX
(サックス)
プログラムからXMLファイルを操作するときに利用できるAPI。XMLファイルのタグのデータを取り出せるが、XMLファイルを更新できない。XMLファイルの内容を先頭から順に処理を行う。DOMと比べて、必要とされるメモリ容量を抑えることが可能
SOAP
(ソープ)
他のコンピュータ上にあるデータやサービスにアクセスするためのプロトコル。XMLに付帯情報を付けたデータ(SOAPメッセージ)をHTTPなどをベースにして通信する
SVGベクター画像を記述する言語。XMLをベースとしている
ベクター画像

画像を構成する点の位置とその角度で処理させた画像のこと。作成した画像を拡大したり変形したりして点と点の位置の関係が変わらないため、ギザギザにならず、画質が低下しない(ドロー形式)

ビットマップ画像

画像全体を点単位で処理された画像のこと
JPEG、GIFなど

XHTML

XMLをもとにHTMLを改良したマークアップ言語。見出しや段落などの文書の構成を記述する。記述方法はHTMLとほとんど同じ。HTMLよりも記述方法が統一されているため、コンピュータが内容を理解しやすいという特徴がある

XHTMLBasic

携帯電話や携帯情報端末などさまざまなデバイスからXHTMLで記述された文書を表示でいるようにする仕組みのこと、XHTMLの必要最小限のモジュールだけで構成されている

Modulation of XHTML(XHTMLのモジュール化)

W3cによって勧告された「XHTML1.1」で定義された使用のこと。リストや表、画像などの機能ごとに定義したモジュールを組み合わせることで、新しい定義型をすることが出来る

 

ページトップへ 次へ