Skip to content.

kagome.lab.tkikuchi.net

Sections
Personal tools
You are here: Home » Members » tkikuchi's Home » 授業 » オープンキャンパス
Views

プログラミング「超」入門

Document Actions
高知大学オープンキャンパス

情報科学とプログラミング

  • 切っても切れない関係です。

プログラミングの極意

  • コピーしない
  • 繰り返しを使う
  • 関数(サブ・プログラム)を使う
  • 「極」道な「意」味
  • ハックする
    • ちょっと手を加えることで、改善する。

本日は「超」入門なので

  • 少し、ぶっ飛んだプログラムを紹介しよう。

占い

  • 占いプログラム (ura.py)
  • やってみよう
    • ターミナルで、
    • ./ura.py [return]
    • アップルのキーボードは「かな」を押すと日本語入力、「英数」を押すと英数入力
    • 「いちご」占いなので、「いちご」以外はよい占いが出てこない。

占い2

  • 少し利口にする (ura2.py)
  • やってみよう
  • 何回も続けて占いができる。
  • いちご、みかん、りんご以外のフルーツが出てきたら、教えてもらう。
  • 次には、教えてもらった占いを出す。

ソースを見てみよう

  • プログラムに何が書いてあるか
  • Finder で ura.py をつかんで、テキストエディットに落とす

占い文を入れておく

  • fortune = {
      "いちご": "幸運が訪れます",
      "みかん": "努力が必要です",
      "りんご": "我慢が必要です",
    }
  • fortune[ans] でそのフルーツの占い文を取り出す

利口な占いだと、さらに

  • (ura2.py をテキストエディットにドラッグ&ドロップ)
  • fortune[ans] = ... で新しい占い文を入れる
  • def uranai() 関数を定義(define) して繰り返し使う
  • while True: 無限ループで繰り返す
  • if not ans: break 飽きたらやめる

Intermission

  • 占いも飽きたし
  • 次はゲームでも

ライフゲーム

  • マス目にコマを置く
  • 上下左右斜めの8マスのコマの数
  • コマがあるとき、
    • 2または3のとき生存
    • 他は死滅
  • コマが無い時
    • 3 のとき誕生

例えばこの9マスに

  • 真中の青のコマは生き残る

これも

  • 青のコマは生き残る

過密だと

  • 真中の赤のコマは死ぬ

過疎でも

  • 死ぬ

周りに3つあると

  • 生命の誕生
  • お父さん、お母さん、産婆さん

その他は過疎でも過密でも

  • 誕生することは無い
  •  

例えばこんなパターン

  • 変わらない。(面白くない)

これは?

  • <->
  • 交互に同じパターン

次は?

  • ->

続けて

  • ->

でもって

  • 最初と比べると同じ形だが、左下へ1マスづつ移動
  • 続ければ、もっと移動(グライダー)

プログラムでやってみる

ライフゲームの操作法

  • スペース = 進化をスタート/ストップ
  • +/- = 速く/遅く
  • r = ランダムに種まき
  • c = クリアー
  • マウスクリック = マスに入れる/消す

いろんな

  • 初期パターンで試してみてください
  • Wikpedia

実は隠しコマンドを入れてある

  • g ... グライダー
  • f ... グライダーガン

隠しコマンドを入れたところが

  • プログラムのハックです。
  • 皆さんも、情報科学コースで一緒にハックしませんか
  • ちなみに
  • ハッカーはクラッカーではありません

お疲れ様でした。

Created by tkikuchi
Last modified 2008-04-22 16:31
 

Powered by Plone

This site conforms to the following standards: