ポケてら

プログラミング入門(2) 文法の学び方 レジュメ

プログラミング言語は、それぞれ厳格なルールがあります。それらのルールは、言語設計者やその言語の用途によって、少しずつ違います。ここでは、本当に簡単なプログラムを扱って、言語特有の文法の学び方を学びます。

資料

プログラミング2 文法の学び方

事前準備

ワーク3用 デモンストレーション

基本の出力

以下のコードを実行すると、どんな結果が出るでしょうか?ノーヒントですが、英単語の意味などから推測してみましょう。そして、結果は「どんなものか?」を詳細に予想しましょう。

<?php

echo "Hello World!!";

結果をどのように解釈したら良いでしょうか?その解釈を確かめる実験を考え、試してみることが重要です。

変数の準備(宣言)

プログラムは、コンピュータに何かをさせることです。コンピュータが行うことは「計算」です。計算で使うものは「データ」です。データとは「数字」や「文字」のことです。

つまり、コンピュータの中での出来事は「数字や文字」に、何らかの処理をしていくことです。

数字や文字などの「データ」は、必ず「入れ物(箱)」に入れて、保持しておかないと、なくなってしまいます。そこでプログラミングの世界では、「箱」を用意して、箱を使って、データ処理手順を用意します。

$a; と書くと、箱を用意したことになります。
この箱のことを「変数」と言います。

以上の説明から、以下のコードを実行したら、どんなことが起こるでしょうか?

<?php

$a;

結果を踏まえて、どのように理解すれば良いでしょうか?
絵を描いて考えてみましょう。

ワーク3 探求課題

文法を覚えるのではなく、「文法の学び方を学ぶ」ことが目的です。無理に覚えようとしなくても、使っていると勝手に覚えます。そして、ルールに意識が向いていると、覚える速度が上がっていきます。

出力1 ダブルクォーテーション

n は「改行」を意味します。echo は改行は出力しませんので、改行をわざわざ書かないと改行しません。改行文字以外にも t はタブなどと決まっています。詳しくは、「文字列・エスケープ文字」をご覧ください。

※ Mac の場合、 は、「optionキー」を押しながら、「¥円マーク」です

<?php

echo "Hello World!n";

nn と書いてみる、echo をもう一つ追加するなど、サンプルコードを変更して、探求しましょう。

出力2 シングルクォーテーション

シングルクォーテーションは「Shiftキーを押しながら7です」。ダブルクォーテーションではなく、シングルクォーテーションだったら、どうなるでしょうか?

<?php

echo 'ハロー・ワールドn';

シングルクォーテーションだと、n などの特殊な文字は、どうなるでしょうか?

出力2 変数

変数の中身を出力する方法は、以下の通りです。

<?php

$a = 1000;
echo $a;

他にも、

<?php

$a = 1000;
echo "$a です";

シングルクォーテーションだったら、どうなるでしょうか?

出力3 var_dump

var_dump という関数(道具)があります。この道具は、変数の中に何が、どのように入っているか?を知るためのものです。以下のように書いて、出力してみましょう。

<?php

$a = 1000;
var_dump( $a );

また、以下のようにも出力してみましょう。

<?php

$a = '1000';
var_dump( $a );

違いから、どんなことがわかるでしょうか?英語の単語の意味などを調べて、自分なりに仮説を立てましょう。また、書籍やインターネットの記事を見て、調査しても構いません。

4. 変数を探求する

文法を学ぶ方法に注意を払いましょう。書籍を参考にしたり、インターネットの記事を参考にしたり、言語リファレンスを参考にして試してみましょう。

4.1 変数への代入

<?php

$a = 1000;
$a = 3000;

var_dump( $a );

プログラムは、1行ずつ実行されます。最終的には、何が出力されるでしょうか?でも、途中では、どんなことが起こっているでしょうか?それを確かめるには、どうしたら良いでしょうか(どうコードを書き換えれば良いでしょうか?)

<?php

$a;
var_dump( $a );

Paiza でなければ、エラーではなく NULL が表示されます。このように「箱に何も入れずに使う」のは、よくないことです(理由は、そのうちわかります)。

4.2 変数への代入

<?php

$a = 100 + 200;
var_dump( $a );

= の右側から順番に処理されるという「ルール」です。さて、どんなことが起こるでしょうか?

<?php

$a = 100;
$b = 200;
$c = $a + $b;

var_dump( $c );

実行結果は、どうなるでしょうか?

<?php

$a = 100;
$b = 200;
$a = $a + $b;

var_dump( $a );

4.3 変数の「型」

変数(箱)には、入れられるものによって種類が分かれます。例えば、「整数」を入れる場合は、 int型の箱、文字列を入れる場合は String型の箱、小数点なら float型と、様々に決まっています。

型が決まっているべき理由は、そのうちわかります(安全性のためです)。

どんな箱があるでしょうか?
どんなことが起こるでしょうか?

<?php

$a = '1000';
$b = $a + 100;

var_dump( $b );
<?php

$a = 0.05
var_dump( $a );

$b = 1000;
var_dump( $b );

$c = 'hello';
var_dump( $c );
<?php

$a = 1000;
$b = $a + 'hello';

var_dump( $b );
<?php

$a = 1000;
$b = $a . ' hello';

var_dump( $b );

. は、文字を結合(連結)する命令です。

<?php

$a = 1000;
$b = 1000;

$n = $a + $b;
var_dump( $n );

$s = $a . $b;
var_dump( $s );

他にも、試してみよう

あくまでも「文法を学ぶ力をつける」という意識で、インターネットの記事や、PHPの言語リファレンスを読んで、色々と試してみましょう。

オフライン、モバイルで視聴する

1. はじめに


閲覧するには、ログインしてください 

2. Good and New


閲覧するには、ログインしてください 

3.1 文法の学び方


閲覧するには、ログインしてください 

3.2 デモンストレーション


閲覧するには、ログインしてください 

3.4 振り返り


閲覧するには、ログインしてください 

4.1 文法の学び方を練習する


閲覧するには、ログインしてください 

5. まとめ


閲覧するには、ログインしてください 

いいね:


%d人のブロガーが「いいね」をつけました。