Hatena::Groupgeneration1986

ギーク目指してみる?

2008-11-06

初めてのPerl 2章 スカラーデータ 練習問題 (08/09/01)

| 12:59 | 初めてのPerl 2章 スカラーデータ 練習問題 (08/09/01) - ギーク目指してみる? を含むブックマーク

プログラム一行目の「#!perl」は省略してあります。


1. 半径12.5の円の円周の長さを求めるプログラム

$pi = 3.141592654;

$circle = 12.5 * 2 * $pi;

print "半径12.5の円の円周の長さは $circle です。\n";

実行例

半径12.5の円の円周の長さは 78.53981635 です。


2. ユーザが入力した値を半径として円周の長さを求めるプログラム

print "半径を入力してください。\n";

chomp($half = <>);

$pi = 3.141592654;

$circle = $half * 2 * $pi;

print "半径 $half の円の円周の長さは $circle です。\n";

実行例

半径を入力してください。

34

半径 34 の円の円周の長さは 213.628300472 です。


3. ユーザが0より小さい値を入力したら、半径を0として円周の長さを求めるプログラム

print "半径を入力してください。\n";

chomp($half = <>);

if ($half < 0){

$half = 0;

}

$pi = 3.141592654;

$circle = $half * 2 * $pi;

print "半径 $half の円の円周の長さは $circle です。";

実行例 1

半径を入力してください。

  • 5

半径 0 の円の円周の長さは 0 です。

実行例 2

半径を入力してください。

6

半径 6 の円の円周の長さは 37.699111848 です。

※ifのところは、$circle = 0 とするのも可、らしい。


4. 読み込んだ2数の積を求めるプログラム

print "数を入力してください。\n";

chomp($num1 = <>);

print "もうひとつ数を入力してください。\n";

chomp($num2 = <>);

$result = $num1 * $num2;

print "$num1 と $num2 の積は $result です。";

実行例

数を入力してください。

2

もうひとつ数を入力してください。

5

2 と 5 の積は 10 です。


5. 読み込んだ文字列を、入力された回数分だけ繰り返し、一行につき一つずつ表示するプログラム

print "文字列を入力してください。\n";

$str = ;

print "その文字列を表示させたい回数を入力してください。\n";

chomp($num = <>);

$lines = $str x $num;

print "実行結果:\n$lines";

実行例

文字列を入力してください。

赤橙の花

その文字列を表示させたい回数を入力してください。

3

実行結果:

赤橙の花

赤橙の花

赤橙の花

hogeloghogelog2008/11/06 19:31chomp($half = );
などと表示されてる部分は
chomp($half = <>);
ですよね。<>がタグと認識されてしまい、削除されています。

はてなダイアリーでソースコード貼るときはpreタグかはてな記法のpre記法など使わないとこのように表示が変になると思います。
http://generation1986.g.hatena.ne.jp/hogelog/20081106

hogeloghogelog2008/11/06 19:37あと
<、>、&などの文字は
&lt;、&gt;、&amp;
と実体参照に置き換えて書くという方法がありますね。めんどうなのであんまりしませんけど。

saitoK-yasaitoK-ya2008/11/16 12:35ぁ、ありがとうございます!
他のとこちゃんと書き換えてたのに見落としてました;

StephaneStephane2013/01/16 08:50A silmpe and intelligent point, well made. Thanks!

txvbpxtydxtxvbpxtydx2013/01/18 10:25NOVgbf , [url=http://jpensbhwhyyf.com/]jpensbhwhyyf[/url], [link=http://wjmwnjvhpozi.com/]wjmwnjvhpozi[/link], http://xhndyjmzxsae.com/