BUSINESS IT

現役フリーランスエンジニアがC#でFizzBuzzを実装してみた

おなやみくん
C#勉強中ですが、なかなか苦戦しています。みなさんがよくやっているプログラミングのお題について教えてください。

そんな疑問に回答します。

 

この記事を書いている人

  • 年齢:34歳
  • 住まい:東京都内
  • 職業:フリーランスエンジニア
  • 得意言語:C#

システムエンジニアとして働き始めて11年以上経つ僕が、今回はC#で書くFizzBuzz問題について解説していきます。

C#を学び始めてまだ日が浅い方の参考になれば幸いです。

 

本記事を読むと、

  • FizzBuzzとは?
  • C#で実践するFizzBuzz
  • FizzBuzzで注意するポイント

についてわかるようになります。

 

ぜひ最後までご覧ください。

現役フリーランスエンジニアがC#でFizzBuzzを実装してみた

今回は、現役フリーランスエンジニアの僕がC#で実際にFizzBuzzを実装してみましたので、内容を紹介しつつポイントもお伝えしていきます。

それではさっそく本題にまいりましょう!

FizzBuzzとは?【簡単に説明】

実装の前に、【そもそもFizzBuzzとはなんだろう?】という方のために、かんたんにどんなものなのかを説明していきます。

FizzBuzz問題とは、プログラミング学習を進めるうえでの基本的な内容を抑えたよくある問題のことです。

具体的には以下のような内容を実装するということです。

1以上100以下の整数を順に画面に出力します。

ただし、3の倍数の場合には”Fizz”、5の倍数の場合には”Buzz”、3かつ5の倍数の場合には”FizzBuzz”を、数字のかわりに画面に出力します。

引用元:テックアカデミー

この問題が解けたからといって実務で通用するというわけではないのですが、学習するうえでの登竜門として多くの方がはじめて取り組むことの多いのがFizzBuzz問題です。

現役エンジニアならほぼ100%一度は取り組んだことのある問題といってもいいでしょう。

もちろん僕も大昔にやったことがある内容です。

C#で実装するFizzBuzz

それでは先ほど紹介したFizzBuzz問題をC#で実装してみましょう。

細かい解説は後ほどするとして、まずは回答から紹介します。

①for (int i = 1; i <= 100; i++) {
② if (n % 3 == 0 && n % 5 == 0)
Console.WriteLine("FizzBuzz");
③ if (n % 3 == 0)
Console.WriteLine("Fizz");
④ if (n % 5 == 0)
Console.WriteLine("Buzz");
}

答えはこんな感じで、だいぶあっさり目に書けるのですが、実装のポイントを番号に沿って紹介しましょう。

【ポイント①】ループ処理を記載する

1行目にはfor文という特定の条件のもとでループする構文を記載しています。

forと記載後にカッコの中に条件を書いていまして、条件に合致する間は処理を繰り返すということになります。

int i = 1; i <= 100; i++

この書き方は、

  • int型(整数型)のiという変数を1からスタートして、
  • 1ずつ値を増やしていって、
  • 100になるまで繰り返す

という意味です。

【ポイント②】3かつ5の倍数の場合のif文を先に行う

続いてポイントの2つ目は、

3かつ5の倍数の場合のif文を先に行う

ということです。

if (n % 3 == 0 && n % 5 == 0)

この箇所のことです。

 

これはどういうことかというと、先に

  • 3の倍数の場合の処理
  • 5の倍数の場合の処理

のいずれかを行ってしまうと、こちらの分岐に当てはまってしまうからです。

処理の順番が変わるだけで結果がまったく異なってしまうので要注意です。
さかい

【ポイント③④】3の倍数、5の倍数の処理順はどちらでもよい

ポイント②まで抑えることができたら、3の倍数の場合・5の倍数の場合の処理はどちらから実行しても結果は変わりません。

これらは処理順によって結果が変わらないからです。

おわりに

今回は、「現役フリーランスエンジニアがC#でFizzBuzzを実装してみた」というテーマでお届けしました。

C#に限らず、FizzBuzz問題はプログラミング学習の基本中の基本です。

この内容が完璧に理解できるところが、学習のスタートラインといってもいいでしょう。

本記事が学習の参考になっていれば幸いです。

 

また、プログラミング学習を未経験の状態からやるにはかなりの時間を要します。

なるべく早く知識を身に付けてお金を稼いでいくなら、プログラミングスクールでの学習も視野に入れるとよいでしょう。

FizzBuzz問題の引用で使わせていただいたテックアカデミーは、

  1. 日本最大級のプログラミングスクール
  2. 自宅で学習可能
  3. 最短4週間で未経験からプロになれる

という観点でオススメです。

まずは無料体験でどんなプログラムなのかをイメージするところから始めてみてはいかがでしょうか?

>>無料体験を申し込む

 

以上となります。

-BUSINESS, IT
-, , , , , ,

© 2021 さかこじぶろぐ Powered by AFFINGER5