おーしまブログ

プログラミングやってます

【基本情報技術者資格試験】文字列処理

こんにちは、おーしまです。

この度、2022年春の応用情報技術者資格試験を受験することになり、そのテスト勉強をブログで発信することにしました。
本当は2021年の秋の基本情報技術者を受ける予定だったのですが、受けようと思った頃には、もう応募期間を過ぎてしまっていたので、これから半年間勉強して、基本情報を飛ばしていきなり応用に挑戦することになりました。出題範囲は基本と応用で変わらず、応用は基本の難しくなったバージョンらしいので、とりあえず基本から勉強していきます。がんばるぞー。

石川高専、偏差値65のプライドを持って一発合格目指します。



参考者はこちらの、「出るとこだけ、基本情報技術者(午後)」です。途中までやったので、続きからやっていきます。
f:id:tomo_bb_aki0118115:20210831234710p:plain
今日は、「出る順4位、文字列処理1」をやっていきます。


文字列処理:文字を題材に、さまざまなアルゴリズムにより行う処理。
・文字の字数を数える
・書式を変換する(例、値1000に「,」を入れて「1,000」にするなど)

試験では、独自の記号を使って、プログラムを表しているようです。

○整数型:a, b
・a ← 1
・b ← 0
■ a < 3
| ・b ← b + a
| ・a ← a + 1
■
・表示( b )

(本当は、■と | はくっついている)
こんな感じで、プログラムが書かれます。ITエンジニアなら見ただけで大体何を表しているか分かりそうですね。



また、変数( a, b )には型もあります。
・文字型  :1字の文字
・文字列型 :複数の文字
・整数型  :整数
・論理型  :true(真)またはfalse(偽)のみ



ちなみに、■は繰り返し処理、while文的なことをやっています。上のプログラムだと、
a < 3 が true になる限り、■の間の処理を繰り返します。

for文はこちら

・a ← 0
■ i : 1, i <= 3, 2
| ・a ← a + i
■
・表示( a )

■ i : 初期値, 条件式, 増分
で、条件式がtrueになる限り処理を繰り返します。



配列はこちら

○整数型:Value[5]
・Value[1] ← 10
・Value[5] ← Value[1] + 1

こちらもプログラマーの方なら常識ですが、
変数宣言時の [5] は配列の要素数を表しています。要素の型指定はないようですね。
また、例えば、要素数が5だった場合、添字が0~4の時と1~5の時があるようで、そちらは問題文に書いてあるそうなので、見落とさないようにしましょう。



関数はこちら
【呼び出し先】

○整数型関数:Sum(整数型:A, 整数型:B)
○整数型:Work
・Work ← A + B
・return Work

【呼び出し元】

・Result ← Sum(3, 4)

こちらもプログラマーならお馴染みですね。
括弧内が関数の引数を表し、returnで戻り値も指定できます。
基本情報技術者試験では、呼び出し先の関数について出題されるようです。(呼び出し元が出題された前例がない?)



また、出力型引数と言うものがあり、言葉だけで説明するのが難しいのですが、
問題文に引数の表があり、「出力」と書かれた変数は戻り値で値を戻すのではなく、関数内で引数に四則演算などをした値が呼び出し元に反映されるものがあるみたいです。戻り値がたくさんある関数みたいな感じですね。



その他

■ num % 2 = 0

変数numを2で割った、あまりが0の場合と言う意味
==ではなく、=でOK

・num ← 28 ÷ 10

割り算は/ではなく、÷で表す。
変数numが整数型なら、2.8ではなく、2が代入される。

○論理型:flag
・flag ← not true

notで論理型の値の逆と言う意味になる。
trueならfalse、falseならtrueとなる。




今回はここまでです。
プログラムを書いたことがない人には、少し難しいかもしれませんが、書いた人がある人にとっては、割と簡単な内容でした。
ただ、問題となると、もっと複雑になるので、そこは気をつけたいですね。

それではまた。

ここはどこ おれはだれ それに近いものがあんだよ 始めようとした奴らも迷い始めてる 怖がらせないでよ そりゃ甘くはないけど まだまだ 夢見ていい世界なんでしょ {UVERwould「ハイ!問題作」}