「みちともデジタル」は、ITパスポート試験の合格を目指す方を応援する無料学習サイトです。

最新テクノロジ系「アルゴリズムとプログラミング」の用語集

ITパスポートシラバス6.2対応最新テクノロジ系アルゴリズムとプログラミングの用語集 分野別用語集

ITパスポート試験(シラバス6.2) テクノロジ系 アルゴリズムとプログラミング の出題傾向、学習ポイント、重要な用語を説明します。

スポンサーリンク

「アルゴリズムとプログラミング」の出題傾向

出題数

「アルゴリズムとプログラミング」から、3問程度(テクノロジ系45問中)出題されます。

*令和元年秋~令和6年過去(公開)問題の平均
出題傾向

平成6年過去(公開)問題では、「アルゴリズムとプログラミング」からは3問でした。

令和4年過去(公開)問題から、出題が増えました。

Ver.○.○の表示について
 用語が初めて掲載されたときの、シラバスバージョンです
 Ver.4.0Ver.5.0は、シラバスの比較的新しい用語です。
 Ver.6.0と同じく要注意用語です。
 表示がないのは、Ver.3以前からシラバスにある用語です。

データ構造

実際の問題で、考え方を理解しましょう。

データ構造

データ構造は、データを効率的に管理するための整理方法です。

データの出し入れを簡単にするために、一定の方式で収めたデータのあつまりです。

リスト、キュー、スタック、木構造、2分木などの種類があります。

テクノロジ系アルゴリズムとプログラミング36.データ構造

木構造

木構造は、大量の情報を整理する方法の1つです。

木構造の例(テクノロジ系アルゴリズムとプログラミング36.データ構造)

木構造は、節(node)と枝(エッジ)からできています。

植物に基づいて、階層で一番最初にくる親子を「根」、そして階層が一番最後の親子が「葉」と植物に基づいた呼び方もあります。

木構造の呼び方(テクノロジ系アルゴリズムとプログラミング36.データ構造)

問題をチェック! R4年 問90

テクノロジ系アルゴリズムとプログラミング36.データ構造

スタック

スタックでは、最後に格納されたデータを最初に取り出します。

スタックの説明図(テクノロジ系アルゴリズムとプログラミング36.データ構造)

問題をチェック! R元年 問62

テクノロジ系アルゴリズムとプログラミング36.データ構造

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

疑似言語の問題を解けるように、まずは用語を覚えましょう。

疑似言語

Ver.6.0
疑似言語は、アルゴリズムを表現するための擬似的なプログラム言語です。

問題をチェック!
R5年 問60 R5年 問64 R4年 問78

R4年 問96

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

Ver.6.0
式は、数量の事柄や関係を数学の+、-、=等の記号を用いて表現したものです。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

条件式

Ver.6.0
条件式は、値や式の比較や論理演算を組み合わせた式です。

計算結果は、真(true)または偽(false)となります。

プログラムの分岐の条件などに用いられます。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

演算子

Ver.6.0
演算子は、足し算や掛け算などの計算、値の大小を比べるときに使われる記号のことです。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

代入

Ver.6.0
代入は、変数に値を入れることです。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

注釈

Ver.6.0
注釈は、プログラムのソースコードの内容の補足・説明・解説のことです。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

入出力

Ver.6.0
入力の例として、キーボードによる数字や文字の入力があります。

出力の例としては、コンソール画面への表示があります。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

手続

Ver.6.0
手続は、複数の処理を一つにまとめたものです。

プログラム言語によっては、関数とも呼ばれます。

問題をチェック! R5年 問60

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

関数

Ver.6.0
関数は、ある値(引数)を渡すと、一定の処理がされて結果が返ってくる機能です。

関数の説明図(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

問題をチェック! R5年 問64

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

引数

Ver.6.0
引数は、関数などに受け渡す値です。

関数は、受け渡された値を使って処理を行い、結果となる値を返します。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

戻り値

Ver.6.0
戻り値は、関数などが処理を終了し、呼び出し元に対して渡す値です。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

データ型の用語です。

データ型

Ver.6.0
データ型は、普段、人が使っているデータ(数字、文字など)をパソコンに記録できる値に変換する仕組みです。

整数型、実数型、論理型、文字型などがあります。

各データ型には長所・短所があり、効率的なプログラムを組むためには、使い分ける必要があります。

問題をチェック! アルゴ 予想1

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

整数型

Ver.6.0
整数型は、整数を格納します。

整数型は、2の補数表示を使用すると、8ビットでは-128~127が扱えます。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

実数型

Ver.6.0
実数型は、実数を格納する変数の型です。

小数を表現できます。

また、表現できる数字の範囲が、整数型より広いです。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

論理型

Ver.6.0
論理型は、ブール値(論理値)を格納する変数の型です。

真(true)か偽(false)のどちらかの値が入ります。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

文字型

Ver.6.0
文字型は、文字の値を格納する変数の型です。

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

疑似言語の問題は、実際に問題を読み解く練習が必要です。

疑似言語問題を解く手順を以下の記事に、ていねいに説明しました。ぜひ、ご確認ください。

問題をチェック!

令和5年 問60解説(ていねいな方法)

令和5年 問64解説(ていねいな方法)

令和4年 問78解説

令和4年 問96解説

探索のアルゴリズムです。

線形探索法データ列の先頭から

2分探索法半分づつ

線形探索法

Ver.6.0
線形探索法は、データ列の先頭から順番にキーと比較していく探索方法です。

線形探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

配列上に不規則に並んだ多数のデータの中から、特定のデータを探し出すのに適したアルゴリズムです。
(ソフト開発 平成19年春午前 問13より)

問題をチェック!
R5年 問69 アルゴ 予想2

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

2分探索法

Ver.6.0
2分探索法は、データをあらかじめ決められた順番(例えば、小さい順、大きい順、五十音順など)にならべておき、探索の対象を半分ずつ狭めながらキーと比較していく探索方法です。

2分探索法の説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)

問題をチェック!
R5年 問69 アルゴ 予想3

テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

整列のアルゴリズムです。

選択ソートデータ中の最小値(もしくは最大値)を求める。

バブルソート隣り合ったデータの比較して入れ替える。

クイックソート適当な基準値を選んで、データを分割する。

選択ソート

Ver.6.0
選択ソートは、データ中の最小値(もしくは最大値)を求め、次にそれを除いた部分の中から最小値を求める。この操作を繰り返していく方法です。
(基本情報 平成30年秋午前 問6より)

選択ソートの説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)
テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

バブルソート

Ver.6.0
バブルソートは、隣り合ったデータの比較と入替えを繰り返すことによって、小さな値のデータを次第に端の方に移していく方法です。
(基本情報 平成30年秋午前 問6より)

バブルソートの説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)
テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

クイックソート

Ver.6.0
クイックソートは、適当な基準値を選び、それより小さな値のグループと大きな値のグループにデータを分割する、同様にして、グループの中で基準値を選び、それぞれのグループを分割する。との操作を繰り返していく方法です。
(基本情報 平成30年秋午前 問6より)

クイックソートの説明(テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング)
テクノロジ系アルゴリズムとプログラミング37.アルゴリズムとプログラミング

プログラム言語

特に、プログラミム言語の種類、特徴を覚えようね。

プログラム言語の種類、特徴を覚えましょう。

太字の部分がキーワードです。

C

Ver.6.0
C言語は、UNIXを開発するために設計されたシステム記述向きのプログラミング言語です。

プログラムをすべて機械語に変換してから実行するコンパイラ方式です。

C言語の説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

Fortran

Ver.6.0
Fortran(フォートラン)は、科学技術計算向けに開発された言語です。
(ITパスポート 平成22年秋 問54より)

Fortrannの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

Java

Ver.6.0
Java(ジャバ)は、コンビュータの機種やOSに依存しないソフトウェアが開発できる、オブジェクト指向型の言語です。
(ITパスポート 平成22年秋 問54より)

OSSの一つです。

Javaの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

問題をチェック! アルゴ 予想4

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

C++

Ver.6.0
C++(シープラスプラス)は、C言語を拡張させたオブジェクト指向のプログラミング言語です。

C言語と互換性があるため、C言語と同時に使用することができます。

C++言語の説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

Python

Ver.6.0
Python(パイソン)は、アプリケーションの開発、人工知能、データ解析など幅広い分野で使用されている言語です。

次の特徴が有ります。

  • 豊富なライブラリ
  • インタプリター言語
  • スクリプト言語
  • オブジェクト指向

OSSの一つです。

Pythonの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

問題をチェック! アルゴ 予想5

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

JavaScript

Ver.6.0
JavaScript(ジャバスクリプト)は、ブラウザで動作する処理内容を記述するスクリプト言語注)です。
(ITパスポート 平成24年春 問67より)

ウェブサイトに動きを付けることができます。

注)プログラムを書いて実行するのが比較的容易な言語(大雑把な説明)

JavaScriptの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

次のような、JavaScriptの利用例が試験に出ています。

”入力データの検査”は、HTMLだけでは実現できません。JavaScriptを使うことによってブラウザ側で実現可能になります。
(応用情報 平成22年春午前 問7より)

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

R

Ver.6.0
R言語は、統計解析向けのプログラミング言語です。

データの解析からグラフへの出力を行うことに優れ、人工知能(AI)領域においても注目されています。

OSSの一つです。

R言語の説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

問題をチェック! アルゴ 予想6

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

アプレット

アプレットは、小さいアプリケーションプログラムを意味し、サーバからダウンロードされ、クライアントであるWebブラウザに組み込まれて実行されるプログラムです。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

ソースコード

ソースコードは、人がプログラミング言語でコンピュータへの命令を書いた文書です。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

実行形式

シラ外
実行形式は、人間が書いたソースコードを「0」と「1」で表現し、コンピューターがそのまま実行できるようなプログラムの形式です。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

コーディング標準についての用語です。

コーディング標準の各内容の目的や効果を覚えましょう。

コーディング標準

Ver.6.0
コーディング標準は、ソフトウェア開発に関わるエンジニア、プログラマがコンピュータプログラムのソースコードを記述する際に求められる、コードの書き方や形式に関する決まりです。

可読性を高める(コードを読みやすくする)ことによって、次のことを実現しようとしています。

①一定の品質の担保
②保守性の向上
③生産性の向上

問題をチェック! アルゴ 予想7

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

字下げ(インデンテーション)

Ver.6.0
字下げは、プログラムの階層構造をわかりやすくするために行います。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

ネストの深さ

Ver.6.0
ネストの深さは、プログラムの階層構造の数のことです。

浅いほうがいいです。

ネストの深さの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

命名規則

Ver.6.0
命名規則は、プログラミングにおいて、変数名など識別名をつける際のルールです。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

プログラムの構造についての用語です。

プログラム構造

Ver.6.0
プログラム構造は、プログラムの命令が実行される流れを定めたものです。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

モジュール分割

Ver.6.0
モジュール分割は、プログラムを設計する際に、全体を基準をもとに、いくつかの部品(モジュール)に分割することです。

モジュールは、特定の機能や構造の、扱いやすい大きさのプログラムのことです。

モジュール分割(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

メインルーチン

Ver.6.0
メインルーチンは、プログラムの主な処理・メインの処理をおこないます。

メインルーチンがサブルーチンの呼び出します。

テクノロジ系アルゴリズムとプログラミング38.プログラム言語

サブルーチン

Ver.6.0
サブルーチンは、特定の機能や処理の集合を指し、一般的には「関数」と呼ばれます。

メインの処理から呼び出されて処理を実行します。

サブルーチンは基本的に「引数」「戻り値」と呼ばれる値を持ちます。

メインルーチンとサブルーチンの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

効率のよいプログラミングの方法についての用語です。

ライブラリ

Ver.6.0
ある目的のための、汎用性の高い、複数のプログラムを他のプログラムから呼び出して利用できるように部品化したものです。

他のプログラムに機能を提供するコードの集まりで、ライブラリ単体では動作することはできません。

ライブラリの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

API

Ver.6.0
API(Application Programming Interface)

APIとは、アプリケーションの開発者が、他のハードウェアやソフトウェアの提供している機能を利用するためのプログラム上の手続きを定めた規約の集合のことです。

個々の開発者は規約に従って、自分でプログラムを作らず、機能を「呼び出す」だけで、その機能を利用したアプリケーションを作成することができます。
総務省|平成28年版 情報通信白書|用語解説 (soumu.go.jp)より)

APIの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

WebAPI

Ver.6.0
WebAPIとは、API利用者とAPI提供者のやり取りをウェブ上で実現したものです。

お互いのプログラミング言語が異なっても連携でき、また、Webブラウザでも利用可能です。

WebAPIの説明(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)

WebAPIによって、次のようなことが実現できます。

  1. 自社Webサイトで他社サイトの機能や情報を利用すること
  2. アプリケーションソフトからWeb上で公開されている機能や情報を利用すること
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

ローコード

Ver.6.0
ローコードとは、従来よりも少ないコード作成量で、アプリケーションやシステムを開発できるツール・手法です。

コードの記述が可能なため、汎用性や拡張性があります。

ローコードのイメージ(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

ノーコード

Ver.6.0
ノーコードは、コードの作成を必要としないで、アプリケーションやシステムを開発できるツール・手法です。

ツールに用意された部品(パーツ)やテンプレートで小さなアプリケーションを開発します。

ノーコードのイメージ(テクノロジ系アルゴリズムとプログラミング38.プログラム言語)
テクノロジ系アルゴリズムとプログラミング38.プログラム言語

その他の言語

プログラミング言語だけでなく、HTMLなどのマークアップ言語JSONなどのデータ記述言語があることもを覚えておこうね。

マークアップ言語

マークアップ言語とは、文書の内容と共に、文書の構造(見出し、段落、箇条書きなど)や修飾(文字の大きさや色など)の内容を、コンピュータに伝えるための言語です。

文章の一部をタグで囲むことで、文書の構造や修飾の内容などを指定します。

テクノロジ系アルゴリズムとプログラミング39.その他の言語

HTML

HTML(Hyper Text Markup Language:エイチ・ティー・エム・エル)

HTMLは、 Webページを作成するための言語です。

HTMLには、文字だけでなく画像や音声を埋め込むことができます。

HTML形式のファイルは、Web ブラウザで閲覧することができます。

また、HTML形式のファイルに埋め込まれたリンクをクリックすることで、参照先などのWebページに移動できます。

英字|用語辞典|国民のための情報セキュリティサイト (soumu.go.jp)より)

テクノロジ系アルゴリズムとプログラミング39.その他の言語

XML

XML (Extensible Markup Language:エックス・エム・エル) 

XMLは、ネットワークを介した情報システム聞のデータ交換を容易にするマークアップ言語です。

文書の構造などに関する指定を記述する、“<”と“>”に囲まれるタグを、利用者が目的に応じて定義して使うことができます。
(ITパスポート 平成22年秋 問56より)

問題をチェック! R4年 問88

テクノロジ系アルゴリズムとプログラミング39.その他の言語

データ記述言語

Ver.6.0
データ記述言語は、データの構造を記述するための言語です。

プログラムを作成するための言語ではありません。

テクノロジ系アルゴリズムとプログラミング39.その他の言語

JSON

Ver.6.0
JSON(JavaScript Object Notation)

JSONは、異なるプログラム言語で書かれたプログラム間でのデータのやり取りなどに用いられるデータ記述の仕様です。

JavaScript の言語仕様のうち、オブジェク トの表記法などの一部の仕様を基にして規定したものであって、「名前と値の組みの集まり 」と 「値の順序付きリスト」の二つの構造に基づいてオブジェクトを表現します。
(応用情報 平成31年春午前 問7より)

テクノロジ系アルゴリズムとプログラミング39.その他の言語

「アルゴリズムとプログラミング」まとめ

これまで、テクノロジ系「アルゴリズムとプログラミング」の最新の用語について、出題傾向、学習ポイント、重要な用語を解説しました。

まとめ

【出題傾向】
「アルゴリズムとプログラミング」から、4問程度出題される可能性があります。

平成5年過去(公開)問題では、「アルゴリズムとプログラミング」からは3問でした。

令和4年過去(公開)問題から、出題が増えました。

【学習ポイント】
・データ構造
 →実際の問題で、考え方を理解しましょう。

・アルゴリズムとプログラミング
 →疑似言語の問題を解けるように、まずは用語を覚えましょう。

・プログラム言語
 →特に、プログラミム言語の種類、特徴を覚えましょう。

・その他の言語
 →JSONなどのデータ記述言語があることも覚えましょう。

【重要用語】
シラバス6で、新しい用語がたくさん増えたので、それらの学習が大切です。

ただし、用語の意味の理解だけでは不足です。

疑似問題、フローチャートの問題の解き方を学習しましょう。

以上、テクノロジ系「アルゴリズムとプログラミング」の重要な用語について解説しました。

コメント

タイトルとURLをコピーしました