平成29年秋

この記事では、基本情報技術者試験の過去問を解いて、午前の点数と午後の学習ノートを公開しています。
字はかなり下手(でも汚くはないと思う。)ですが、午前87%、午後90%の一発合格ですので、もしかしたらお役に立てるかもしれません。

■ 関連記事 ■

基本情報技術者試験トップへ戻る
令和2年FE合格報告

アルゴリズム攻略法
午後試験対策おすすめ参考書
CBT試験
午前免除

◆ 午前 2020年5月30日(土)
  66/80…82点

テクノロジ系…41/50…82%
マネジメント系…9/10…90%
ストラテジ系…15/20…75%

◆午後 9月4日(金)から9月6日(日)の期間に分けて解きました
※点数は、配点を問題数で割って正解数をかけて計算しました。
※令和2年10月18日受験
合計64点

セキュリティ…4/12
ハードウェア…12/12
データベース…9/12
ネットワーク…9/12
ソフトウェア設計…4/12
アルゴリズム…16/20
CASL2…10/20

◆午後のトレースなどのノート公開
過去問を解いて、解き方を自分が分かるようにまとめたノートを
出来る範囲で公開します。

●セキュリティ

●ソフトウェア

●データベース

●ネットワーク

●ソフトウェア設計

●アルゴリズム

●言語(アセンブラ)

メインメニューに戻る
資格トップへ
基本情報技術者試験トップへ
令和2年6月、午前免除を受けました
息抜きに、写真で癒し(=^・^=)

息抜きに、写真で癒し(=^x^=)

このコーナーでは、癒しをテーマに、「夜景」や「自然」などの写真を中心に
掲載しています。

ごゆっくりと、くつろいで行って下さい(=^x^=)

フォトストック写真ACさんに投稿をしております。

Threads始めました!!
フォロー宜しくお願いします(=^x^=)


■ 乗り物 ■

多摩モノレールと中央本線


■ 今は無き、思い出の場所■

お台場パレットタウンメモリーズ



■ 桜 、お花見■

埼玉の植民地、「池袋」西口公園の桜

東京下町、足立区の桜

石神井公園 アニメ聖地巡礼平成最後の花見

目白庭園の夜桜


■ 新緑 ■

水元公園でサイクリング。ゴールデンウィークの爽やかな風・グリーンエクササイズ。



■ 梅雨時 ■

代々木公園、雨粒はじけるアジサイとバラ



■ 夏・納涼 ■

いたばし花火大会(2023)


いたばし花火大会(2019)


海と空、波打ち際、地球の息吹が味わえる御宿(房総半島)

江ノ電の旅 鎌倉高校前駅のロケ地にもなっている海

湘南の海!片瀬海岸と江ノ島岩場

立川市のひまわり(国営昭和記念公園 西立川口 サンフィニティ)

等々力渓谷 世田谷区の自然 とても東京23区内とは思えない自然と涼しさ



■ ハロウィン ■

六本木ヒルズでトリックオアトリート!?


東池袋、サンシャイン60展望台のハロウィン



■ 紅葉 ■

目白庭園


■ Xmasイルミネーション ■

お台場レインボー冬の花火大会2022

東京駅丸の内シャンパンゴールドに輝く街路樹

よみうりランドのジュエルミネーション

お台場

東京メガイルミ


恵比寿ガーデンプレイス


横浜みなとみらい

有楽町MULLION(マリオン)〜銀座のクリスマスイルミネーション

恋するイタリア 東京ドームシティ2016



■ 地元、東京下町 ■

スカイツリー3地点観測


ようこそ!スカイツリー、浅草へ!!

谷根千。日暮里から谷中銀座の昭和レトロな散策。

すみだ水族館のふわきゅんクラゲまつり


■ 工場萌え ■

2019年8月川崎工場地帯

2023年1月川崎千鳥橋方面


■ その他ライトアップ ■

羽田空港第一ターミナルで飛行機と空港夜景を撮影

六本木ヒルズスカイデッキから望む東京タワー

都庁と西新宿の夜景



■ その他 ■

サンシャイン水族館の空飛ぶペンギン

浮間公園の風車(埼京線浮間舟渡 東京都板橋区・北区の旅)

若者の街、表参道ヒルズから原宿までの散策

写ルンです復刻版 瀬戸内しまなみ海道 今治・大島・伯方島の旅

LEGOブロックと光のマジック

落書き風お笑い系芸能人の似顔絵


TikTok始めました。
始めた理由は、TikTokの仕組みに興味を持ったからです。若い方限定のSNSなので、自分には無理だと思っていたのですが、他のSNSが時間に影響を受ける仕組みに対してTikTokは時間に影響を受けないループ型なので、良い動画であれば過去の動画も見て頂けるという仕組みに興味を持って始めました。TikTokは、Twitterが使える方なら多分すぐ慣れると思いますし、動画編集に至っては、YouTubeの100倍以上楽です。

インスタ再開しました。

写真の投稿を始めました。
(写真AC)のプロフィールページです。

写真のアンケートを実施しております。
宜しかったらご回答頂けますと、大変励みになります(=^x^=)

フォトストック写真ACさんに投稿をしております。

メインメニューに戻る
自己紹介


初めてのPhotoshop


IF関数とVLOOKUP関数でソーシャルディスタンス!

本日はExcel関数の中でも特に使用頻度の高い、IF関数とVLOOKUP関数の合わせ技を掲載します。

これに慣れておくと、「Excelの関数だったら、是非、あなたにお任せしたい!!」と、安心してお仕事を任せて貰える可能性が高まりますので、宜しかったらご覧下さい。

また、VLOOKUP関数で対応するメッセージを図形描画した吹き出し図形の中にも表示させる方法も掲載致しました。

まず、E列、F列にこの様に入力します。
E4の所に、「前の人との距離」と入れて、他も用意しました。



E7に「メートル」、F7に「セリフ」と入力します。
肌色のセルのE8〜E10には、それぞれ「1 , 2 , 3」と数字を入力します。(中央揃えをしています。)
その隣のF8〜F10にそれぞれのセリフを入れます。

ここまで準備が出来たら、E5にリストを設定します。

まず、E5にプルダウンメニューを作ります。
データタブ → データの入力規則 → 設定
で、入力値の種類を「リスト」にします。

このリストの範囲として、
メートルの下の肌色のセルのある、E8〜E10をドラッグしてOKを押します。

これで、Windowsの方は、「Alt」+「↓」、Macの方は「option」 + 「↓」で、リストが選択出来るようになり、前の人との距離のメートルが1m,2m,3mを選択出来ます。

リストを作ったセルの右隣の黄色いセル、F5に、

=IF
(E5が空欄だったら,空欄を返して,
そうでなければVLOOKUP
(前の人との距離,F8〜F10のセリフ範囲,2列目,完全一致のFALSE))

という意味になる、

=IF(E5=””,””,
VLOOKUP
(E5,$E$8:$F$10,2,FALSE))



と、式を入れます。
これは、距離(メートル)、1,2,3に対して、対応するセリフを返す処理をしています。

今回は絶対参照にしなくても良いのですが、実務では表の範囲は固定しないと、他のセルに式をコピーした時に範囲がずれてしまうので、ここでもE8:F10に[F4]を押して$マークを付けて絶対参照にしています。

これで、距離に応じたメッセージが表示されました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

写真は、目白庭園という日本庭園で、紅葉のライトアップの時に撮影したものです。

最後に、挿入メニューから図形描画で好きな図形を挿入して、その図形の中にVLOOKUP関数のメッセージを表示させます。
私は吹き出しを描画しました。

図形描画のショートカットキーは、
[Alt] → [N] → [S] → [H] が便利です。

ここで、描画した図形をクリックした状態で、「=」とイコールを押して、
黄色いセルのF5をクリックしてEnterを押すと、

この様に、吹き出しの中にメッセージが表示される様になりました。

リストで選択する数字を変えると、吹き出しの中のセリフも変わります。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

写真は、地元東京都足立区の桜です。


できるYouTuber式 Excel現場の教科書(長内孝平氏
単行本(ソフトカバー)
Kindle版

できるYouTuber式 Googleスプレッドシート 現場の教科書
神川陽太氏 & 長内孝平氏
単行本(ソフトカバー)
Kindle版

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

立川市の昭和記念公園の、サンフィニティという小ぶりの向日葵の写真です。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

フォトストック写真ACさんのプロフィールページ

最後までお付き合い頂き、誠にありがとうございました!!

■ 関連記事 ■

自己紹介



取りあえず事務職で働きたいから手っ取り早くExcel教えてくれに戻る

初めてのGoogleスプレッドシート

急にプレゼン資料を作ることになったから手っ取り早くパワポ教えてくれ

Wordのポイントを手っ取り早く教えてくれ!!!



コロナ禍・アフターコロナのテレワーク対策(Google Workspace)に戻る



メインメニューに戻る

06For Nextループその2 ExcelVBAで密です!ソーシャルディスタンス!!

新型コロナが2類から5類に引き下がり、イベントでは「密です!」状態ですね。
ExcelVBAで単純ながら、密ですゲームみたいなものを作ってみました。

ボタンを2つ作ります。
1つ目のボタンは「密です!!」、2つ目のボタンは「ソーシャルディスタンス」です。
ボタンを押したらプログラムが動くようにします。

先に、これからコーディングするプログラムの実行結果の画面を掲載します。
ボタン「密です!!」を押すと、

このように「人」が密集します。
3密ですね。

では、ボタン「ソーシャルディスタンス」を押します。

で、このように感覚を空けました。

各ボタンについて解説します。

●「密です!!」ボタン
Range(“A1:K11”) = “人”で、セルA1からK11までの全てのセルに、「人」という文字を入れます。

●「ソーシャルディスタンス」ボタン
一旦シートを、Cells.Clear でクリアをしてから、Range(“A1”).Select で、ホームポジションのA1を選択して、この位置を基準をして、2行2列置きに「人」を入れて間隔を保ちます。

カウンタ変数の行をi、列をjにします。
(ここで、カウンタ変数って何? ループまだちょっと自信がないよ!と言う方は前回の記事の、はじめてのFor Nextループ をご覧下さい)

カウンタ変数iは外側のループで行(縦)を操作、jは内側のループで列(横)を操作します。

外側のループを固定して、内側のForループでjを2つずつ増やし、内側のループを抜けてから外側のループでiを2つずつ増やします。

コードは以下のようになります。

● ボタン「密です!!」に登録するコード

Sub 密です()
 
'セルA1からK11まで「人」で埋めつくして密にする
Range("A1:K11") = "人"

End Sub

● ボタン「ソーシャルディスタンス」に登録するコード

Sub ソーシャルディスタンス()

' カウンタ変数iとjを宣言する
Dim i As Integer, j As Integer

' シートをクリアする
 Cells.Clear

'セルA1を選択する
Range("A1").Select

'外側のループでiを0から10まで2ずつ増やす
For i = 0 To 10 Step 2

    '内側のループでjを0から10まで2ずつ増やす
    For j = 0 To 10 Step 2
    
     'セルA1を基準として、下にi、右にj分移動したセルをアクティブにして「人」と言う字を入れる
      ActiveCell.Offset(i, j).Value = "人"
      
     '内側のループjを進める
     Next j
     
' 外側のループiを進める
Next i

End Sub

コードが書けたらボタンを作成します。
ボタンは、開発タブから作れます。

Windowsの場合は開発タブは、任意のタブを右クリックして「リボンのユーザー設定」の右側のメニューからチェックで表示できます。

または、ファイル → オプション → リボンのカスタマイズ → リボンの設定 から表示する方法もあります。

Macの場合は、Excel → 環境設定 → 表示 → 一番下あたりの開発タブにチェックを入れます。

以下の様に感じにシートを用意して、ボタンを2つ作ります。

iとjの挙動が分かり辛い場合は、外側のループのiをコメントアウトして、i=0で固定して、内側のループのみ動かしてみると少し分かりやすくなるかも知れません。

 'i= 0で固定して内側のループのみを動かす

Sub ソーシャルディスタンス()

' カウンタ変数iとjを宣言する
 Dim i As Integer, j As Integer


' シートをクリアする
Cells.Clear


'セルA1を選択する
Range("A1").Select


'外側のループでiを0から10まで2ずつ増やす
'For i = 0 To 10 Step 2  ←コメントアウト

    '内側のループでjを0から10まで2ずつ増やす
    For j = 0 To 10 Step 2
    
     'セルA1を基準として、下にi、右にj分移動したセルをアクティブにして「人」と言う字を入れる
     ActiveCell.Offset(0, j).Value = "人" ' ← iを0にする
     
     '内側のループjを進める
     Next j
     
' 外側のループiを進める
'Next i  ←コメントアウト

End Sub

すると、(i,j)は(0,0)、(0,2)、(0,4)・・・(0,10)とセルを移動するので、この様な実行結果になります。

また、iを2にすると、
(i,j)は、(2,0)、(2,2)、(2,4)・・・(2,10)と移動するので、

この様になります。

二重ループは慣れるまでちょっと時間がかかりましたので、私は外側のループをコメントアウトして固定をしてみた所、だいぶ解きほぐれて来ました。

二重ループに悩まれていらっしゃる方の一助になりましたら幸いでございます。

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

立川市の国営昭和記念公園で撮影した小ぶりのひまわり、サンフィニティです。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

フォトストック写真ACさんのプロフィールページ

自己紹介


VBA自作サンプルプログラム集へ戻る

取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ


MOSなどの資格試験対策

平成30年春

この記事では、基本情報技術者試験の過去問を解いて、午前の点数と午後の学習ノートを公開しています。
字はかなり下手(でも汚くはないと思う。)ですが、午前87%、午後90%の一発合格ですので、もしかしたらお役に立てるかもしれません。

■ 関連記事 ■

基本情報技術者試験トップへ戻る
令和2年FE合格報告

アルゴリズム攻略法
午後試験対策おすすめ参考書
CBT試験
午前免除

◆ 午前 2020年5月25日(月)
  61/80…76点

テクノロジ系…36/50…72%
マネジメント系…8/10…80%
ストラテジ系…17/20…85%

◆午後 8月28日(金)から8月30日(日)の期間に分けて解きました
※点数は、配点を問題数で割って正解数をかけて計算しました。
※令和2年10月18日受験
合計75点

セキュリティ…9/12
ハードウェア…12/12
データベース…9/12
ネットワーク…6/12
ソフトウェア設計…9/12
アルゴリズム…20/20
CASL2…10/20

◆午後のトレースなどのノート公開
過去問を解いて、解き方を自分が分かるようにまとめたノートを
出来る範囲で公開します。

●セキュリティ

●ハードウェア

●データベース

●アルゴリズム

●ソフトウェア設計

●ネットワーク

●アセンブラ

メインメニューに戻る
資格トップへ
基本情報技術者試験トップへ
令和2年6月、午前免除を受けました
息抜きに、写真で癒し(=^・^=)

プログラミングを何度も挫折されてお悩みの方〜これからプログラミングを始められる方へ

この記事は、「プログラミング初学者」の私の立場から、「プログラミング入門者」の方、挫折したけれど今日からまたプログラミングプログラミングに再挑戦したいに向けて、届けたいメッセージをを中心に書いています。

想定している読者様は、

●これからプログラミングを始められる方

●(何度か)挫折してしまったが、もう一度、もう2度・・・リトライされたい方

に向けて、下記点で書かせて頂きます。


以上、宜しくお願いします。


Webサイトを作りたいから、HTML / CSS / JavaScriptをやりたい、など、作りたいものが先にあって、目的が明確な分、それに必要な言語を学ぶとモチベーションが高まり挫折しにくくなります。

とはいえ、自分探しが中々進展せず、一体私は何がしたいのだろう・・・と良く悩みを抱えています。そこで、次の項目では、

・自分のやりたいことが分からない方

・コーディングが難しくて色々な英語や数字が出てきて混乱して学習に躓いて困っていらっしゃる方

・プログラミング学習が「写経」になって楽しく無い方

に向けて書かせて頂きます。


自分のやりたいことが分からないというのは、決して自己分析が出来ていないからなどではなく、自分の気持ちが分からなくなるほど周囲の方を優先してきた心優しい方達です。なので、決して自分を責めないで下さい。

また、プログラミングは難しい英語や数字が出てきて初学者にはハードルが高いので、ついつい「写経」になってしまいます。

そういったことでお悩みの方は、ブロックを置いてプログラミングを行う、お子さま向けのプログラミング教育でも使われる、スクラッチがオススメです。

ブロックを置いてキャラクターを動かせるので、達成感や楽しさがすぐに味わえてモチベーションに繋がります。

ミニゲームを作りながらプログラミングで必要な分岐処理やループ(繰り返し)なども遊びながら学べます。

私の場合は基礎学力の不足も挫折の原因でしたので、ミニゲームと国語や算数などをキャラクターを動かしながら学べる下記の本を購入した所、楽しみが増えました。

スクラッチプログラミング事例大全集

親子でかんたんスクラッチプログラミングの図鑑

これらの本でスクラッチを学ぶことは気分転換にもなりますし、いざやりたいことが見つかった時の為に、プログラミングの学習準備はスクラッチで整えられ、もしも見つからなくても、脳トレにはなるので老後の認知症対策に備えられそうです。

なんの才能もない発達障害者の声
この本は私が書いた本で発達障害を中心の内容ですが、スクラッチの自作サンプルを2つ程作成致しました。

もしもどうしてもプログラミング学習が辛くなってしまった場合は、心がラクになる本を紹介している記事をご覧下さいませ。


プログラミング学習において、「Hello World」などの文字を、C言語でしたらprintf文、Pythonはprint文、JavaScriptはconsole.logやalert、HTLMではpタグやh1タグなどのタグを用いて出力をする機会が相当多いでしょう。そこで、

「私は天才プログラマー!!!!!!」
「俺は超イケメンで女にモテまくり!!」
「私はめちゃめちゃ美人で可愛い!!」
「私はキムタクと超ラブラブ!!」

橋本環奈は俺の嫁!!

など、出力文に自分を褒める言葉や、好きな方とリア充ラブラブになるような言葉を入れてみましょう。
それを何度も繰り返すことで、自分に自信が付きますし、幸せで楽しい気分になれます。

プログラミング学習は、頭脳よりも「どれだけ折れない心を持って自信を付けて保って、更にアップしていくか」が大事です。
キムタク(=木村拓哉さん)や、橋本環奈さんに限らず、好きな芸能人や、または絶対人に見られないのであれば、学校や塾、バイト先、職場で好きな人の名前を入れてもOKです。

定数や変数に例えばGAS(Google Apps Script)やJavaScriptでしたら、

const genius='【私は天才プログラマー!!!!!】';

などとして、console.logを使うタイミングで、定数geniusをテキストの文字列に「+」で連結して表示させると便利かも知れません。
そうすることで、「受け身」から「能動的な学習」に変わって行きます。
私は、この定数geniusをグローバル領域に定義しています。

人前で「私は美人で可愛い」、「俺、超イケメン!」なんて言ったら、「この人危ない人かも・・・」って思われるてしまいますが、自分のプログラミング学習の環境で、人の目に触れないのであれば、あなたはいくらでも自分のことを褒めて、自信を持っても良い方だと思います。

これから先、printf文、print文、console.log、alert、pタグ、h1タグなどのタグはいくらでも出てくるので、そこで可能な限り自分自身を褒める、ハッピーな気分になれるメッセージを入れて、単調な文法でも出来る限り遊びの要素を取り入れて楽しんで勉強してみて下さい。

これは、単なる「おまじない」に止まらず、以下のような効果があることを、基本情報技術者試験アルゴリズムの正答率が88%取得した者の意見として申します。

頭の中で変数、定数の値を自然に追えるようになり、ループの中でどう動くのか、条件分岐ではどっちに分岐するのか、どの関数(メソッド)に引数が入って、戻り値はどのようになり、実行結果にどのような影響を及ぼすのか、プログラムの流れをトレースする習慣が自然と身に付くのです。

プログラミングとトレースは切っても切れない関係なので、本を写経しているだけだと、自分のスキルが付いているのか自信がない・・・という方は、是非とも自分褒めメッセージをプログラムの中に組み込んで、積極的にプログラムをトレースする習慣を付けて下さい。

また、そのことを実行前に行うと、事前にエラーを発見しやすくなるというメリットまで得ることが出来ます!!これは、プログラミング学習を効率よく進めやすくなる効果まで発揮できることになります!!
(エラー文を調べることで、人は成長するのは分かりますけれど、出来る限り、サクサク学習を進めたいですよね。)

子どもの頃から、「スクラッチ」などのプログラミング言語を始めている今の子どもたちは、プログラミングが出来ると、先生やパパさんママさんから沢山褒められるかと思います。

しかし、子どもの頃にプログラミングに触れる機会が全く無い環境で育って、大人になってからプログラミングを始めると、褒められて伸びると言う機会は子どもに比べて極端に少なくなります。

そうすると、学校でプログラミングが学べる環境の子どもたちと、大人になってからプログラミングを始めた私たち昭和生まれの中高年とでは、ますます差が開くばかりです。なので、プログラミングの学習を通して、可能な限り自分で自分を褒めて伸ばしてあげて下さい。(世の中冷たいもので、頑張って勉強していても、現実は誰も褒めてなんてくれませんから・・・。)

先ほど、基本情報技術者試験の話をしましたが、私は基本的にはプログラミングに資格は必要ないと考えています。興味のある方はこちらの記事をご覧ください。

※ スクラッチを本など独学で始めるのに「年齢は関係ない」ので、昭和生まれの私もキャラクターを動かしながらゲーム感覚で勉強をしています ※


プログラミングの学習方法の中でも最も敷居が低い勉強法は、学習コンテンツによる動画レッスンです。その中でもドットインストールpaizaラーニングについて簡単に比較してみます。

●paizaラーニングが向いている方
・特に「この言語」と決めていない
・環境構築無しで色々な言語を試してみたい

・アニメのキャラクターと楽しく勉強したい
・問題集やスキルチェックに挑戦して技術を磨き向上させたい
・エンジニアとして正社員でスカウトをもらって働きたい

paizaラーニングについて補足しますと、動画学習では演習課題があり、スキルチェックではDランクからSランクまでランクアップを目指せる様々な実践問題や、スキルチェックに挑戦するのに「計算ドリル」のような感覚でコードを書いて学べる、「レベルアップ問題集」も用意されています。

関連記事:paizaレベルアップ問題集をPythonとGASの両方で解いてみた集

●ドットインストールが向いている方
・具体的に学習するプログラミング言語を決めている
・環境構築がある程度済んでいる
・1回3分程度の短い動画で効率よく学びたい
・副業やフリーランスとして稼げるようになりたい
・ポートフォリオの作り方を学び、実務にいち早く活かしたい

paizaラーニング、ドットインストールの両方に共通していることは、「無料レッスン」があることです。この記事を読んでも、私の文章力不足の為、どっちが自分に合うのか正直分からない方もいらっしゃると思います。両方の無料レッスンを受けてみて、こっちかな、と思う方に決めるという手もあります。

関連記事:ドットインストールの学習ロードマップとレッスンの感想

また、自分のPCに環境構築をする手間もを省く為に、Web上で無料ですぐにコードが書けるIDEという開発環境もございます。
paizaにもありますし、他にも「ブラウザでプログラミング 無料 IDE」などで検索すると、いくつか見つかりましたので、自分に合いそうなものでしたら続きそうです。


プログラミングは暗記ではない、という意見を多く見かけます。
とは言え、全く覚えないとコードが書けないので、入門書でプログラミングの模写をする前に、「これは何をするプログラミングなのか」を1〜2行程度の短いコメントで書くようにしました。

例えば「文字列を検索して下線を引く処理」など、何をするプログラミングなのか、コードを書く直前にコメントで書いてから、実際に入門書の模写コーディングをしました。

また、ノートを取るのではなく、私が知らないメソッドやオブジェクトが出てきたら、例えば、「getName()は名前を取得するメソッド」などと短いコメントを入れるようにしました。ノートを取る代わりに、コメントにメモ書きというふうに学習方法を変えました。

コメントを書く際、きっちりコメントを書くというよりも、「自分が分かる最小限のコメント文でメモ感覚でまとめて、コメントにかける労力を最小限にして、その分を”思考して理解をすること” に回す」ようにしています。

もしもどうしてもノートの様にまとめたい場合は、Googleドキュメントが私には便利でした。


ドットインストールやpaizaラーニングなどの動画の講義を終えましたら、実際に本を買う段階になるかと思います。

まず、プログラミングの本を紹介する前に、ブックスタンドを紹介します。
(デュアルデスプレイを使う方はそれでも良いと思います。)
プログラミングをやっているとずっと座りっぱなしなので、適宜ストレッチをしていますが、パソコンで入力して本を見て・・・となると結構疲れるのでブックスタンドを紹介します。

これ、手前の金具にゴムがついていてストッパーになっていて、本を抑えることが出来るんです。これでプログラミングが捗りました。

表側はこんな感じです。
本の著作権があるので、カバーを向けています。

独習Python
Kindle版
単行本(ソフトカバー)

また、Googleドキュメントに覚えたことをノートとしてまとめて学習しております。


たまにX(旧Twitter)などのSNSで見かける、いわゆる「意識高い系」のプログラミングの先輩の「初心者を不安にさせるアドバイス(??それとも自慢??)」について、「プログラミング初心者から見た意識高い系の先輩はどう見えるのか」について書かせて頂きます。

「本でコードを模写するよりも、自分で何かアプリを作って、検索(ググりながら)勉強した方が実力が付く」などとX(旧Twitter)で呟いている先輩学習者もいます。

しかし、プログラミングを始めたばかりの方は、入門書やドットインストールなどの学習コンテンツの通りに動かすだけで、一杯一杯でヘトヘトなかつての私のような方もいます。

そんな時、「本を写しているだけの私はダメなんだ・・・」って落ち込んでしまったこともありましたが、そういう先輩は大きなお世話だ!!って今となっては断言できます。

初心者に自慢して、マウントを取りたいだけでしょうか?
それはアドバイスではなく、クソバイスです。
そんな時間があったら、自分のスキルを磨きましょう。

マウント取りアドバイスのもう一つに、「学習コンテンツを何回も回っていないで、さっさと成果物を作れ!」というのもあります。

1番良く無いのが、「プログラミング学習をやめてしまうこと」なので、自分が納得して続けられる方法でないと勉強がしんどくなってしまいます。
(体調が悪い時は、勿論プログラミング学習をお休みして必要でしたら医療機関を受診されて下さい。)

その他、スランプや家庭の事情などで、プログラミング学習を中断してしまうことは仕方のないことですが、そうでないなら、なるべく自分に合った無理なく納得の行く方法で学習を続けることが望ましいです。

また、print文などの出力を覚えたての人に、「そこは関数を使ってこう書くとスムーズになる」と言われるのも、初心者の立場からしたら勘弁して欲しいです。

確かに基礎文法をある程度習得するとその通りだと納得するのですが、初心者の段階ではそのアドバイスでは混乱するだけですし、初心者にとっては、print文を書いてそのコードを人前に晒すだけでも、物凄い勇気のいることなんです。混乱によって挫折のリスクも高まるかも知れません・・・。

「あ、この人、初心者ながら頑張っているんだな・・・」と余計なことを言わず、温かい目で見てあげて下さい。
そうすると、必ず基礎文法を習得して、関数を使って処理をまとめて呼び出すことや引数を自在に使って出力結果を変えることも自分で出来るようになりますから。

プログラミングに限らず、スポーツでもダンスでも楽器でも、その段階、段階に応じて、必要な工程が異なります。

今の自分の段階、レベルに合った方法で学んでいくことが最も挫折しずらいですし、そういう余計なことを言う先輩のせいでプログラミングに挫折してしまうのは余りにも勿体無いと思います。

なので、プログラミングの先輩方に初心者の私から申し上げたいとは、余計なアドバイスをせずに「温かい目で見守ってあげること」が、最も成長を促すのではないかと私は思います。

くどいようですが、アドバイスは「段階に応じて」異なって来ます。
先輩方は初心者を見て、色々言いたくなるかも知れませんが、その時間をあなたのスキルアップにした方が、プログラミングの挫折者を減らすと思います。

(挫折させたくて言っているのだとしたら、そう言う先輩は、プログラミグの前に「道徳」を学んで下さい。)

関連記事:プログラミング学習で関わってはいけない人と逃げるべき環境

あとは、ちょっと余談ですが、プログラミングに限らずWebデザイン系、Photoshop、などフリーランスに関するYouTuberの方って、胡散臭い方もいますよね(笑)
動画のサムネが過激で、

・その勉強法では稼げない

・失敗する人の特徴


・やってはいけない勉強法

・いつまで勉強してんの!?

みたいな。

一旦、深呼吸して下さい!

サムネが過激な方は警戒しましょう。


本当に実力があれば、サムネはシンプルで伝えやすくて視聴者さんが希望を持てるような内容にすると思うんです。

なので、これから本と並行して動画も見てPhotoshopの勉強をしていくことになりますが、サムネが過激な人や私のモチベーションを下げて絶望させるような動画投稿者、インフルエンサー、自称成功者には騙されないように気をつけたいと思います。

特に、この界隈の勉強をされる方には、絶対に詐欺に遭ってほしく無いので、消費生活センターのリンクを貼りました。

私も十分気をつけながら勉強をして経済的に自立出来るよう頑張りますが、皆様もくれぐれも変な人に騙されないように気をつけて下さい!

また、ある方の動画では、「勉強沼」についての解説がありました。
勉強沼とは、勉強ばかりして稼いでいない状態のことです。
そこを抜け出して稼げる様になりましょうという内容でした。

それが良いのかどうなのか分かりませんが、私には「急かされている、煽られている」様な気がして、パニックになって呼吸が苦しくなり、具合が悪くなりました。
なので、自分のメンタルや体調を崩すような情報は見ない様にしています。

急かされることで実力を発揮出来る人は、そのアドバイスに従って行けば、ドンドン稼げる様になるでしょう。

しかし、世の中そういう人ばかりではありません。

その勉強沼とは、ゴルフのバンカーの様なもので、バンカーから出ようともがけばもがく程、抜け出せそうな気がしてなりません。

だったらむしろ、その勉強沼を「温泉」だと思って、リラックスしてゆっくり浸かって、泉質を楽しんでみては如何でしょうか。

楽しんだ方が勉強の能率が上がって、むしろ気が付いていたら勉強沼(勉強温泉)を抜け出して美味しく牛乳を飲んで稼いでいた、なんてこともあるかも知れませんし、その方が私の特性や性格には向いているような気がします。

焦らせられると不安になったり体調を崩したりする私に近い方は、絶対に無理しないで地道にコツコツとマイペースが1番なのではと、私は思いました。

勿論、これって「ただの私の感想」ですので、そういう人もいるんだぐらいで、サラッと流して頂いても構いません。

ここまでご精読、誠にありがとうございました。
皆さまのプログラミング学習にお役立て出来ましたら幸いでございます。

私も、頑張ります!!!

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。

ポートフォリオを作成しました。

自己紹介

メインメニューに戻る
プログラミング学習で関わってはいけない人達と逃げるべき環
プログラミングと資格について  

心がラクになる本の読書リスト

この記事では、辛く苦しい思いをされている方にこそ、今すぐ読んで欲しい本を、読書リストとして掲載しております。

◆ 今とても、読書が出来る精神状態では無い方へ ◆
息抜きに、写真で癒し(=^x^=)
ストレス解消グッズ

私には発達障害とHSPの両方の生きづらさがあり、一般的な方よりも心を病みやすいので、読書によってセルフケアをしております。

私が落ち込んでいた時、心が痛くて辛い時に読んで救われた本で、辛くてどうにもならない、誰か助けて!!と、シンドイ思いをされている方にオススメしたい、気持ちがラクになる本を紹介させて頂きます。


最初に紹介したい著者の方は、予約が取れない人気カウンセラーで有名な、
Poche(ポッシュ)先生の本です。

Poche先生の本を特にオススメしたい方は、

・著名な医師などから否定的なことを言われて心にダメージを受けた

・みんなから「良い人だ」と言われている人から何故か自分だけ嫌われている様な気がする。

・朝起きた時から疲れ切っている

・親や上司の気持ちは分かるのに自分のやりたいことが分からない

といったことでお悩みな方です。

Poche先生の書かれた本を読んでいて、やっと自分の苦しみが報われたという心が溶き解された様な安堵感に包まれました。

紙の本とKindle版や電子書籍限定、Audible版もありますので、それぞれに分けてリンクを掲載させて頂きます。


あなたはもう、自分のために生きていい

がんばりすぎて疲れたあなたが自分の幸せをつくる本

あなたの「しんどい」をほぐす本

悪いのは、あなたじゃない

がんばるのをやめたらうまくいった


SNSのモヤモヤとの上手なつきあい方


あなたはもう、自分のために生きていい

がんばりすぎて疲れたあなたが自分の幸せをつくる本

あなたの「しんどい」をほぐす本

もしかしてうちの親って、毒親?: 毒親育ちかもしれないと思ったら

悪いのは、あなたじゃない

SNSのモヤモヤとの上手なつきあい方

がんばるのをやめたらうまくいった

今よりもっと自分らしく生きていく方法: 漫画でわかる!人の機嫌に振り回されずに生きる17の考え方

今日は、無理しない日

漫画でわかる!あなたが抱える生きづらさの理由

「生きづらい」は過去のせいかもしれない――『あなたはもう、自分のために生きていい』電子限定版 特別編

「もう、がんばらない」で生きていい――『あなたはもう、自分のために生きていい』電子限定版 特別編

「毒親かもしれない」と思ったら――『あなたはもう、自分のために生きていい』電子限定コミック版


あなたはもう、自分のために生きていい 

あなたの「しんどい」をほぐす本

悪いのは、あなたじゃない


私はPoche先生の本に救われて、心がとてもラクになりました。

それでは、他の方の本も紹介いたします。


◆精神科医が教える 疲れた心をスーッとほぐす方法
著:メンタルドクターSidow氏

単行本
Kindle版

SNSなどで拡散されている「メンタルに良い」と言われていることの中には専門的な知識を持たない方が書かれたこともあります。
気軽に使われている「メンヘラ」や、「空気を読むな」といった主張に対して、都内で精神科医として働き、SNSでメンタルに対して啓蒙活動を行っている、メンタルドクターSidow先生が書かれた本は、専門家としての知見を元に現代の人の心の悩みに寄り添って下さっています。
メンタルに良いと言われていることに対してのSidow先生のマルバツ形式での解説は、読者の思考が偏らないように分かりやすく書かれています。日常生活でも使える「傾聴」についても詳しく書かれています。人間関係をスムーズにして自分を成長させるためにも、この本に書かれている傾聴は非常に大事だと思いました。
年代別の悩みとそれに対してのSidow先生のアドバイスには私に近いケースもありました。身近にマウンティングする人のことで悩んでいる方や、自分がマウンティングをしてしまっているのではないかと悩まれている方にもオススメの本です。


◆「しんどいこと」をリセットする方法
著:メンタルドクターSidow氏

単行本(ソフトカバー)
Kindle版

全ての悩める現代人に送る本!!だと私は思いました。
「精神科をもっと身近に!」とYouTube、TwitterなどでSNSで活躍されている現役精神科医の先生が書かれた本です。
SNSやハラスメント、リモート疲れ、空気を読み過ぎることなどへの現代の悩みに対して、どういった考え方をすると、より生きやすくなるのか、悩みが軽くなるのかが書かれています。
1項目2から3ページで1コママンガもあり、非常に読みやすく、今の自分に当てはまる所からすぐ読める構成になっているので、興味のある所から読み始めました。
私が特に心に響いたのは、CHAPTER4「自虐で潰れそう」の「CASE6お客さんからのキツイ言葉が忘れられない」です。
キツイ言い方をしてくる人は、リアルでもネットでもいて、その度に自分の悪い所を改めなければと思っていたのですが、そうじゃないんだ、と、この本に書いてある内容のように解釈すると、すごく楽になりました。以前何かあると、「あなたが何か悪いことをしたのでは」という人がいて、自分を責めていましたが、考え方が180度変わりました。 Sidow先生の今後ますますのご活躍を応援しています!!


◆上司・友人・ご近所…身近な人の「攻撃」がスーッとなくなる本
著:水島広子氏

単行本(ソフトカバー)
Kindle版

心が落ち着かなくなったり、不安定になった時に、精神科医の水島先生の本を読んで気持ちを落ち着かせています。
この本では、不意打ちのように唐突に攻撃をされるなどの理不尽な思いをした時に、どのようにして生きていくのか、捉えていくのかを、相手との関係性によって必要となる処理の方法が書かれています。
まず「攻撃する人とは」どういう人なのかという基本的なことから丁寧に書かれています。水島先生の文章は内容が深く読みやすいので、心の傷を抱えた時にいつも助けらえれています。
特にこの本は、「自分は何てダメなんだ」、「怒られるのは自分が悪いからだ」、「とにかく自分のダメな所を治さなきゃ」、「人に迷惑ばかりかけていて申し訳ない」と、悩まれている方にこそ是非手に取って欲しいです。
「弱いあなたはダメだ」と非難してくる人とはどういう人なのかもこの本で学べます。
現代においてネットで攻撃されることもあります。その場合についても書かれている時代に即した本です。


◆会社・仕事・人間関係 もう、何もかもしんどい…と疲れ果てたときに読む本
著:石原加受子氏と黒川依氏

単行本
Kindle版

これからの時代に求められる人材は、
「自分を大切に、丁寧に扱える人間」だと強烈に痛感しました。
何故かここの所ミスが多くなってきた、自分のやりたいことよりも、世の中的に
「勝ち組」とか「リア充」と言われている生き方に自分の身を染めようとしてきて、
無気力になった、厳しい人に認めてもらいたいと過剰に思うようになった、
そういう生き方をしていて、シンドくなったり、もう動けない、という状態になってしまう前に、なってしまった後の回復のやり方に、全ての現代人に捧げる、心と体がラクになる本です。


◆SOLO TIME(ソロタイム)ひとりぼっちこそが最強の生存戦略である
著:名越康文氏

単行本(ソフトカバー)
Kindle版

この本を読んで、自分の人生のハンドルは、自分で握りたい!!と、強く思いました。
「なんであの人はあんなことを言うんだろう」と誰かのことでイラっと来たり、
自分の人生をむなしく思った時にこの本読むと、心のイガイガが滑らかになります。
何か重大な決断を迫られている人にこそ是非この本を手に取って心を落ち着けて欲しいと思います。


◆やりたいことなんて死ぬまで必要ない その理由をぶっちゃけます
著:野村こころ氏

Kindle版

「この年齢ならこうあるべき」とか、「自分探しをしてやりたいことを見つけよう」
といったプレッシャーに押しつぶされた時に読む本です。
特に、サッカーとかよりも寝ることが好きな少年の話に共感しました。


◆うまくいきそうでいかない理由
著:佐藤由美子氏

単行本(ソフトカバー)
Kindle版

自分を変えたいけれど、ガチガチでパワフルなの自己啓発書を読むと、なんだか疲れちゃうんだよね。
でも、そんなんじゃダメだから何とかしたい、という方に、是非読んで頂きたいです。
たった10秒~で出来るワーク(エクササイズ)は、殆どの多くの本のワークよりも続けやすいと思います。





◆ その他の読書リスト ◆
発達障害と健康の本を紹介します。
何の本を呼んだら良いのか分からない時に読む記事


自己紹介

発達障害と健康の本を紹介します。

この記事では、発達障害と健康にお悩みな方に紹介したい本を掲載しています。

発達障害当事者の方の本、発達障害にありがちな体調不良でお悩みの方向けの本、発達障害があっても諦めずに前を向いて歩いていく為の読書術の本などの紹介もしております。

当事者の本の最後に、このブログの管理人、私(猫★シエスタ)の著作の本も紹介させて頂きました。

この記事が体調や心の調整が大変な方の手助けになれば幸いです。

■ 発達障害当事者の方の本 ■

就職氷河期世代&大人の発達障害
著:猫★シエスタ(このブログの管理人の著作です。)

発達障害当事者として、2012年に私が書きました「就職氷河期世代 & 大人の発達障害」を紹介させて頂きます。

ロスジェネ(就職氷河期世代)とASD(自閉症スペクトラム)の両方の生きづらさを抱えながら正社員としての一般就労、そこから障害者雇用に就労形態を変えて行った時の職業訓練、企業実習の様子、初めての障害者雇用の様子について書き綴っております。

私の年代ですと発達障害の診断が遅くなり、私の場合は31歳で初めて診断され、それまでの学生時代や一般就労での苦しみ、障害が分かった後からも支援者からの虐待、企業実習で辛い思いをしたことなどを赤裸々に綴っています。

Amazon Kindle版 購入先はこちらです。

読者アンケートも宜しくお願いします。


なんの才能もない発達障害者の声 〜 届かない声を届けたい 〜
著:猫★シエスタ

本の内容紹介YouTubeとその詳細です。

発達障害者の仕事や健康、SNSでの身の守り方など、障害はあるけれど才能が無い私のような大多数の当事者の方に向けて、「現実的な本」を書かせて頂きました。

・発達障害と毒親
・医師から見捨てられた経験
・発達障害に向かない職場
・障害者雇用の闇
・発達障害とSNS
・AIと何の才能も無い私の未来
・発達障害と年末年始
・ヘルプマークの優先席事情
・転職活動で作成した資料の公開
・障害者雇用の事務補助のお仕事で最低限身に付けておきたいExcelなどのショートカットキー
・発達障害の依存症を子どもむけプログラミングの「スクラッチ」で解消したこと

などを掲載しております。

​​​​​​​また、私は趣味で写真を取っていて、日本滝百選に選ばれた払沢の滝や、江ノ島と富士山、スカイツリーなどの風景写真も掲載致しました。

発達障害には色々なタイプの方がいるからこそ、多くの方に本を出版して欲しいと思い、Kindle版でのセルフ出版の手順も解説しております。

Amazon Kindle版 購入先はこちらです。

読者アンケートも宜しくお願いします

■ 健康でお悩みの方向けの本 ■

めまいは自分で治せる
著者:荒井基洋

単行本

発達障害の中には、疲れやすさやめまいで悩んでいる方も
割と多くいらっしゃると思います。
家庭でも簡単に出来るリハビリのメニューが書かれています。
本の中にもありますが、病院で心配な方は病院で相談しましょう。
リハビリのメニューは8つあって、特に苦手なメニュー
(私の場合はハーフターン)についてはどんなに忙しくてもやっています。


発達障害には、「学習障害」がありますよね。
私は、「読む」ことが苦手で、色々と諦めて来ました。
しかし、プログラミングは諦めたくないので、速読の勉強をすることにしました。
この速読の本ですが、速読の効果を高めるための食事についてもか書かれています。
この機会に、私自身、食生活を見直しました。

◆ その他の読書リスト ◆

心がラクになる本
何の本を読んで良いのか分からない時に読む記事

◆ 本を読むのもシンドイ時 ◆
息抜きに、写真で癒し(=^x^=)

ストレス解消グッズ

自己紹介

10アセンブラCASL2で「ソーシャルディスタンス」を大文字に変換

この記事ではアセンブラ言語で、「Social Distance(ソーシャルディスタンス)」の文字列を、文字コードの演算を使って、小文字から大文字に変換する処理を学べます。

また、少しでも伝わりやすくなればと思い、シンプルな図解を掲載させて頂きました。

この記事では、こちらのWebのシミュレーターを使っています。
ダウンロードすることなく、素早くアセンブラの勉強が出来る、私が使った中で1番便利なシミュレーターです。

ソーシャルディスタンスは、英語で書くと「Social Distance」です。
大文字と小文字が交じっておりますが、この文字列を全部大文字に変換する
サブルーチンを作りました。

イメージはこちらです。

配列MOJIがあって、緑色の所が大文字に変換した所です。
この配列は、添え字が0番目から14番目まであります。


レジスタはGR1~GR3まで使い、それぞれの役割は、

GR1が「Social Distance」が格納されている配列の先頭アドレスから最後尾のアドレスまで、処理中の文字のアドレスを指し示し、

GR2は文字数の15で、ループカウンタとして使います。

GR3は、GR1が指し示すアドレスの中身、つまり処理中の文字そのものを指します。

大文字の文字コードは、小文字の文字コードよりも20小さいです。
例えば、’A’ は「0041」で、’a’は「0061」です。

そこで、文字コードが小文字の’a’の「0061」より小さい場合は大文字として判断します。

最初の文字の ‘S’ は大文字なのでそのままです。
大文字のSの文字コードは「0053」です。

文字コードが小文字の’a’の「0061」より小さい場合は大文字として判断するので、この場合は、変換の処理を飛ばします。

‘a’以上で、’z’の「007A」以下の場合は大文字変換の対象になりますので、文字コードを20マイナスします。

文字コードについてはこちらの外部記事が分かりやすいです。

出力結果です。

プログラムはこちらです。
少しでも「密」を避けて、早くコロナが収まりますように、という願いを込めて作ってみました。

TEST START
 RPUSH
 OUT MOJI,LEN
 LAD GR1,MOJI ;GR1にMOJIの先頭アドレスを指定
 LD GR2,LEN   ;GR2に文字数を格納
 CALL UPPER   ;大文字に変換するサブルーチンUPPERを呼び出す
 OUT MOJI,LEN
 RPOP
 RET
MOJI DC 'Social Distance'
LEN DC 15

;大文字に変換するサブルーチンUPPER
UPPER RPUSH

;<<大文字判定ループ>>
LOOP LD GR3,0,GR1  ;GR3に配列MOJIの文字を読み込む
 CPL GR3,='a'      ;その文字の文字コードを小文字の「a」と比較
 JMI SKIP          ;文字コードがaより小さかったらSKIPへ分岐
 CPL GR3,='z'      ;小文字の「z」と比較
 JPL SKIP
 SUBL GR3,=#20     ;文字コードを20引いて「小文字 → 大文字」に変換
 ST GR3,0,GR1      ;上で大文字にした文字を配列MOJIに格納
SKIP LAD GR1,1,GR1     ;配列MOJIを1つ先に進める
 SUBL GR2,=1       ;ループカウンタにしているGR2から1を引く
 JPL LOOP          ;ループカウンタがプラスであればLOOPへ

 RPOP
 RET

 END

では、実際に動かしてみます。

サブルーチンの中で、更にサブルーチンUPPER(大文字に変換するサブルーチン)を呼び出して、戻ってきたら大文字に変換した文字列を出力します。

最初のOUT命令で、元の文字列が出力されます。

GR1に、配列MOJIの先頭アドレスが入ります(実行環境によって異なります。)

GR2に、文字数15(16進数でF)が入ります。

GR3に、最初の文字の大文字のS(文字コード0053)が入ります。

小文字の’a’(文字コード0061)と比較して、小さかったのでSFのフラグが立ちました。

文字列を次に進めます。

ループカウンタをデクリメントします。

ループの先頭に戻ります。

次の文字、小文字の’o’(文字コード006F)を読み込みます。

小文字の’z’より小さいのでフラグが立ちました。
つまり、小文字の’o’は、’a’以上’z’以下ですので、小文字だと判定され、大文字に変換する処理の対象となります。

大文字に変換するのに、文字コードを20マイナスしました。
大文字に変換した’O’ を配列に格納します。

配列を1つ先に進めます。

ループカウンタを1つデクリメントしました。

ループの先頭に戻ります。
これを、「Social Distance」の最後の文字「e」まで進めます。

「c」の処理が終わり、ループカウンタがデクリメントされ、ループの先頭に戻った所のレジスタの値です。

GR3に、最後の文字「e(文字コード65)」が入りました。

a以上z以下なので、大文字に変換対象です。
文字コードがマイナス20されました。

GR2のループカウンタがデクリメントされて、ゼロフラグが立って、ループを抜けます。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

瀬戸内しまなみ海道の海です。
撮影したのは平成15年(2003年)で、写ルンですで撮影した写真を復刻しました。


ここから、復習&アウトプットタイムです!!
下記のコードをシミュレーターにコピペして、コメントを頼りに先ほどのコードを覚えているか入力して見て下さい。

上手く動いたら、値などを好きなように変えて動かして見て下さい。

この復習は学習直後は勿論、明日など少し日を開けて行うと、更に効果的です!!

TEST START
 RPUSH
 OUT MOJI,LEN
;GR1にMOJIの先頭アドレスを指定
;GR2に文字数を格納
;大文字に変換するサブルーチンUPPERを呼び出す
 OUT MOJI,LEN
 RPOP
 RET
MOJI DC 'Social Distance'
LEN DC 15

;大文字に変換するサブルーチンUPPER
UPPER RPUSH

;<<大文字判定ループ>>
;GR3に配列MOJIの文字を読み込む
;その文字の文字コードを小文字の「a」と比較
;文字コードがaより小さかったらSKIPへ分岐
;小文字の「z」と比較
;文字コードがzより大きかったらSKIPへ分岐
;文字コードを20引いて「小文字 → 大文字」に変換
;上で大文字にした文字を配列MOJIに格納
;配列MOJIを1つ先に進める
;ループカウンタにしているGR2から1を引く
;ループカウンタがプラスであればLOOPへ

 RPOP
 RET

 END

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

しまなみ海道の夕暮れです。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

フォトストック写真ACさんのプロフィールページ

自己紹介


アセンブラ自作サンプルとFE出題範囲のアリゴリズムへ

アセンブラ過去問プログラムへ


プログラミング未経験者はアセンブラと表計算どっち!?



基本情報技術者試験トップへ

午前免除試験

午後試験のオススメ本

スコアレポート

09 アセンブラCASL2で推しのライブまでの日数をカウントダウン!!

この記事ではアセンブラ言語で、単純なループとデクリメントを通してカウントダウンの処理が学べます。

過去問でも分岐命令JPL(比較対象の数よりも大きい場合に分岐)なども出てきましたので、過去問前の腕試しに読んで頂けたら嬉しいです。

推しのライブまで後何日かといったことを求めるサブルーチンを作ってみました。

この記事では、こちらのWebのシミュレーターを使っています。
ダウンロードすることなく、素早くアセンブラの勉強が出来る、私が使った中で1番便利なシミュレーターです。


まず、OUT命令で「Enter your favorite name(推しの名前を入力)」と出力します。
その後、INとOUT命令で、あなたの推しの名前を入出力します。


推しのライブまでの日数を5days、4days、3days、2daysまでカウントダウンして、
その後「1-DAY!! TOMORROW」、「DAISUKI!!」と出力します。

日数が5,4,3,2,とカウントされ行き2日までは、day”s”ですよね、複数形で。
「days.」という日数の単位も含めて出力しております。

ここから、プログラムの一部である、ループの部分を抜粋をします。
GR1を日数の5から1までのループカウンタに使います。

ループに入る前に、ループカウンタGR1に5を読み込みます。

日数をDAYSに格納して出力する際、5を出力する場合は、’5’の文字コードは「0035」です。

GR2に’0’(文字コード0030)を読み込んで、GR1の5とGR2の「0030」を加算して、GR2を「0035」にすることによって出力しています。

出力の際、ST命令でDAYSに格納してOUT命令で出力しています。

文字コードについてはこちらの外部記事が分かりやすいです。

;<<ここからループ>>

LOOP LD GR2,='0' ;GR2に'0'を読み込む
 ADDL GR2,GR1 ;出力する為、文字コード'0'(0030)が入っているGR2にGR1を加算
 ST GR2,DAYS ;ST命令でGR2の日数をDAYSに格納する
 OUT DAYS,LEND ;OUT命令でDAYSに入っている日数を出力
 SUBL GR1,=1 ;GR1をデクリメント
 CPL GR1,=1 ;GR1の値と1を比較 ココ注目!!
 JPL LOOP ;GR1が1より大きい間はループを繰り返す ココ注目!!

;<<ループここまで>>

上記のコードの抜粋部分の下から2つ目と1番下の、ココ注目!! と書いてある箇所をご覧下さい。

日数5、4、3、2までは、日数(GR1)>1ですよね。

そこで、CPL命令を使ってGR1のカウンタの値と1を比較し、ライブまでの日数>1、つまり2日まででしたら、ループを繰り返すという命令にしました。

JPLで、1と比べてPLUSでしたらLOOPへジャンプして分岐しています。

分岐命令についてはこちらの外部記事が分かりやすいです。

カウントダウンして、ライブ前日である日数が1日になったらループを抜けます。
ループを抜けた後は、「明日」の出力と、推しへの愛を込めて「DAISUKI!!」と出力します。

では、プログラム全てです。

TEST START
 RPUSH

 OUT NAME,LEN ;OUT命令で「Enter your favorite name(推しの名前を入力)」を出力
 IN OSHI,LENO ;IN命令で推しの名前を入力
 OUT OSHI,LENO ;入力した名前を出力

 LAD GR1,5 ;GR1に5を読み込む(GR1をループカウンタに使用)

;<<ここからループ>>

LOOP LD GR2,='0' ;GR2に'0'を読み込む
 ADDL GR2,GR1 ;出力する為、文字コード'0'(0030)が入っているGR2にGR1を加算
 ST GR2,DAYS ;ST命令でGR2の日数をDAYSに格納する
 OUT DAYS,LEND ;OUT命令でDAYSに入っている日数を出力
 SUBL GR1,=1 ;GR1をデクリメント
 CPL GR1,=1 ;GR1の値と1を比較
 JPL LOOP ;GR1が1より大きい間はループを繰り返す

;<<ループここまで>>

 OUT DAY1,LEND1 ;OUT命令であと1日と出力
 OUT MSG,LENM ;OUT命令で推しに「DAISUKI!!」と出力


 RPOP
 RET

NAME DC 'Enter your favorite name!';文字列「Enter your favorite name!」
LEN DC 25 ;その文字数
OSHI DS 256 ;推しの名前の領域を確保
LENO DS 256 ;推しの名前の文字数の領域を確保
DAYS DS 1 ;日数の領域を確保
LEND DC 7 ;日数の文字数
DAYCOUNT DC 'days.' ;出力する日数の単位
DAY1 DC '1-DAY!! TOMORROW!!' ;あと1日の文字列
LEND1 DC 18 ;あと1日の文字数
MSG DC 'DAISUKI!!' ;文字列「DAISUKI!!」
LENM DC 9 ;その文字数

 END

では、実際に動かしてみます。
推しの名前は「山田太郎(TARO.YAMADA)」とします。

「推しの名前を入力して下さい」と英文で出力します。

早速、「TARO.YAMADA」と入力します。

(このシミュレーターでは、入力とともにコンソールに表示されます。)

推しの名前を出力します。

GR1にループカウンタの5が入りました。

<<ここからループです。>>

GR2に文字コードの’0’である「0030」が読み込まれました。

GR2に「0030」とGR1の「0005」が加算され、「0035」になりました。

ST命令で「0035」である’5’がDAYSに格納されました。

コンソールに「あと5日」の出力をしました。

GR1をデクリメントして4が入りました。

GR1の値(現在4)と1を比較します。

1より大きいので、ループの先頭に戻ります。

———-

GR2に文字コードの’0’である「0030」が読み込まれました。

GR2に「0030」とGR1の「0004」が加算され、「0034」になりました。

ST命令で「0034」である’4’がDAYSに格納されました。

コンソールに「あと4日」の出力をしました。

GR1をデクリメントして3が入りました。

GR1の値(現在3)と1を比較します。

1より大きいので、ループの先頭に戻ります。

———-

GR2に文字コードの’0’である「0030」が読み込まれました。

GR2に「0030」とGR1の「0003」が加算され、「0033」になりました。

ST命令で「0033」である’3’がDAYSに格納されました。

コンソールに「あと3日」の出力をしました。

GR1をデクリメントして2が入りました。

GR1の値(現在2)と1を比較します。

1より大きいので、ループの先頭に戻ります。

———-

GR2に文字コードの’0’である「0030」が読み込まれました。

GR2に「0030」とGR1の「0002」が加算され、「0032」になりました。

ST命令で「0032」である’2’がDAYSに格納されました。

コンソールに「あと2日」の出力をしました。

GR1をデクリメントして1が入りました。

GR1の値(現在2)と1を比較します。

1と等しいので、ZF(ゼロフラグ)が立ちました。

<<ループはここまで>>

ループを抜けました。

「あと1日、ついに明日」と出力されました。

「大好き!!」、と出力されました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

日暮里駅から徒歩数分の、「夕やけだんだん」です。
東京下町の観光地、谷根千、谷中銀座付近の観光スポットです。


ここから、復習&アウトプットタイムです!!
下記のコードをシミュレーターにコピペして、コメントを頼りに先ほどのコードを覚えているか入力して見て下さい。

上手く動いたら、値などを好きなように変えて動かして見て下さい。

この復習は学習直後は勿論、明日など少し日を開けて行うと、更に効果的です!!

TEST START
 RPUSH

;OUT命令で「Enter your favorite name(推しの名前を入力)」を出力
;IN命令で推しの名前を入力
;入力した名前を出力

;GR1に5を読み込む(GR1をループカウンタに使用)

;<<ここからループ>>

;GR2に'0'を読み込む
;出力する為、文字コード'0'(0030)が入っているGR2にGR1を加算
;ST命令でGR2の日数をDAYSに格納する
;OUT命令でDAYSに入っている日数を出力
;GR1をデクリメント
;GR1の値と1を比較
;GR1が1より大きい間はループを繰り返す

;<<ループここまで>>

;OUT命令であと1日と出力
;OUT命令で推しに「DAISUKI!!」と出力


 RPOP
 RET

NAME DC 'Enter your favorite name!';文字列「Enter your favorite name!」
LEN DC 25 ;その文字数
OSHI DS 256 ;推しの名前の領域を確保
LENO DS 256 ;推しの名前の文字数の領域を確保
DAYS DS 1 ;日数の領域を確保
LEND DC 7 ;日数の文字数
DAYCOUNT DC 'days.' ;出力する日数の単位
DAY1 DC '1-DAY!! TOMORROW!!' ;あと1日の文字列
LEND1 DC 18 ;あと1日の文字数
MSG DC 'DAISUKI!!' ;文字列「DAISUKI!!」
LENM DC 9 ;その文字数

 END

アセンブラCASL2のおススメ本です。

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

谷根千の招き猫です。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

フォトストック写真ACさんのプロフィールページ

自己紹介


アセンブラ自作サンプルとFE出題範囲のアリゴリズムへ

アセンブラ過去問プログラムへ


プログラミング未経験者はアセンブラと表計算どっち!?



基本情報技術者試験トップへ

午前免除試験

午後試験のオススメ本

スコアレポート

モバイルバージョンを終了