プログラミング(データ型・制御構造)【ITパスポート講座】

この記事で学ぶこと
- プログラミングの概要
- データ型
- 制御構造
今回はITパスポートのプログラミングに関する内容に触れていきます。


プログラム(プログラミング)とは
コンピュータと言えばプログラミングと答える方も多いですが、このプログラミング(プログラム)は日常生活でも良く耳にします。
運動会や授業にもプログラムと言う言葉を用います。プログラムを直接和訳すると、予定の計画表や催し物の実行計画を書いた紙となります。
コンピュータにおけるプログラミングも、コンピュータに何をどういった手順で処理させるかと言った手順書です。
しかしコンピュータはディジタルとアナログのところでも触れた通り、0と1の世界で人間が直接あれしてこれしてと命令を出すのは困難です。
プログラミング言語
そのため人が扱えるようにするために厳密に文法を定め、それ通りに書いて初めてコンピュータ側が解釈して実行に移せるようになります。その文法をプログラム言語と呼びます。
言語と呼ぶだけあり、日本語や英語、ドイツ語と言ったようにプログラムの世界でも以下のように、いくつかのプログラミング言語があります。
- C(シー)
- C++(シープラスプラス)
- C#(シーシャープ)
- Java(ジャバ)
- Python(パイソン)

それぞれの言語により特徴や得意不得意が変わってくるので、何を開発するかによって言語を適切に選ぶことで効率的にプログラムを書くことが可能となります。
人が書いたプログラミング言語をソースコードと呼びます。ソースコードはコンピュータがそのまま理解することは難しく、コンピュータが理解できる文字(機械語)への変換が必要です。
人が書いたプログラムを機械語に置き換える翻訳ソフトはコンパイラと呼ばれ、コンパイラによって翻訳されることをコンパイルと呼びます。
コンパイラされた機械語に、ライブラリなどの必要なものを付け加えるリンクと呼ばれる処理をして初めて実行できます。
疑似言語
ITパスポートでは、CやJavaではなく疑似言語を用いた問題が出題されます。疑似言語とは、アルゴリズムを表現するための疑似的なプログラミング言語です。
疑似言語はPC上で実装できません。記述形式については、情報処理推進機構(IPA)を確認しておきましょう。
関数
関数は、あらかじめ用意した処理に名前を付けたものです。手続と呼ぶケースもあります。関数はカッコの中に指定されたデータ(引数)を使って処理を行い、その結果の値(戻り値)を返します。

データ型
変数には型があります。アルゴリズムの章において、変数はデータを入れる箱と解説しましたが、この箱に入るデータの種類をデータ型と呼びます。
代表的なデータ型と、データの具体例を確認しておきましょう。
データ型 | データの具体例 |
整数型 (int型など) |
-5 , 0 , 150 |
実数型 (float型・double型など) |
-2.17 , 0.8 , 12.345 |
文字型 (char型など) |
“A” , “b” |
論理型 (bool型など) |
true , false |
制御構造
アルゴリズム同様、プログラミングも順次・選択・繰り返しの3つの構造で構成されています。

if(条件式1)
処理1(条件式1成立時の処理)
elseif(条件式2)
処理2(条件式1不成立 かつ 条件式2成立時の処理)
else
処理3(条件式1不成立 かつ 条件式2不成立時の処理)
endif

例えば、1から10まで順番に表示する処理は以下のとおりです。
i ← 1
while (i が 10 以下)を表示する
i を表示する
i ← i + 1
endwhile
プログラミングの例題
実際に例題を解いて問題に慣れていきましょう。
問1
コンピュータに対する命令を,プログラム言語を用いて記述したものを何と呼ぶか。(H.29秋/問81)
ア:PINコード
イ:ソースコード
ウ:バイナリコード
エ:文字コード
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問2
4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。
データの並び:[27,42,33,12]
〔手順〕
- 整列対象中の要素の最大の値を選び,最後の要素と入れ替える。
- 最後の要素を整列対象から外す。
- 整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
(R.7春/問98)
ア:2
イ:3
ウ:4
エ:5
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問3
関数 binaryToInteger は,1桁以上の符号なし2進数を文字列で表した値を引数 binaryStr で受け取り,その値を整数に変換した結果を戻り値とする。例えば,引数として”100″を受け取ると,4を返す。プログラム中のa,bに入れる字句の適切な組合せはどれか。
〔プログラム〕
(R.6春/問85)
a | b | |
ア | (2 の i乗) – 1 | integerNUM × digitNUM × exponent |
イ | (2 の i乗) – 1 | integerNUM + digitNUM × exponent |
ウ | 2 の (i – 1)乗 | integerNUM × digitNUM × exponent |
エ | 2 の (i – 1)乗 | integerNUM + digitNUM × exponent |
ア
イ
ウ
エ
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問4
〔プログラム〕
(R.5春/問60)
ア:1,2,3,4
イ:1,3,2,4
ウ:3,1,4,2
エ:4,3,2,1
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問5
配列に格納されているデータを探索するときの,探索アルゴリズムに関する記述のうち,適切なものはどれか。(R.5春/問69)
ア:2分探索法は,探索対象となる配列の先頭の要素から順に探索する。
イ:線形探索法で探索するのに必要な計算量は,探索対象となる配列の要素数に比例する。
ウ:線形探索法を用いるためには,探索対象となる配列の要素は要素の値で昇順又は降順にソートされている必要がある。
エ:探索対象となる配列が同一であれば,探索に必要な計算量は探索する値によらず,2分探索法が線形探索法よりも少ない。
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
プログラミングまとめ
今回はプログラミングについて学習しました。
プログラミングは新シラバスで重要視されている分野です。慣れれば得点源にできるので、しっかりと対策を行いましょう。

次回はIoTについて学習します。


福井県産。北海道に行ったり新潟に行ったりと、雪国を旅してます。
経理4年/インフラエンジニア7年(内4年は兼務)/ライター5年(副業)
簿記2級/FP2級/応用情報技術者/情報処理安全確保支援士/中小企業診断修得者 など
ディスカッション
コメント一覧
まだ、コメントがありません