<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>プログラミングでもやってみよう</title>
<link>https://ameblo.jp/arpneil/</link>
<atom:link href="https://rssblog.ameba.jp/arpneil/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>プログラミング初心者のブログです。</description>
<language>ja</language>
<item>
<title>望洋のList 6-4で困る。</title>
<description>
<![CDATA[ 初歩的な間違いということでつらいものだが、数時間つまづいてようやく問題解決に至ったので、そのことを書いておきます。<br><br>柴田望洋の『新版 明解C言語 入門編』のList 6-4を勉強にと思ってプログラムをそのまま書いて、コンパイル。<br>ところが、その結果が、<br><br><br><a href="http://stat.ameba.jp/user_images/20100812/13/arpneil/12/4a/j/o0450020610689156093.jpg"><img src="https://stat.ameba.jp/user_images/20100812/13/arpneil/12/4a/j/o0450020610689156093.jpg" alt="$プログラミングでもやってみよう" border="0"></a><br><br>一応全体では次のようになってる。<br><br><a href="http://stat.ameba.jp/user_images/20100812/12/arpneil/20/71/j/o0669048810689059944.jpg"><img src="https://stat.ameba.jp/user_images/20100812/12/arpneil/20/71/j/t02200160_0669048810689059944.jpg" alt="$プログラミングでもやってみよう" width="220" height="160" border="0"></a><br><br>こんなことに。実数を入力して、それから整数を入力すると、実数を整数乗した結果がでるはず。そのはずが整数の入力がされないままに、勝手に数値が入力されてしまう様子。エラーも出ないで実行されてしまう。<br><br>んーーなんだろうと思ってずっと考えたり、もう一度入力しなおしたりしていたが、やっぱり同じエラーが。List 6-5は乗数計算の関数を別の仕方で短く書いたものなので、それも入力してコンパイル。実行をしてみた。これでも同じエラー。……だとすると、main関数のほうなのか。望洋の本と見比べてじっくりと一致確認をしていくがわからないまま。あやしそうなのは数値入力のところ。scanfのあたりが怪しい。だが、それでもわからない。<br><br>そうなると責任転嫁となる。これは望洋本の誤植に違いない。ということで、List 6-4 誤植というキーワードで検索してみる。これで犯人がわかるはずだ。……だが、残念なことに検索結果はノーヒット。該当するような誤植の指摘はない。やっぱり入力間違いの可能性が高くなる。int double、%dとかの入力間違いを再度チェック。しかしやっぱり出てこない。<br><br><br>あ、わかった。本には次のように実数値の入力部分が書かれている。<br><br><font size="5">scanf("%lf", &amp;x);</font><br><br>これを間違って、<br><br><font size="5">scanf("%1f", &amp;x);</font><br><br>と入力してしまっていたのだ。望洋本のフォントだと、エルの小文字は「１」に非常に近く、頭の部分が曲がっていて、下に横棒がある。くそー。クレームもんだよな。<br><br>実際に二つのフォントの比較をしてみよう。フォントは太文字になっていて、同じフォントでエルと１が出ているページを探してみた。256ページにs1という文字列名とwhileが太文字で出ていた。１とエルはやっぱりかなり似ていた。<br><br>常識がないのが問題だけど、フォントとしてもわかりにくいよな。<br><br>検索途中で、ライフゲームというのを見つけた。<br><br>http://d.hatena.ne.jp/ichirin2501/20100224/1267016447<br><br>C言語なので、コピーして、学習用Ｃ言語開発環境最新版で実行。<br>残念ながら、画面で流れていってしまい、実行状態はよくわからない。<br>数値が増えているのはわかるが、画面が下から上へ流星のように流れている。<br>これが別の意味できれいに見える。<br><br>みていたらこのブログは面白い。プログラミングの話が中心だが、数学関連の話もあって、OEISについて触れられていた。整数に関するデータベースサイトらしい。<br><br>http://www.research.att.com/~njas/sequences/<br><br>日本語版もあるが、かなり限定されているとのこと。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10617383610.html</link>
<pubDate>Thu, 12 Aug 2010 11:57:10 +0900</pubDate>
</item>
<item>
<title>printfとはなんなのか。</title>
<description>
<![CDATA[ C言語入門といえばprintf。文字列を出力してくれる関数、stdio.hで宣言されてる関数。初心者用として説明されながら、本当は攻撃される可能性があるから、実用的ではないのだ、こんな具合の説明。なんでそれなら最初から使わないでおかないのだろう。。疑問を感じる。<br><br>printfとはprint formatの略。可変引数を持つ関数で、プロトタイプのチェックがされないのが重要らしい。その為に、逆引き大全では、引数を指定しないprintfをコンパイルしてもエラーが出ないのだと指摘している。<br><br>http://ja.wikipedia.org/wiki/Printf<br><br>可変引数を持つ関数としては、他にvastart(), va_end(), va_arg, vfprintf(), vprintf(), vsprintf()がある。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10617084356.html</link>
<pubDate>Wed, 11 Aug 2010 23:39:50 +0900</pubDate>
</item>
<item>
<title>0xdeadbeafってなんだろ。</title>
<description>
<![CDATA[ C言語逆引き大全500の極意を見ていたら、0xdeadbeafというのが出てきた。「死肉」というタイトルのコラムでなんだろうとちょっとビビる。これで間違って画像検索したら。。<br><br>コラムの人が言っているように、よく見るとbeafでbeefとは違っている。牛というわけじゃないらしい。これは一応16進数に収まった英語表記になっていて、マジックナンバーやフラグとして使われるということ。hogeなんかと一緒なのだろう。<br><br>検索をかけてみるが、0xdeadbeafについては細かい話は日本語では出てこない。無意味な数値で埋めるために0xdeadbeafが使われるような例として使われるぐらい。その他だと、0xdeadbeafという名前でOKWaveのユーザー登録があったり、ブログのurlに使われていたりするぐらい。日本語情報はまったく不足してます。でもおそらく学校とかではつかわれるんだろうなあ。。<br><br>http://logsoku.com/thread/pc11.2ch.net/os/1213802731/401-500<br><br>を見ていたら、0xdeadbeaf以外にも0xcafebabeというのがあるらしい。0で埋めるとわかりにくくなるのを回避するため。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10616943939.html</link>
<pubDate>Wed, 11 Aug 2010 23:10:46 +0900</pubDate>
</item>
<item>
<title>学習用Ｃ言語開発環境を使ってみる</title>
<description>
<![CDATA[ PHPをやろうと思っていたが、配列とかがわからない。<br>そこで前に買っていた『C言語ポインタ完全制覇』を見つけ出して、<br>久々に読んでみた。うーん、前よりもわかりそうだ。<br>ということで、数日間、飛ばし読みをしておいて、<br>柴田望洋の『明解C言語入門編』を電車で読むことにする。<br><br>ひとりよがりの妄想かもしれないが、なんかイケそうな感じである。<br>でも面倒なのがソフトだ。Cのコンパイラを入れないといけないので、<br>Linuxでやるか、Windowsにソフトを入れるか。。<br>迷った挙句に窓の杜の学習用Ｃ言語開発環境というソフトを発見。<br>さっきインストールしたばかりだが、柴田のプログラムを一つ入力。<br>正の整数を入力すると、その数まで数え上げ表示をする。<br>実行してみたら、うまくいった。<br><br>まあ、とりあえずの開始としてはこういうソフトもいいかもしれない。<br>ちょっと楽し過ぎな感も否めないけど。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10595659404.html</link>
<pubDate>Tue, 20 Jul 2010 08:25:09 +0900</pubDate>
</item>
<item>
<title>ボーリングの計算。</title>
<description>
<![CDATA[ 『ノン・プログラマのためのPHP入門 10日間コース』のボーリングの計算があって、それが以前から引っかかっていた。配列についての説明がさらりと終わって、ボーリングの10フレームをrand関数で出していき、それを配列として出す。さらに、ボーリングの結果の計算、そして結果全体を表組をするというもの。<br><br>引っかかっていたのは、配列の部分での結果が出てくる流れ。if文で10フレーム目と1-9フレーム目までを分け、ループで1-10フレームの結果を配列として出す。この当たりの流れがわかっていなかった模様。<br><br>『PHP逆引きレシピ』を手にとって、配列の当たりを参照した。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10584782895.html</link>
<pubDate>Thu, 08 Jul 2010 10:04:55 +0900</pubDate>
</item>
<item>
<title>船頭といっしょに</title>
<description>
アメンバー限定公開記事です。
</description>
<link>https://ameblo.jp/arpneil/amemberentry-10583943092.html</link>
<pubDate>Wed, 07 Jul 2010 13:16:55 +0900</pubDate>
</item>
<item>
<title>アメブロは初めてです。</title>
<description>
<![CDATA[ ひさびさのブログを書き始めたので、知らないのを使ってみようとアメブロにしました。<br>ピグというのがあるのでさっそく試しでやってみたけど、うーん、わからない。<br><br>七夕の場所に行ってうろうろ。<br>ブログの内容からいって、ちょっとあっていない気がするな。<br><br>まあ、試し試し。<br>よくわかってないので、よろしくお願いします。
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10581646138.html</link>
<pubDate>Sun, 04 Jul 2010 22:12:06 +0900</pubDate>
</item>
<item>
<title>echoとprintはどう違うのか。</title>
<description>
<![CDATA[ PHPの質問スレ「【PHP】下らねぇ質問はID出して書き込みやがれ」を見ていたら、echoとprintの違いについてが最初の方に出ていたが、参考ページがリンク切れ。仕方無しに見て回ってみる。<br><br>printはブール値を返すので若干遅い。返り値があるということ。<br>シェルコマンドとして使う場合、ksh、zsh、bashにはprintコマンドがあるが、shにはprintコマンドがない。……そうだよな。Linuxのコマンド本を見たら、echoはあるが、printはない。<br><br>さらに、次のような「,」でつないで表示する場合に違いが出る。<br><br>print "wild","wild"; // エラー発生。<br>echo "wild","wild"; // そのまま出力。複数の引数を使える。<br><br>よくわからないが、この二つは関数ではなくコマンドとか言語構造だという記載がある。そうなんだろうか。<br><br>ざっと見てみるが、google検索の結果ですぐに出てくるものでは、すっきりとした回答が見つからなかった。<br><br><a href="http://e0166.blog89.fc2.com/blog-entry-169.html" target="_blank">PHPが出来るという事で採用した新人は、PRINTの時点でもうわからない</a><br><br>みていたら、新人がechoやprintもわからないことに唖然としている、という記事を見つける。……これって、また違うレベルの話をしているようだな。echoやprintって当然わかるだろ、ということを前提にしているので、今回の話題とは違っている。PHPを知っているけど、できない新人が紹介されているが、なんだか不思議なことを言っているように思える。<br>
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10581445524.html</link>
<pubDate>Sun, 04 Jul 2010 18:37:54 +0900</pubDate>
</item>
<item>
<title>定数と変数</title>
<description>
<![CDATA[ 英語でいうとconstantsとvariables。数学でいうと、１とか２とか具体的な数字が定数で、ｘのようにいろいろな数字が入るのが変数。<br><br>定数ということで、ちょっと調べてみると、最初の文字はアルファベットかアンダースコア。それに続く文字はアルファベット、アンダースコア、数字でもいい。<br><br>変数の場合、$varというように冒頭に$が置かれて、その後の最初はアルファベットかアンダースコア。このあたりは定数と同様だ。さらに=などが置かれて、代入される数値や文字列が示される。<br><br>
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10581426743.html</link>
<pubDate>Sun, 04 Jul 2010 18:18:54 +0900</pubDate>
</item>
<item>
<title>プログラミングを覚えることにする。</title>
<description>
<![CDATA[ 途中で挫折を繰り返してましたが、やっぱりもう一度やろうとプログラミングを勉強することにします。<br><br>このブログはプログラミングの学習の記録用のブログで、忘備録として役立てることが目的なので、間違ったことや適当な内容もどんどんと書いていこうと思います。<br><br>以前に買っておいた『ノン・プログラマのためのPHP入門 10日間コース』を引っ張り出してくる。amazonの評価はちょっと微妙。読んでいて出てきたのがvar_dump関数。PHPの初歩の部分で、計算させてその結果をvar_dump関数で出力。int(10)という出力結果と、string(4)"10個"という結果が出てくる。最初のint(10)というのは計算結果が整数の10ということなのだろうが、string(4)っていうのがわからない。"10個"というのは数値計算と文字列を並べた出力結果。うーーん。なんだろう。<br><br>少し先には、print_r()関数も出現。こちらはvar_dump関数を簡略化したものらしい。初心者のつまづきって、こういうわかりにくいのが現れたときに、詳しい説明がないことなんだよな。<br><br>
]]>
</description>
<link>https://ameblo.jp/arpneil/entry-10581342795.html</link>
<pubDate>Sun, 04 Jul 2010 16:41:46 +0900</pubDate>
</item>
</channel>
</rss>
