eyecatch thumbnail

idl の if 文と for 文を fizzbuzz 問題で学ぶ

Profile picture
ルッチ / Lucci
2019.08.17

Contents


はじめに

fizzbuzz 問題を題材にして idl の if 文と for 文の基本的な使い方を理解しましょう。

fizzbuzz 問題とは?

fizzbuzz 問題については wikipediaを参照してください。

要は、特定の数字で割り切れる場合は特定の文字列を出力するようなプログラムを組む遊びです。

fizzbuzz 問題は if 文 と for 文 ( while 文でも可 ) が使えれば簡単に実装できます。

idl を勉強し始めた人に取っては丁度いい課題だと思います。

fizzbuzz 問題実装例

私の実装例をあげておきます ( 標準的な回答です )。

解答例のあとに if 文と for 文の使い方が書いてあります。

pro idl_fizzbuzz
 
endNumberInt = 100
 
for i_number = 0, endNumberInt - 1 do begin
 
    ; 35 の両方で割り切れる場合
    if ( i_number mod 3 eq 0 ) and $
        ( i_number mod 5 eq 0 ) then begin
        print, 'FizzBuzz'
    endif
 
    ; 3 で割り切れる場合
    if i_number mod 3 eq 0 then begin
        print, 'Fizz'
    endif
 
    ; 5 で割り切れる場合
    if i_number mod 5 eq 0 then begin
        print, 'Buzz'
 
    ; 上記の条件式全てに一致しない場合
    endif else begin
        print, ':)'
    endelse
 
endfor
 
end

if 文の使い方

基本的な文法は以下の3通りです。

条件式1つ、実行文1つの場合

if (条件式) then (実行文)

条件式1つ、実行文複数の場合

if (条件式) then begin
    (実行文1)
    (実行文2)
endif

条件式複数、実行文複数の場合

if (条件式) then begin
    (実行文)
endif else begin
    (実行文)
endelse

この3通りの書き方を臨機応変に使い分けてください。

条件式で使う 比較演算子 については idl の比較演算子まとめ をお読みください。

for 文の使い方

基本的な文法は以下の2通りです。

実行文1つの場合

for i = i_start, i_end do (実行文)    

実行文複数の場合

for i = i_start, i_end do begin
    (実行文1)
    (実行文2)
endfor

この2通りの書き方を臨機応変に使い分けてください。

最後までお読みいただき、ありがとうございました:)

愛用品

  • Xiser Pro Trainer
    1日中踏み続けられる強靭なステッパーでおすすめです.
  • HHKB Professional 墨 x HHKB キートップセット 白
    ボディは墨色キートップは白色なのでめちゃめちゃ目に優しいのでおすすめです.
  • Apple Magic Mouse 2
    トラックパッドは指が攣りそうになりますけどマウスはその心配が無いのでおすすめです.
  • Apple MacMini
    ミニマルでパワフルなデスクトップ PC なので個人的に大好きなのでおすすめです.
  • iiyama Display 27inch FullHD
    鮮明すぎない画面で目も疲れにくいですし何より高さ調節できるのが最高なのでおすすめです.
  • KINTO UNITEA 550ml
    500ml の大容量でこの綺麗なデザインは他にみたことがないのでおすすめです.

関連記事


大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!