PowerPoint資料

Download Report

Transcript PowerPoint資料

基礎プログラミング
第3回
メニュー
• 前回の復習
• 動かない!
– パターン1,2,3
• sample01.plの拡張
– コメント,文字列結合,数値計算
• perlの演算子1
– 数値演算子
• まとめ
2
前回の復習(1)
• 大事なこと知識編
– perlの実行には最低2ステップ必要
プログラム(ソースプログラム)を書く
ソースファイルの名前は *.pl
ソースをperlインタプリタに渡して実行
インタプリタは perl.exe (.exeは省略可)
> perl.exe sample01.pl
> perl sample01.pl
3
前回の復習(2)
• 大事なこと知識編つづき
– perlの実行
コマンドプロンプト(MS-DOS)上で行う
Y:\perl> perl sample01.pl で実行
– コマンドプロンプト(MS-DOS)では
マウスでなくキーボードでのコマンド入力が主
マウスで画面をクリックしても何も起こりません
4
前回の復習(3)
Windows
エディタ
ソース
ファイル
MS-DOS(コマンドライン)
Perl
インタプリタ
実行結果
5
前回の復習(4)
• 大事なこと約束編-この授業では– プログラムを書くためのエディタは
TeraPadを使用する
– この授業の作業場所(ディレクトリ)は
Y:¥perl> とする
– よく使うソフトウェアは
コマンドプロンプト,TeraPad,perl.exe
インターネットエクスプローラ(授業情報など)
6
前回の復習(コマンドプロンプト)
• コマンドプロンプトの起動
[スタート]→[すべてのプログラム]→[アクセサリ] →[コ
マンドプロンプト] で起動
東京外国語大学の環境では,コマンドプロンプトの
黒い画面に次のように表示されるはず
Microsoft Windows XP [Version 5.1**]
(C) Copyright 1985-2001 Microsoft Corp.
Y:\>
7
前回の復習(コマンドプロンプト)
• 簡単なMS-DOSのコマンド
• ディレクトリを作る mkdir
Y:\> mkdir perl
これで Yドライブにperlというディレクトリができる
ディレクトリ=フォルダ
• ディレクトリ内のファイルを一覧する dir
Y:\> dir
ファイルの一覧が表示される
8
前回の復習(コマンドプロンプト)
• 作業ディレクトリを移動する cd
Y:\> cd perl
すると,
Y:\perl> と表示が変わる.
Y:\perl> dir としてもファイルがないはず
(重要) この授業では,今後 Y:\perl を実習の
ためのディレクトリとして使用する
9
前回の復習(エディタ)
• TeraPadの起動
[スタート]→[すべてのプログラム]→[TeraPad]
→[TeraPad]
プログラムを書く
10
前回の復習(エディタ)
• 以下のプログラムコードをタイプしてソースファイ
ルを作成する(全部半角英数字)
11
前回の復習(エディタ)
• タイプしたプログラムを保存
[ファイル]→[名前をつけて保存]
保存する場所(I)
: Y:\perl
ファイル名(N)
: sample01.pl
ファイルの種類(T) : perlファイル(*.cgi*.pl)
として保存
12
動かない!
• sample01.pl をちょっと変えてみる.
print ”Hello Perl”;
→
pritn ”Hello Perl”;
として, sample02.pl という名前で保存.
13
動かない!
• sample02.pl を perlで実行してみる
Y:\perl> perl sample02.pl
どうなるか?
14
動かない!
• errorが出る.
15
動かない!
String found where operator expected at sample01.pl line1,
near …….
……
syntax error at sample01.pl line 1, near …..
Execution of sample01.pl aborted due to …..
これは構文エラー →入力ミスの場合が多い
例: pritn ”Hello perl”;
16
動かない!2
• ファイル名を間違えてみる
Y:\perl> perl sample002.pl
どうなるか?
17
動かない!2
• errorが出る.
18
動かない!2
Can’t open perl script ”sample002.pl”:
No such file or directory
そんなファイルはない!と怒られている.
→ ちゃんとファイルがあるかどうか?
→ 正しい場所にファイルがあるか?
→ ファイルの名前は正しいか? など確認.
Y:\perl に,sample002.pl があれば動くはず.
19
動かない!3
• 違う場所で指定してみる.
Y:\perl> cd .. ←まず場所を変える.
これでY:ドライブのルートディレクトリに移動した.
そこから,sample01.pl を実行してみる.
Y:\> perl sample01.pl
どうなるか?
20
動かない!3
• errorが出る
21
動かない!3
Can’t open perl script ”sample01.pl”:
No such file or directory
2と同じく,そんなファイルはない!と怒られる.
sample01.plはY:\perl というディレクトリにある.
自分は,Y:\> という場所で実行しようとした.
Y:\>cd perl とやってからY:\perl> で実行するか,
Y:\>perl Y:\perl\sample01.pl
として実行.
22
動かない!3
• パス(path)とフルパスと相対パス
– ファイルやディレクトリまでの経路をパスという
Y:-<dir> perl
sample01.pl
sample02.pl
<dir> test
Yドライブのperlディレクトリにあるsample01.plというファイル
Y:\perl\sample01.pl
←フルパス
Y:\test>dir ..\perl\sample01.pl ←相対パス
23
sample01.plの拡張(1)
•
1.
2.
3.
sample01.plの拡張
コメントの追加
文字列の連結
数値計算と表示
sample03.pl という名前で保存.
24
sample01.plの拡張(2)
# コメント
# sample03.pl
#
print "Hello perl\n"; #文字列の表示
print "Perl" . "練習中" . "\n"; #文字の連結
print 10+2 . "\n"; #数値計算
print "10+2" . "\n";#文字列の表示
25
sample01.plの拡張(3)
• 実行結果..以下のように出力されるはず
Y:\perl> perl sample03.pl
Hello perl
Perl練習中 「. 」を使って「Perl」と「練習中」
12
を連結表示
10 + 2
数値計算10+2の計算結果
文字列 10 + 2 を出力
26
sample01.plの拡張(4)
1.コメントの追加
– プログラム中に入れるメモや説明のこと
(処理には影響を与えないが大事な役割)
– ただし,自分のためだけではない
– 昨日の自分は他人(明日の自分は他人)
– プログラムの再利用を促進
(どんなプログラムかが他の人にもわかる)
27
sample01.plの拡張(5)
1.コメントの追加(つづき)
– コメントの2通りの記述方法
通常の方法
• 「#」からからその行の終わりまでの範囲
(1行だけのコメント)
少し特殊な方法
• 「=pod」から「=cut」 までの範囲(複数行可)
28
sample01.plの拡張(6)
2.文字列の連結
• 文字列は二重引用符で囲む.
”Hello Perl” …「”」と「”」の間は文字!
• 一重引用符で囲むこともある.
’Hello Perl’ …「’」と「’」の間は文字!
→違いは,エスケープシーケンスの有効,無効
(後で説明)
29
sample01.plの拡張(7)
2.文字列の連結(つづき)
• 「.」で文字列をつなぐ(文字列の連結).
print ”Perl” . ”練習中” . ”\n”;
あるいは改行なしで,printをする方法もある.
print ”Perl”;
print ”練習中”;
print ”\n”;
←\nは改行せよの意味
30
sample01.plの拡張(8)
3.数値計算と表示
• 数値の計算
print 10 + 2 . ”\n”;
10足す2の結果を表示して改行
「+」は算術演算子
• これは文字列
print ”10 + 2” . ”\n”;
10 + 2 という文字と改行
31
Perlの演算子1(1)
• 演算子(operator,オペレータ)とは?
プログラミングにおいて演算内容を指示する記号
– 演算の対象となる値や変数などは「被演算子」ま
たは「オペランド(operand)」
例:「10+2」では,
「10」と「2」がオペランドで,「+」が演算子
• Perlでは,算術演算子,代入演算子,比較演
算子,論理演算子などがある
32
Perlの演算子1(2)
• 算術演算子
演算子 種類
例
表示
+
足し算
10+2;
12
-
引き算
10-2;
8
*
掛け算
10*2;
20
/
割り算
10/2;
5
%
剰余算
10%2;
0
33
Perlの演算子1(3)
• やってみます.
print 11 + 2 . ”\n”; # 足し算
print 11 – 2 . ”\n”; #引き算
print 11 * 2 . ”\n”; #掛け算
print 11 / 2 . ”\n”; # 割り算
print 11 % 2 . ”\n”; # 余り
→ sample04.pl
34
Perlの演算子1(3)
• やってみます.
print 11 + 2 . ”\n”; # 足し算
print 11 – 2 . ”\n”; #引き算
注意:
print 11 * 2 . ”\n”; #掛け算
print 11 / 2 . ”\n”; # 割り算 プログラムの部分
print 11 % 2 . ”\n”; # 余り は,「直接入力」
→ sample04.pl
(半角の英数字)
でないとダメ!
35
Perlの演算子1(4)
• 実行結果
Y:\perl>perl sample04.pl
13
9
22
5.5
1
36
練習問題1
• Aさんは今,成田空港で48000円をUSドルに外貨両替を
しようと思っています.
円→USドル
ある銀行
USドル→円
118.00→1ドル 1ドル→112.00
1-1:何ドルと余り何円になるでしょうか?
1-2:旅行から帰って50%残っていたドルを円に戻すとす
ると,何円になるでしょうか?(レートはそのままとする)
1-3:差額で,いくら銀行に渡したことになるでしょうか?
算術演算子を使ってプログラミングせよ.
mondai01.pl という名前で保存し,実行せよ.
37
練習問題2
• Aさんは10万円の買い物をしました.今はお金がないけれど,
これからアルバイトでバンバン稼ぐ予定なのでカードローンを
利用しました.
– 返済は毎月5000円ずつの固定額にしました.
– 利息は年利率24%(ひと月2%)の複利で計算されます.
– Aさんは,1ヶ月後から返済を開始します.
Q:返済に何ヶ月かかるでしょうか?また,利息をあわせて,いく
ら支払うことになるでしょうか?
1ヵ月後の借金は, 100000*0.02+100000
そこで5000円返済すると 102000 - 5000
2ヵ月後の借金は, 97000*0.02+ 97000
そこで5000円返済すると
98940 - 5000
= 102000
= 97000
= 98940
= 93940 てな感じ
プログラムを書くなり,電卓がわりに使うなり,どうにかして
計算し,その計算過程とその結果を示してください.
38
レポート
• 練習問題1
– 答えの出るプログラムを作成し, mondai01.pl という名
前で保存
• 練習問題2
– 答を求め,その計算過程も含めてレポートを作成する
e-mailで提出(あて先:[email protected])
件名: perl-report1-学籍番号
本文: 練習問題1と2の
答えと計算方法,計算過程を書くこと
また,添付ファイルとして, mondai01.plを添付する
提出期限: 2006年5月15日
39
まとめ
• 動かない!
– syntax error
タイプミスやコマンドの間違いなど
– no such file or directory
指定したファイル名のファイルがない
ファイル名の指定間違い
ディレクトリが間違っている
この2つのエラーは非常に多い.エラーメッセ
ージをちゃんと読んで,よく確かめる.
40
まとめ(2)
• コメントアウト
– #と=pod,=cut
• 文字列の連結
– 「.」ドットで
• 数値計算
– 数値演算子:「+,-,*,/,%」
• 引用符で囲むと,それは文字!
41