1999-02-01から1ヶ月間の記事一覧

型や変数の大きさを表示

明解C言語 入門編 > 7. 基本型 > 型や変数の大きさを表示 Perl

ビットシフト

明解C言語 入門編 > 7. 基本型 > ビットシフト Perl sub count_bits { my ($x) = @_; $count = 0; while ($x) { $count++ if ($x & 1) ; $x >>= 1; } return $count; } sub int_bits { return &count_bits(~0); } sub print_bits { my ($x) = @_; for ($i =…

論理和・論理積・排他的論理和

明解C言語 入門編 > 7. 基本型 > 論理和・論理積・排他的論理和 Perl sub count_bits { my ($x) = @_; $count = 0; while ($x) { $count++ if ($x & 1) ; $x >>= 1; } return $count; } sub int_bits { return &count_bits(~0); } sub print_bits { my ($x)…

ビット構成を表示する

明解C言語 入門編 > 7. 基本型 > ビット構成を表示する Perl sub count_bits { my ($x) = @_; $count = 0; while ($x) { $count++ if ($x & 1) ; $x >>= 1; } return $count; } sub int_bits { return &count_bits(~0); } sub print_bits { my ($x) = @_; f…

暗黙の初期化

明解C言語 入門編 > 6. 関数 > 暗黙の初期化 Perl $fx; sub func { $sx; my $ax; printf("%3d%3d%3d\n", $ax, $sx, $fx); } &func; 実行結果 L:\>perl lesson_06_054.pl 0 0 0

自動記憶域期間 と 静的記憶域期間

明解C言語 入門編 > 6. 関数 > 自動記憶域期間 と 静的記憶域期間 Perl $fx = 0; sub func { $sx; my $ax; printf("%3d%3d%3d\n", $ax++, $sx++, $fx++); } print " ax sx fx\n"; print "---------\n"; for (1..10) { &func; } 実行結果 L:\>perl lesson_06…

識別子の有効範囲を確認する

明解C言語 入門編 > 6. 関数 > 識別子の有効範囲を確認する Perl $x = 700; sub print_x { print "$x\n"; } sub main { my $x = 800; &print_x; # 700 print "$x\n"; # 800 for (1..4) { my $x = $_ * 100; print "$x\n"; # 100 〜 400 } print "$x\n" # 80…

多次元配列の受け渡し

明解C言語 入門編 > 6. 関数 > 多次元配列の受け渡し Perl sub mat_add { ($ma, $mb, $mc) = @_; foreach $i(0..1) { foreach $j(0..2) { $$mc[$i][$j] = $ma[$i][$j] + $mb[$i][$j]; } } } @ma = ([1, 2, 3], [4, 5, 6]); @mb = ([6, 3, 4], [5, 1, 2]); @…

逐次探索 (番兵)

明解C言語 入門編 > 6. 関数 > 逐次探索 (番兵) Perl $NINSU = 5; $FAILED = -1; sub search { my ($key, $no, $ary) = @_; $$ary[$$no] = $$key; $i = 0; while (1) { last if ($$ary[$i] == $$key); $i++; } return ($i == $$no ? $FAILED : $i + 1); } @…

逐次探索

明解C言語 入門編 > 6. 関数 > 逐次探索 Perl $NINSU = 5; $FAILED = -1; sub search { my @ary = @_; my $key = $ary[0]; my $no = $ary[1]; $i = 2; while (1) { return $FAILED if ($i == $no + 2); return $i - 1 if ($ary[$i] == $key) ; $i++; } } @a…

受け取った配列への書き込み

明解C言語 入門編 > 6. 関数 > 受け取った配列への書き込み Perl $NINSU = 5; sub int_set { (@vc) = @_; $no = $vc[0]; for (1..$no) { $vc[$_] = $_; } } sub int_set2 { ($no, $vc) = @_; for (0..$$no - 1) { $$vc[$_] = $_; } } @ary = (); print "関…

配列の受け渡し

明解C言語 入門編 > 6. 関数 > 配列の受け渡し Perl $NINSU = 5; sub max_of { (@vc) = @_; $no = $vc[0]; $max = $vc[1]; for (2..$no + 1) { $max = $vc[$_] if ($vc[$_] > $max); } return $max; } print "$NINSU人の点数を入力してください。\n"; for (…

関数プロトタイプ

明解C言語 入門編 > 6. 関数 > 関数プロトタイプ Perl

値を返さない関数・仮引数を受け取らない関数

明解C言語 入門編 > 6. 関数 > 値を返さない関数・仮引数を受け取らない関数 Perl sub max3 { $max = $n1; $max = $n2 if ($n2 > $max); $max = $n3 if ($n3 > $max); printf("最も大きい値は%dです。\n", $max); } print "3つの整数を入力してください。\…

読み込んだ3つの整数値の最大値を返す関数

明解C言語 入門編 > 6. 関数 > 読み込んだ3つの整数値の最大値を返す関数 Perl sub max3 { ($x, $y, $z) = @_; $max = $x; $max = $y if ($y > $max); $max = $z if ($z > $max); return $max; } print "3つの整数を入力してください。\n"; print "整数1…

読み込んだ2つの整数値の大きい方の値を返す関数

明解C言語 入門編 > 6. 関数 > 読み込んだ2つの整数値の大きい方の値を返す関数 Perl sub maxof { ($x, $y) = @_; return ($x > $y) ? $x : $y; } print "2つの整数を入力してください。\n"; print "整数1:"; chomp($n1 = <>); print "整数2:"; chomp…

素数を求める (ver.5)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.5) Perl @prime = (); $ptr = 0; $counter = 0; $prime[$ptr++] = 2; $prime[$ptr++] = 3; $no = 5; while ($no <= 30) { $j = 0; for ($i = 1; $counter++, $prime[$i] * $prime[$i] <= $no; $i++) { $cou…

素数を求める (ver.4)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.4) Perl

素数を求める (ver.3)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.3) Perl

素数を求める (ver.2)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.2) Perl

素数を求める (ver.1)

明解C言語 入門編 > 5. 配列 > 素数を求める (ver.1) Perl

2行3列の行列を加算する (多次元配列)

明解C言語 入門編 > 5. 配列 > 2行3列の行列を加算する (多次元配列) Perl @ma = ([1, 2, 3], [4, 5, 6]); @mb = ([6, 3, 4], [5, 1, 2]); @mc = ([], []); foreach $i(0..1) { foreach $j(0..2) { printf("%3d", $mc[$i][$j]); } print "\n"; } foreach …

配列の要素に値を読み込む (代入式)

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む (代入式) Perl $sum = 0; print "点数を入力してください。\n"; for (0..4) { printf("%d番:", $_ + 1); chomp($score[$_] = <>); $sum += $score[$_]; } $min = $max = $score[0]; foreach $s(@sc…

配列の要素に値を読み込む (#define)

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む (#define) Perl use constant NINSU => 5; $sum = 0; print "点数を入力してください。\n"; for (0..(NINSU - 1)) { printf("%d番:", $_ + 1); chomp($score[$_] = <>); $sum += $score[$_]; } pri…

配列の要素に値を読み込む

明解C言語 入門編 > 5. 配列 > 配列の要素に値を読み込む Perl $sum = 0; print "点数を入力してください。\n"; for (0..4) { printf("%d番:", $_ + 1); chomp($score[$_] = <>); $sum += $score[$_]; } printf("合計点%d\n", $sum); printf("平均点%f\n",…

配列のコピー

明解C言語 入門編 > 5. 配列 > 配列のコピー Perl @va = (1, 2, 3, 4, 5); @vb = @va; $vb[4] = 6; print " va vb\n"; print "-------\n"; for (0..4) { printf("%3d %3d\n", $va[$_], $vb[$_]); } 実行結果 L:\>perl lesson_05_033.pl va vb - 1 1 2 2 3 3…

配列の各要素に先頭から順に 1,2,3,4 を代入して表示 (初期化子の足りない要素)

明解C言語 入門編 > 5. 配列 > 配列の各要素に先頭から順に 1,2,3,4 を代入して表示 (初期化子の足りない要素) Perl @score = (1, 2, 3, 4); for (0..4) { printf("点数%d = %d\n", $_ + 1, $score[$_]); } 実行結果 L:\>perl lesson_05_032.pl 点数…

配列の各要素に先頭から順に 1,2,3,4,5 を代入して表示 (for文)

明解C言語 入門編 > 5. 配列 > 配列の各要素に先頭から順に 1,2,3,4,5 を代入して表示 (for文) Perl for (0..4) { $score[$_] = $_ + 1; } for (0..4) { printf("点数%d = %d\n", $_ + 1, $score[$_]); } 実行結果 L:\>perl lesson_05_031.pl 点数…