ラベル FizzBuzz の投稿を表示しています。 すべての投稿を表示
ラベル FizzBuzz の投稿を表示しています。 すべての投稿を表示

2011/02/19

県でfizzbuzz

課題の県名一覧でfizzbuzzのphpコードです。
地域コードを使うために色を付けていますが、phpコードの主要部分は県名一覧と同じです。
なお、県コード一覧(pref.php)はincludeしています。

<?php
/**
 *
 * 47都道府県を1~47の都道府県コードと配列キーが
 * 対象になるように、配列変数「$pref」に格納して下さい。
 * なお、3の倍数のときはFIZZ県と表示
 * 5の倍数のときはBUZZ県と表示(公倍数ならFIZZBUZZ県と表示)
 *
 * @var    1.0.0
 * @since  2011/2/18
 * @author 
 *
 */

include_once 'pref.php';

$pref2 = array(
'1' => '1',  //  北海道

'2' => '2',  //  青森県
'3' => '2',  //  岩手県
'4' => '2',  //  宮城県
'5' => '2',  //  秋田県
'6' => '2',  //  山形県
'7' => '2',  //  福島県

'8' => '3',  //  茨城県
'9' => '3',  //  栃木県
'10' => '3',  //  群馬県
'11' => '3',  //  埼玉県
'12' => '3',  //  千葉県
'13' => '3',  //  東京都
'14' => '3',  //  神奈川県

'15' => '4',  //  新潟県
'16' => '4',  //  富山県
'17' => '4',  //  石川県
'18' => '4',  //  福井県
'19' => '4',  //  山梨県
'20' => '4',  //  長野県
'21' => '4',  //  岐阜県
'22' => '4',  //  静岡県
'23' => '4',  //  愛知県

'24' => '5',  //  三重県
'25' => '5',  //  滋賀県
'26' => '5',  //  京都府
'27' => '5',  //  大阪府
'28' => '5',  //  兵庫県
'29' => '5',  //  奈良県
'30' => '5',  //  和歌山県

'31' => '6',  //  鳥取県
'32' => '6',  //  島根県
'33' => '6',  //  岡山県
'34' => '6',  //  広島県
'35' => '6',  //  山口県

'36' => '7',  //  徳島県
'37' => '7',  //  香川県
'38' => '7',  //  愛媛県
'39' => '7',  //  高知県

'40' => '8',  //  福岡県
'41' => '8',  //  佐賀県
'42' => '8',  //  長崎県
'43' => '8',  //  熊本県
'44' => '8',  //  大分県
'45' => '8',  //  宮崎県
'46' => '8',  //  鹿児島県
'47' => '8');  //  沖縄県

$pref_col = array( '1' => '#CCFFCC',
'2' => '#99FF99',
'3' => '#9999FF',
'4' => '#CCFFFF',
'5' => '#FFCC00',
'6' => '#FFFF99',
'7' => '#FFCCCC',
'8' => '#FF66FF' );

?>

<html>
<head>
<title>pref</title>
<style type="text/css">
    table, tr, th, td {
        border-collapse: collapse;
        border: 1px #808080 solid;
    }
</style>
</head>

<body>
<table border="1" align="center">
<caption>【県名一覧】</caption>
<tr><th bgcolor=#00ffcc>県コード</th><th bgcolor=#00ffcc>県名</th></tr>
<?php foreach ($prefAry as $key => $value) { ?>
    <?php $str = "" ; ?>
    <tr>
    <td align="center" bgcolor=<?php echo $pref_col[$pref2[$key]] ?>>
    <?php print $key; ?>
    </td><td align="left" bgcolor=<?php echo $pref_col[$pref2[$key]] ?>>
    <?php if (($key %3) == 0) { $str .= "FIZZ" ; } ?>
    <?php if (($key %5) == 0) { $str .= "BUZZ" ; } ?>
    <?php if ($str == "" ) { print $value; } else { print $str ; } ?>
    </td>
    </tr>
<?php } ?>
</table>
</body>
</html> 

2011/01/18

php掲示板、phpとhtmタグを分ける記述方法

php講習 1/18

・今日は、午前中ハローワークに行っていました。
・午前中は、「FizzBuzz」問題だったそうです。
「FizzBuzz」問題はこちらを参照して下さい。
・あと、index.phpをhtmlとphpに分ける。
これからphpのプログラムを書くにあたり、php開発ではwebデザイナと作業分担することになることがあります。
htmlはデザイナの人に書いてもらうので、 phpの作業とhtmlの作業を分けるという感覚を身に着けて下さい。

<3時間目>
・index.phpをhtmlのタグとphpに分ける。

<4時間目>
・index.phpをhtmlとphpに分ける。
 引き続きソースの修正
 答え合わせ、ソースは長くなるので見送り。
 「イージーミスを見つける最短の道はキレイなソースを書くこと!インデントはしっかりつけてね~
」だそうです。
 うまく動かないときは、「’」シングルクォート、「”」ダブルクォート、スペース、タグ、「[]」「{}」の対応など見直し。

・掲示板の拡張、意見をブレーンストーミング
(1)追加したい機能
(2)直したい機能

<5時間目>
・掲示板の拡張、意見をブレーンストーミング
(1)追加したい機能
3チームに分け、それぞれ発表、色々ありました
 後ほどメールで送ります。
 内容は、整理して今後掲示板に追加して行きます。

(2)直したい機能
・DBアクセスの際のログインコマンドなどの記述の冗長性に対応

php FizzBuzz

「FizzBuzz」問題の一般的な資料はこちらを参照して下さい。

初心者のプログラミング体験記  PHP練習[4]:FizzBuzz問題
FizzBuzz問題を解いてみたのですが・・(PHP)

なお、三項演算子についてはこちらを参照して下さい。

一応私も作ってみました。
<?php
/**
 * 内容
 * 1-100の整数を表示
 * ただし、3の倍数のときは整数の代わりにFizzと表示
 * 5の倍数のときはBuzzと表示
 * (公倍数ならFizzBuzzと表示)
 * @name   fizzbuzz.php
 * @author
 * @since  2011.1.xx
 *
 *
 */

print '<table border="1">' ;
print " <caption>【FizzBuzz】</caption>" ;

for ($i=0; $i<10; $i++) {
    print "<tr>" ;
    for ($j=1; $j<=10; $j++) {
        $str = "" ;
        $color = "ffffff" ;
        $k = $i*10 + $j ;
        if (($k % 3) == 0) {
            $str = "Fizz" ;
            $color = "00ffff" ;
        }
        if (($k % 5) == 0) {
            if (($k % 3) == 0) {
                $color = "00ff00" ;
            } else {
                $color = "ffff00" ;
            }
            $str .= "Buzz" ;
        }
        print  '<td bgcolor="#' . $color . '">' ;
        if ($str == "") {
            print $k  ;
        } else {
            print $str  ;
        }
        print "</td>" ;
    }
    print "</tr>" ;
}
print "</table >" ;

fizzbuzzの出力結果はこちらになります。