希望テクノサービス -システム開発/ホームページ作成/ITコンサルティング-

~パソコン・サポート/IT・経営コンサルティング/Webページ作成/CAD講習/普通教科の家庭教師/Excel VBA/パソコン家庭教師



テーマ:

いま時間を見つけては、Java の練習をしています。今日行なったのは、10人分の得点をキーボードから入力し、偏差値を計算し、得点順に並べ替えるというプログラムです。ついでに、平均点と合格率を求め、平均点との境目に区切り線を引きます。

 

プログラミングの途中でエラーが出たら、これを修正していく作業を「デバッグ」といいます。プログラミングにおいてこのデバッグ作業は、非常に大事な工程です。そして一番大変でもあり、最もエキサイティングな作業です。なんと言っても、動かなかった原因を突き止め改善することによって、プログラムが正常に動くのを見るのは、これほど面白いことはなかなか無いです。言わば、「プログラムに命を吹き込む」と表現しても、大げさではないと思います。

 

では、デバッグのあらましを見てみましょう。次の画像を見てください。「①コンパイル・エラーの内容」と示された部分が、コンパイルをしようとした時に起きたエラーです。コンパイルとは、人間が理解しやすい記述ルール(言語ともいいます。今回の例では Java です)から、コンピューターが処理しやすい記述ルールへと翻訳することをいいます。画像の例では 「javac +ファイル名」というコマンドでコンパイルを実行しています。

 

 


 

 

 

ではエラーの内容を見てみましょう。if 文は条件分岐したい時に用い、 if (条件式) {処 理} と書きます。if 文は、条件式が成り立つ(= true)であれば、{ }内の処理を実行し、成り立たなければ{ }内は実行せず次の処理に移ります。ここで条件式を使っている理由は、点数が平均値を下回った時に区切り線を引くための処理です。strline という変数は文字列型で中には"――――――"(区切り線)が代入されています。それでは条件式を分解して1つ1つ見ていきましょう。

 

tensu[i] < calcHeikin(tensu) …この部分は、点数が10人分代入された配列 tensu[i] の値が平均値より小さい時に、true となります。calcHeikin(tensu)は平均値を求めるメソッドを呼び出しています。メソッドとはある決まった処理を行なえるように、別に自分で組んだプログラムの固まりです。サブルーチンと言えばお分かりでしょうか。

 

flag=0 …次にこの部分は、フラグ(旗)が立っていない(= 0)ならば、ということです。このフラグは点数が平均値を下回った時はじめてオン(= 1)になります。つまり、最初に点数が平均値を下回ったタイミングを知るためのフラグなのです。このフラグを使わないと、平均値以下の点数すべてに区切り線が引かれてしまうことになり不都合です。

 

A && B … &&は論理積の意味で、AかつBが成り立つ時ということです。(AとBは分かりやすいよう、便宜上付しています) これは、「A=true かつ B=true 」としても同じことです。つまりここでは、上で説明した二つ、すなわち、tensu[i] < calcHeikin(tensu) と、flag=0 の二条件が両方 true の時だけ、条件分岐の処理が実行されることになります。

 

それで、やっとエラーの原因についてですが、flag = = 0 と等号(イコール)を2つ付けなかったことが原因だったのです。なぜかというと、flag=0 としてしまうと、これはあくまで flag という変数に整数 0 を代入すると解釈され、flag=0 は true ではなく int (整数)として認識されるのです。ですから「 = = 」と2つ並べることによって論理値として扱われるので、やっと flag = = 0 は true として認識されます。このことが、1枚目の画像で最初の型:boolean(論理値)であるのに対して2番目の型:int(整数)と警告されているのです。正しくは、&& の両辺はどちらも論理値でなくてはならないのです。ちなみに1枚目の画像では、 (  )&&(  ) と書いてしまいましたが、2つのかっこは必要ありません。では続いて2つめのエラーを見てみましょう。

 

 

 

 

 

 

もうだいぶ長文になりましたので端折ります。③実行時のエラー内容の画像では配列のエラーが出ています。エラー文の1行目末尾に 10 の数字があることから、本来存在しないはずの配列 tensu[10]にアクセスしてしまい、エラーとなったのです。実際に宣言したのは tensu[0] ~ tensu[9] までですから、「④ここでは等号は必要ない」の画像に示した j <= i - 1 のうちの等号(=)を取り去れば、tensu[10]を呼び出してしまうことはありません。次の画像は、以上のデバッグの結果、正常に出力された結果です。(後で、名前も入力し点数等と一緒に並べ替えるように変更しました。ソースコードにはその部分は割愛しています)

 

 

 

 

だいぶ込み入った内容となりましたが、いかがでしたでしょうか。最後まで読んで頂きありがとうございました。

 

 

 

↓クリック宜しくお願いします。

にほんブログ村

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

ここ20日間ほど作成に取り組んできた、お客様のホームページが完成しました。

 

全体の色合いやデザインの骨格は、数パターンの中からお客様にお選びいただきました。クリエイティブ系のお仕事をされているお客様だけあって、さすが素晴らしい選択だったと思います。
 

今回、レスポンシブ・ウェブデザイン、スライドショーの他に、「作品例」のページに画像ギャラリーを設置しました。レスポンシブ・ウェブデザインに対応した画像ギャラリーということで、2つを両立できたことがミソです。

 

 

 

→オリジナルプリントハウス ACCESS 様のホームページ

 

 

レスポンシブ・ウェブデザイン採用ということで、タブレットPCやスマホでも自動的に最適表示され、見やすいホームページとなっています。ブラウザ(IE=Internet Explorerなど)の幅をドラッグして調節してご覧頂くと、自動で部品等の配置が切り替わることがお確かめになれます。

 

さらにブログの新規設置、カスタマイズも合わせて行ないました。リンクバナーからご覧頂けます。

 

こうしてホームページを1つ完成・公開すると、大袈裟でしょうが、可愛い愛娘を嫁入りさせたような気持になります(笑) それはともかく、ACCESSの竹本様、この度はご用命誠に有難うございました。

 

 

↓クリック宜しくお願いします。

にほんブログ村

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

今日、高齢の父を車に乗せて、緑ヶ丘公園から金太郎池に行くと、途中で鹿の一群に遭遇【そうぐう】しました。おそらく、芝草が人の手にによって刈り取られた後の新芽を、食べに降りてきたものと考えられます。

その中には、明らかに親と見られる2頭とその子も居て、カメラを向けたこちらを、興味深げに見つめていました。道産子にとって鹿ぐらい珍しいものではないですが(笑)、市街地近くで、しかもこれだけ間近で出会うと、多少驚きました。



 

 

 

 

 

↓クリック宜しくお願いします。

にほんブログ村

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

自社チラシがほとんど無くなったので新しく作成し、印刷を業者に頼みました。両面カラー印刷です。パソコン・サポートの方には「ホームページ製作します」を追加し、家庭教師の方も全体の雰囲気を刷新し、コマゴマとした表示を変更しました。

 

 

 

 

 

 

 

古いチラシは以下のリンクから見ることができます。

 

→古いチラシ

 

→さらに古いチラシ

 

あとはポスティング作業をコツコツと続けていくつもりです。

 

 

 

↓クリック宜しくお願いします。
にほんブログ村 地域生活(街) 北海道ブログ 苫小牧情報へ
にほんブログ村

いいね!した人  |  コメント(0)  |  リブログ(0)

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。