【スクラッチ(Scratch)】ヒミツのお手紙作り!暗号文をつくろう

上のアイキャッチ画像はAIによって生成されました。

友達ともだち手紙てがみのやりとり、たのしいですよね!

でも、もし手紙てがみとしてしまったり、だれかにられてしまったら一大事いちだいじ…!

とくきなひとのことや、なやみなんか、絶対ぜったいられたくないですよね。

そこで、この記事きじでは Scratchを使つかって「暗号あんごうぶんつくったり もどしたりする プログラム」のつくかた紹介しょうかいします。

このプログラムがあれば、手紙てがみ内容ないようをだれにもめない ヒミツの言葉ことばえることができます。

ヒミツの言葉ことば手紙てがみけば、安心あんしんして大切たいせつはなしもできますね!

 

このプログラムを使つかって、ひと悪口わるくちいたり、いじめをしたりするのは絶対ぜったいにダメ!
約束やくそくしてくださいね。

 

Scratchはインターネットにつながるパソコンから無料むりょう利用りようできます。

Scratch公式こうしきサイト: https://scratch.mit.edu/

Scratchのアカウントのつくかた基本的きほんてき使つかかたは、した記事きじ紹介しょうかいしています。

 

スポンサーリンク

2つのリストを使って暗号文を作る

2つのリストを使って暗号文を作る

暗号あんごうぶんつく方法ほうほうは いろいろありますが、今回こんかい2つのリストを使つかった方法ほうほう紹介しょうかいします。

あいうえおじゅんにならんだ「かなリスト」と、順番じゅんばんがバラバラな「カナリスト」をつくり、対応たいおうする文字もじえる仕組しくみです。

 

完成プログラム

完成かんせいしたプログラムはしたとおりです。

暗号にするプログラム

暗号にするプログラム

ひらがなで文字列もじれつ(ならんだ文字もじあつまり)を入力にゅうりょくすると、暗号あんごうにしてくれるプログラムです。

ひらがな以外いがい文字もじはそのまま出力しゅつりょくされます。

 

暗号をもどすプログラム

暗号をもどすプログラム

暗号あんごうぶんもとにもどせないと 意味いみがありませんね。

カタカナで暗号あんごうぶん入力にゅうりょくすると、もとの文字列もじれつにもどしてくれる プログラムもつくります。

 

リストから文字を探すプログラム

リスト検索(ブロック定義)

リストから文字もじさがすプログラム。ブロック定義ていぎにしなくてもOKです。

 

スポンサーリンク

プログラム解説

このプログラムは、変数へんすうリストブロック定義ていぎ使つかいます。

  • へん すう:データを一時的いちじてきおぼえておくためのもの
  • リスト:たくさんのデータを順番じゅんばんにならべ管理かんりできるようにしたもの
  • ブロック定義ていぎ:ある処理しょりをまとめたもの

 

した記事きじでくわしく解説かいせつしています。使つかかたがよくからないひとんでみてくださいね。

 

スプライトを準備する

スプライトをひとつ準備じゅんびします。

暗号あんごうをもどすプログラムは、暗号あんごうにするプログラムをつくってから スプライトをコピーしてつくるので、最初さいしょはひとつでOKです。

スプライトの背景はいけいきなモノをえらんでください。

 

変数・リスト・ブロック定義を作成

変数・リスト・ブロック定義

必要ひつよう変数へんすう・リスト・ブロック定義ていぎつくります。

 

変数

変数へんすうカテゴリ→「変数へんすうつくる」から、変数へんすうを4つつくります。

  • 入力にゅうりょく入力にゅうりょくした文字列もじれつ
  • 出力しゅつりょく出力しゅつりょくする文字列もじれつ
  • in:入力にゅうりょくした文字列もじれつ何番目なんばんめ文字もじ
  • list:リストの何番目なんばんめ

 

リスト

変数へんすうカテゴリ→「リストをつくる」から、リスト2つをつくります。

  • かなリスト:あいうえおじゅんにならんでいる
  • カナリスト:順番じゅんばんがバラバラになっている

メモちょうなどに データをつくってから むと、らくですよ。

 

ブロック定義

ブロック定義ていぎも2つ用意よういします。

ブロック定義ていぎカテゴリ→「ブロックをつくる」でつくれます。

  • かなリスト検索けんさく
  • カナリスト検索けんさく

なか処理しょりは、あと解説かいせつします。

 

暗号にするプログラム

暗号にするプログラム解説

スプライトをクリックしたときに、実行じっこうします。「このスプライトがされたとき」しましょう。

「(出力しゅつりょく)を( )にする」で、変数へんすう出力しゅつりょく」を初期しょきします。

「(暗号あんごう変換へんかんしたい文字列もじれつ入力にゅうりょくしてください)といてつ」「(入力にゅうりょく)を(こたえ)にする」で、入力にゅうりょくされた文字列もじれつ変数へんすう入力にゅうりょく」にれます。

入力にゅうりょくした文字列もじれつを1文字もじずつして、かなリストにあるか検索けんさくします。

「(in)を(1)にする」で、変数へんすう「in」の初期しょき設定せっていします。1文字もじから順番じゅんばんにみるので、初期しょきは1です。

「(入力にゅうりょくながさ)かいかえす」で、入力にゅうりょくした文字もじ数分すうぶんくりかえしましょう。

ブロック定義ていぎ「かなリスト検索けんさくで、かなリストの何番目なんばんめ文字もじ検索けんさくします。変数へんすう「list」には、かなリストの何番目なんばんめはいります。

 

かなリストにあった場合ばあいと、なかった場合ばあい処理しょりけます。

「もし (list) > かなのながさ なら」なかには、リストになかった場合ばあい処理しょりれます。

「(出力しゅつりょく)を(出力しゅつりょく入力にゅうりょくのin番目ばんめ文字もじ)にする」入力にゅうりょくした文字もじを そのまま出力しゅつりょくしましょう。

「でなければ」なかには、リストにあった場合ばあい処理しょりれます。

「(出力しゅつりょく)を(出力しゅつりょくとカナのlist番目ばんめ文字もじ)にする」で、カナリストの対応たいおうする文字もじ出力しゅつりょくしましょう。

「(in)を(1)ずつえる」で、入力にゅうりょくした文字列もじれつつぎ文字もじをみるようにし、くりかえしの最初さいしょ処理しょりへもどります。

 

くりかえしをぬけたら「(出力しゅつりょく)と(5)びょうう」変換へんかん文字列もじれつ表示ひょうじしましょう。

 

かなリスト検索

かなリスト検索解説

入力にゅうりょくした文字もじが、かなリストの何番目なんばんめ文字もじ検索けんさくする ブロック定義ていぎつくります。

「(list)を(1)にする」変数へんすう「list」の初期しょき設定せっていします。1番目ばんめ要素ようそから順番じゅんばんにみるので、初期しょきは1です。

以下いか条件じょうけんを どちらかたすまで「(list)を(1)ずつえる」実行じっこうします。

  • 入力にゅうりょくのin番目ばんめ文字もじ = かなのlist番目ばnめ → リストにあった
  • list > かなのなが → 最後さいごまでみたけれどリストになかった

 

暗号をもどすプログラム

暗号あんごうにするプログラムでは、入力にゅうりょくした文字もじが かなリストの何番目なんばんめ文字もじさがし、対応たいおうするカナリストの文字もじ変換へんかんしました。

暗号あんごうをもどすプログラムでは そのぎゃくおこないます。

  • 暗号あんごうにする :かな → カナ
  • 暗号あんごうをもどす:カナ → かな

暗号あんごうにするプログラムの スプライトをコピーして、どこをなおせばいいか 自分じぶんかんがえてみてくださいね。

 

まとめ

暗号あんごうぶんつくったり もどしたりする プログラム」のつくかたを 紹介しょうかいしました。

約束やくそくまもって、みんなと仲良なかよく たのしい 手紙てがみ交換こうかんを たのしんでくださいね!

 

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