わえなび ワード&エクセル問題集 waenavi

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

INT関数とMOD関数をさらに深く理解するための応用の練習問題7題【基本情報表計算&Iパス対策】


「INTは小数点以下を切り捨てて整数にします」「MODは割り算をした時の余りです」と説明するのは簡単です。割り算をした時の商がINTで、余りがMODです。しかし、小学生の算数を教える先生以外に、大人が余りのある割り算をする機会はめったにないです。

では、実際にどのように使えばよいのでしょうか? ExcelのINTとMODについてはすでに別の記事で基本的な問題を紹介しています。

そこで今回は、情報処理試験に出題されるかもしれない(?)レベルの応用問題を出題します。ITパスポートや基本情報技術者試験を受験予定の人はスラスラと回答できるように練習しておきましょう。

 

 

目次

0.はじめに

(1)基本情報技術者試験の表計算について

基本情報技術者試験の問題に使用される関数の説明についての著作権はIPA情報処理推進機構にあります(IPA公式サイト:https://www.jitec.ipa.go.jp/)。また、基本情報技術者試験(表計算)の詳細は、市販のテキストをご覧ください。

(2)INTとMODの復習

INTとMODの基本についてはこちらで解説していますのでまずこちらで勉強しましょう。

 

1.ポイントと料金の違い

(1)区切りの金額を超えたらポイントがもらえる

問題

購入金額700円でくじが1回引けるとき、くじを引く回数を求めなさい。

f:id:waenavi:20191007170901j:plain

 

解説

購入金額700円でくじが1回引けるというのは、700円で1ポイントがもらえるポイント制と同じ考え方です。通常700~1399円は1回で、699円までは0回です。この場合は単純に割り算をすればよいです。

f:id:waenavi:20191007170835j:plain

 

(2)区切りの金額にならなくても料金はかかる

問題

3分で10円かかる電話で、通話時間が1~18分のときの料金をそれぞれ求めなさい。

f:id:waenavi:20191007171132j:plain

 

解説

電話で10円/3分といえば、通常は3分以内であれば10円、6分以内であれば20円・・・となります。3で割ってみます。とりあえず試しに3で割ってみてから考えましょう。

f:id:waenavi:20191007171100j:plain

 

2つずれていることが分かります。だいたい、2つずれているときは、元の数に2を足すか2を引けば解決します(適当)。元の数に2を足すと正しくなります。

f:id:waenavi:20191007171003j:plain

 

10倍すれば完成です。

f:id:waenavi:20191007170940j:plain

 

別解

ずれを直すために1を引いたら、1分~3分が通話料無料になってしまいます。

f:id:waenavi:20191007171256j:plain

 

この場合は1をたします。

f:id:waenavi:20191007171216j:plain

 

*補足*通話時間が小数の時は切り上げ(ROUNDUP or CEILING)のほうがよいです。

 

2.セット

問題

3つの部品X、Y、Zをそれぞれ1個、4個、16個を使用して、組み立てて作る製品があるとする。現在の在庫数がそれぞれ15個、64個、234個の場合、現時点で作れる製品の個数を求めなさい。

f:id:waenavi:20191007171354j:plain

 

解説

1セットに必要な部品数で割りますが、部品が足りなかったら製品が作れないのですから小数点以下は切り捨てです。

f:id:waenavi:20191007171422j:plain

 

さらに、X、Y、Zが揃わなかったら製品は完成しないので、作れる製品の個数はこれらの最小値です。

f:id:waenavi:20191007171452j:plain

 

3.チェックディジット

問題

ある大学では学生を7桁のコード(学科コード+連番+チェックディジット)で管理している。チェックディジットを次の手順で計算しなさい。

  1. 学科コードをI2:J6の対応関係に従って数値に変換して、7倍する
  2. 連番は4桁で、下の桁から順に1,2,3,4を掛ける
  3. すべての合計を10で割った余りを求め、その計算結果をI9:J18で変換したものをチェックディジットとする。

*補足*MID関数ではなくINTとMODを使ってください。

f:id:waenavi:20191007171601j:plain

 

解説

数値で管理するコードは入力の間違いが良く起こります。特に、人に対してコードを付ける場合、取り違えがあってはいけないので最後にチェック用の桁を用意します。これをチェックディジットCheck Digit)といいます。

まず、上の桁はINTで求めます(参考:ExcelのINT関数とMOD関数の使い方で最低限理解しておくべき重要事例【基本情報表計算&Iパス対策】)。「=INT(B2/10^3)」です。

f:id:waenavi:20191007171735j:plain

 

下の桁はMODで求めます。「=MOD(B2,10)」です。

f:id:waenavi:20191007171805j:plain

 

途中の桁はINTとMODを併用します。「=MOD(INT($B2/10^(D$1-1)),10)」です。

f:id:waenavi:20191007171832j:plain

 

学科コードを数値に変換するにはVLOOKUP(垂直照合)を使います。

  • =VLOOKUP(A2,I$2:J$6,2,0)

f:id:waenavi:20191007172109j:plain

 

7倍、4倍、3倍、2倍、1倍します。

  • =VLOOKUP(A2,I$2:J$6,2,0)*7+C2*C$1+D2*D$1+E2*E$1+F2*F$1

f:id:waenavi:20191007172253j:plain

 

すべての合計を10で割った余りを求め、I$2:J$6で検索すれば完成です。

  • =VLOOKUP(MOD(VLOOKUP(A2,I$2:J$6,2,0)*7+C2*C$1+D2*D$1+E2*E$1+F2*F$1,10),$I$9:$J$18,2,0)

f:id:waenavi:20191007172336j:plain

 

4.JANコード

問題

JANコードは13桁の数値で構成されていますが、右端の桁は、上の12桁の数値を使って計算で求めます。次の計算手順で、13桁目を求めなさい。

  1. 左側の12桁に1、3、1、3、1、3、・・・を掛ける。
  2. 合計の下1桁を10から引く。
  3. 計算した結果が10の場合は0にする。

f:id:waenavi:20191007172514j:plain

※なお、JANコードについては別の記事で詳しく解説しています(参考:Excelでバーコード(JANコード)を使うための基礎知識の総まとめ【勉強会資料】)。

 

解説

JANの問題はITパスポート試験に出題されました。JANコードのチェックディジットの計算方法は世界共通なので知っておいたほうが良いです。上の桁はINTで求めます。「=INT(A2/10^11)」です。

f:id:waenavi:20191007172650j:plain

 

下の桁はMODで求めます。「=MOD(A2,10)」です。

f:id:waenavi:20191007172710j:plain

 

途中の桁はINTとMODを併用します。「=MOD(INT($A2/10^(C$1-1)),10)」です。

f:id:waenavi:20191007172740j:plain

 

1、3、1、3、1、3、・・・と入力して掛けます。

f:id:waenavi:20191007172816j:plain

 

合計を求めます。

f:id:waenavi:20191007172840j:plain

 

下1桁を求めて10から引きます。「10-MOD(SUM(B4:M4),10)」となります。

f:id:waenavi:20191007172918j:plain

 

1から始まる連番で最大値を0にするには、その最大値で割った余りを求めます。したがって、「=MOD(10-MOD(SUM(B4:M4),10),10)」となります。

f:id:waenavi:20191007173006j:plain

 

5.金種計算

問題

(1)セルB2に「10000」と入力した。セル範囲C1:J1に2000円札を除く紙幣と貨幣の種類をすべて求めなさい。
(2)セルA2に「987654」と入力した。1行目の金種の枚数を求めなさい。

f:id:waenavi:20191007173057j:plain

 

解説

金種計算はINTとMODの練習問題の定番です。2で割ります。

f:id:waenavi:20191007173204j:plain

 

5で割ります。これを繰り返します。

f:id:waenavi:20191007173208j:plain

f:id:waenavi:20191007173211j:plain

 

10000円札の枚数はINTを使います。

f:id:waenavi:20191007173213j:plain

 

10000円札で支払った後の残りの金額はMODで求められます。

f:id:waenavi:20191007173321j:plain

 

これを5000円で割れば、5000円札の枚数が出ます。

f:id:waenavi:20191007173323j:plain

 

6.曜日(7進数)

問題

2020/1/1が水曜日であることが分かっているとき、2023/12/31は何曜日か。また、2020/1/1~2023/12/31の間に土日は何日あるか。 

解説

日付は1900/1/1から始まる連番で管理されているので、7で割ることによって曜日と関連付けることができます。2020/1/1と2023/12/31をそれぞれ7で割って余りを求めます。4と0になります。

f:id:waenavi:20191007173452j:plain

 

4が水曜日であれば、1はその3日前なので日曜日ということになります。

f:id:waenavi:20191007173541j:plain

 

つまり、2023年の年末が最後の土日となります。2020年が水曜日から始まっていることから、日数の差を7で割って1を足せば土日の回数を求めることができます。

f:id:waenavi:20191007173602j:plain

 

209回となります。

f:id:waenavi:20191007173711j:plain

 

土日なので416日となります。

f:id:waenavi:20191007173717j:plain

 

7.光の三原色(16進数)

問題

画面の色はRed・Green・Blueの3色の光を合わせることで表現している。RGBの光の量はそれぞれ16進数の00~FFの256段階で表現する。16進数のカラーコードを10
進数に直しなさい。また、10進数を16進数のカラーコードに直しなさい。

f:id:waenavi:20191007173747j:plain

 

解説

Excelには16進数と10進数を変換する関数としてHEX2DEC・DEC2HEXがありますが、情報処理技術者試験ではもちろん使えないので、MODとINTで計算するしかありません。

16進数のA~Fは、10進数の10~15に対応しています。HLOOKUP(水平照合)が使えます。上の桁*16+下の桁です。

  • =HLOOKUP(B3,$B$9:$Q$10,2,0)*16+HLOOKUP(C3,$B$9:$Q$10,2,0)

f:id:waenavi:20191007174100j:plain

 

16進数の場合も上の桁はINTで求めます。「=INT(I6/16)」です。

f:id:waenavi:20191007174235j:plain

 

10進数の12は16進数のCにあたります。これは照合検索(LOOKUP)で求められます。

  • =LOOKUP(INT(I6/16),$B10:$Q10,$B9:$Q9)

f:id:waenavi:20191007174242j:plain

 

下の桁はMODで求めます。「=MOD(I6,16)」となります。

  • =LOOKUP(MOD(I6,16),$B10:$Q10,$B9:$Q9)

f:id:waenavi:20191007174356j:plain

f:id:waenavi:20191007174359j:plain

 

 


解説は以上です。


 

 


Copyright(C)2018-2021 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]
Youtube | 公式サイト | twitter | 著作権 | 運営者情報 | お問い合わせ