Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

学びを結果に変えるアウトプット大全

アウトプットが大切であるというのは、以前、どこかで耳にしたことがあって、だからブログに

  • 本を読んだら、少しでも感想を書いておこう
  • プログラムを書いたら載せておこう

と思って今まで続けています。読後の感想を書くのは難しく、中々うまく書けないのですが、これからも続けていきたいですね。

本書はアウトプットの効果について述べられた本ですが、印象に残ったフレーズなどを記録しておきます。たまに以下の箇条書きを見て、こんなことだったなと復習して長期記憶として残していきたいですね。

  • 柔らかく伝えるクッション話法
  • どう話すか
  • ちょくちょく話す
  • 何を学びたいか
  • 断りの技術
  • 緊張を味方につける
  • 落書きは決して悪いものではない
  • 脳の棚卸し
  • デフォルトモード・ネットワーク
  • 目標の書き方

学びを結果に変えるアウトプット大全

学びを結果に変えるアウトプット大全

ノーサイド・ゲーム

今年に入って、新たに本を読むと言うよりも、今まで読んだ本を読み返すと言う読書スタイルになってきているのですが、池井戸潤作品は話が別。ドラマが始まったのをきっかけに読んでみました。相変わらず、スカッとする面白さですね。日々のストレスを忘れさせてくれるだけではなく、正義とは何かとか考えさせられます。2019年といえば、ラグビーW杯*1が開催される年。この小説、ドラマを通してラグビー人気も盛り上がるといいですね。

ノーサイド・ゲーム

ノーサイド・ゲーム

タートルグラフィックス

平成16年度秋期基本情報午後問10で出題されたタートルグラフィックスは、マーカー(亀)の方向を上下左右の4方向しか指定できない簡易的なものでした。

左右の回転コマンドを追加すると、もう少し面白くなるのではと思い、rコマンド(右回転)とlコマンド(左回転)を追加してみました。

turtle_graphics.c

実行結果

  • 25前進(f25)
  • 144度右方向に回転する(r144)

これを5回繰り返すコマンド{5f25r144}を実行してみました*1

$ gcc turtle_graphics.c && ./a.out > picture.tex
$ ptex2pdf -u -l picture.tex && open picture.pdf

f:id:rahaema:20190622155429p:plain

関連

*1:実行するには、LaTeX2e環境が必要です。

思い邪なし 京セラ創業者 稲盛和夫

当然、隣県ご出身の稲盛和夫さんのお名前は知っていはいましたが、京セラを創業した方、JALの再建を果たされた方ということくらいの知識しかありませんでした。

本書を読んで、稲盛和夫さんの人となりに触れ、今まで、なんで書かれた本なりを読んでこなかったんだろうとの思いを強くしました。まさに「思い邪なく」一生懸命に人生を生きておられる方。少しでも見習いたいと思わせてくれた良書でした。

人が働くとはどういうことかが真剣に問われている本でもあり、就職活動中の学生の方などには特にお薦めしたい本だと思います。

平成16年度春期ソフトウェア開発午後問5

平成16年度春期 ソフトウェア開発技術者試験(SW)の午後問題5は、

  • Base64の変換プログラム

に関する問題でした。

f:id:rahaema:20190610204949p:plain

プログラム例(h16h_sw_pm5.c)*1

実行結果

設問1(1)、(2)を実際に実行してみました。

  • 出力結果1行目が、4バイトのデータ(10,20,30,40)をエンコードした結果の文字列です。
  • 次の10,20,30,40(改行含む)が上記の文字列をデコードしたものです。
  • 次の130,24は"ghg="をデコードした結果です。
 gcc h16h_sw_pm5.c && ./a.out
ChQeKA==
10
20
30
40

130
24

関連

*1:エンコード出力時に、76文字ごとに改行すること、最後の行は76文字未満でも改行するという条件は未実装です。

平成16年度春期基本情報午後問10

平成16年度春期 基本情報技術者試験(FE)の午後問題10は、

  • C言語の注釈を除去して標準出力へ出力するプログラム

に関する問題でした。

f:id:rahaema:20190603215346p:plain

プログラム1(h16h_fe_pm10_1.c)

実行結果

コンパイル後、自分自身(h16h_fe_pm10_1.c)の注釈を除去してみました。うまく除去できているようですが、これはたまたまうまく実行できたにすぎません。

$ gcc h16h_fe_pm10_1.c && ./a.out < h16h_fe_pm10_1.c
#include <stdio.h>
void quote(char );

int main(void) {
  int c1, c2;

  while ((c1 = getchar()) != EOF) {

    if (c1 == '\'') quote('\'');

    else if (c1 == '\"') quote('\"');

次に9行目をif (c1 == '\'')だけにして実行してみると、以下のように注釈文がきちんと除去されませんでした。これは設問1の内容ですが、先の実験が偶然うまくいったにすぎないということが分かりますね。

$ ./a.out < h16h_fe_pm10_1.c
#include <stdio.h>
void quote(char );

int main(void) {
  int c1, c2;

  while ((c1 = getchar()) != EOF) {

    if (c1 == '\'')
    /* 二重引用符の検出 */
    else if (c1 == '\"') quote('\"');

プログラム2(h16h_fe_pm10_2.c)

プログラム1の欠点を修正したものが以下です。

実行結果

プログラム1では除去できなかった注釈文を今度はきちんと除去することができました。

$ gcc h16h_fe_pm10_2.c && ./a.out < h16h_fe_pm10_1.c
#include <stdio.h>
void quote(char );

int main(void) {
  int c1, c2;

  while ((c1 = getchar()) != EOF) {

    if (c1 == '\'')

    else if (c1 == '\"') quote('\"');

関連

平成16年度春期基本情報午後問6

平成16年度春期 基本情報技術者試験(FE)の午後問題6は、

  • n個の点が与えられたとき、これらの点を全て含む円のうち、半径が最小である円の中心座標と半径を求めるプログラム

に関する問題でした。n個の点の座標やLOOPMAXを色々と変化させて試してみると面白そうですね。

f:id:rahaema:20190602212426p:plain

プログラム例(h16h_fe_pm6.c)

実行結果

$ gcc h16h_fe_pm6.c && ./a.out
  円の中心座標 (  55.00000000,  55.00000000 ) 半径 =  45.27692569

関連