プログラミング基礎 I
第四回 (2005年 5月 23日):
配列とリスト
© 2005 Martin
J. Dürst 青山学院大学
授業の要点
- 復習は各自自分の進行状況に合せて行うこと
- 本を必要に応じて買うこと (すぐわかる
Perl、深沢千尋著、技術評論社、ISBN 4-7741-0817-0)
- 授業、演習で分からないときは速めに質問すること
先週の演習・宿題
- 入力した数が 素数かどうかを判断する
(ヒント: 数 n の場合、2 から n-1
までで割って、いずれも余りがでたら n
が素数)
- 1 から 1000 の間の素数を見つける (ヒント: 二重
while
)
- 日本の現在の低利子で何年かかると元本が倍になるか計算する
- ローンの払い戻し:
借りた額、利子、そして毎月や毎年の払い戻し額からローンは何年で払い戻せるかを計算する
- ローンの逆計算: ある条件 (払い戻し期間と額、年利)
でいくら借りられるか等
リストの基本機能
- 括弧で囲まれている、コンマで区切られているデータの列
(1, 2, 3)
- データは混ぜても良い:
(1, 2.345, "Hello World")
- 変数を使っても良い:
(1, $a, $b)
配列の基本機能
- 複数のデータを収納できる変数; 変数名は
@
で始まる
@a = (1, 5, 10);
- 配列変数は代入できる:
@b = @a;
- 配列のそれそれのデータには番号でアクセスできる:
print $a[0];
注: 一個のデータなので「冠詞」は
@
から $
に変わる。$a
と
$a[0]
などは別物!
- スケーラが必要な時に
@a
は要素数を返す:
$size = @a;
配列の印刷: while
$i = 0;
while ($i < @a) {
print $a[$i], "\n";
$i++;
}
次回への準備
- 必要に応じて本を買う
- 今までの復習
- 来週のミニテスト (30 分程度) への準備
- ミニテストで予想される質問の形式:
- 知識の質問
- 簡単のプログラムの出力の予想
- プログラムのエラーの発見
- プログラムの完成 (一部書き込み)