見出し画像

PowerShell100本ノック 11~20

PowerShellを学ぶためのコンテンツとして「PowerShell100本ノック」を作成したので公開します。PowerShellは学習コンテンツが非常に少なく、自分自身も習得に苦労した経験から作成するに至りました。今回は11から20問目まで。

前提条件
- Windows PowerShell 5.1
- なにがしかのプログラミング経験がある

含まれる内容
問題 1-10 標準出力
問題 11-20 標準入力、条件分岐、繰り返し
問題 21-30 配列、多次元配列
問題 31-40 連想配列
問題 41-50 ファイル、フォルダ操作
問題 51-60 ファイル検索、パイプ処理
問題 61-70 関数
問題 71-80 再帰関数、ZIP圧縮解凍、スクレイピング
問題 81-90 環境変数
問題 91-100 実行ポリシーとレジストリ操作

記事構成
 記事の上側に問題が10問、下側に答えが10問
(上や下に行ったり来たりが面倒な様子なら構成を変えます)



問題 11から20

11.標準入力

文字入力させ、その入力文字の後に「と入力されました」を追加して表示するプログラムを作成せよ。


12.入力と計算

整数値を入力させ、その入力値を3倍した計算結果を表示するプログラムを作成せよ。


13.入力と計算

整数値を入力させ、値が正であればpositive、負であればnegative、0であればzeroと表示するプログラムを作成せよ。


14.switch

整数値を入力させ、その値が1ならone、2ならtwo、3ならthree、それ以外ならNot matched.と表示するプログラムをswicth文を使って作成せよ。


15.繰り返し

Hello Worldを5回繰り返して表示するプログラムを作成せよ。


16.カウントアップ

3から10までの数を1ずつ増やして表示するプログラムを作成せよ。


17.カウントダウン

10から3までの数を1ずつ減らして表示するプログラムを作成せよ。


18.2ずつカウントアップ

1から10までの数を2ずつ増やして表示するプログラムを作成せよ。


19.2倍カウントアップ

数字1を2倍ずつ増やして32まで表示するプログラムを作成せよ。


20.0まで入力

整数値を入力させ、入力値が0でなければ再度入力させ、0であれば終了するプログラムを作成せよ。



答え 11から20

11.標準入力

文字入力させ、その入力文字の後に「と入力されました」を追加して表示するプログラムを作成せよ。

# 11.標準入力 答え:
$x = read-host "なにか入力してください"
write-host $x + "と入力されました"

12.入力と計算

整数値を入力させ、その入力値を3倍した計算結果を表示するプログラムを作成せよ。

# 12.入力と計算 答え:
$x = read-host "なにか数字を半角で入力してください"
$x = [int]$x*3
write-host $x

13.入力と計算

整数値を入力させ、値が正であればpositive、負であればnegative、0であればzeroと表示するプログラムをIF文を使って作成せよ。

# 13.入力と計算 答え:
$x = [int](read-host "数値")
if($x -gt 0){
  write-host "positive"
} elseif($x -lt 0){
  write-host "negative"
} elseif($x -eq 0){
  write-host "zero"
}


演算子   意味 
 -eq   == 等しい
 -ne   != 等しくない
 -gt   > より大きい
 -ge   >= 以上
 -lt   < より小さい
 -le   <= 以下
 -like   ワイルドカードと等しい
 -notlike   ワイルドカードと等しくない
 -match   正規表現と等しい
 -notmatch   正規表現と等しくない

14.switch

整数値を入力させ、その値が1ならone、2ならtwo、3ならthree、それ以外ならNot matched.と表示するプログラムをswicth文を使って作成せよ。

# 14.switch 答え:
$x = [int](read-host "数値")
switch ($x) {
  1 {"One."}
  2 {"Two."}
  3 {"Three."}
  default {"Not matched."}
}

15.繰り返し

Hello Worldを5回繰り返して表示するプログラムを作成せよ。

# 15.繰り返し 答え:
for($i = 0;$i -lt 5;$i++){
  write-host "Hello World"
}


# 15.別解答 パイプ処理
# パイプ処理を使って、次のように書くこともできます
(1..5) | %{write-host "Hello World"}

16.カウントアップ

3から10までの数を1ずつ増やして表示するプログラムをfor文を使って作成せよ。

# 16.カウントアップ 答え:
for($i = 3;$i -le 10;$i++){
  write-host $i
}

# 16.for文を使わないで次のように書くこともできます
(3..10) 

17.カウントダウン

10から3までの数を1ずつ減らして表示するプログラムをfor文を使って作成せよ。

# 17.カウントダウン 答え:
for($i = 10;$i -ge 3;$i--){
  write-host $i
}

# 17.for文を使わないで次のように書くこともできます
(10..3) 

18.2ずつカウントアップ

1から10までの数を2ずつ増やして表示するプログラムをfor文を使って作成せよ。

# 18.2ずつカウントアップ 答え:
for($i = 1;$i -le 10;$i+=2){
  write-host $i
}

19.2倍カウントアップ

数字1を2倍ずつ増やして32まで表示するプログラムをfor文を使って作成せよ。

# 19.2倍カウントアップ
for($i = 1;$i -le 32;$i*=2){
  write-host $i
}

20.0まで入力

整数値を入力させ、入力値が0でなければ再度入力させ、0であれば終了するプログラムを作成せよ。

# 20.0まで入力
while($True){
  if([int](read-host "数値") -eq 0) {
    break
  }
}

# 20 別解答
do{
}while([int](read-host "数値") -eq 0)





#PowerShell #100本ノック #プログラミング問題 #プログラミング学習 #Windows #教材 #つくってみた #プログラミング初心者


いいなと思ったら応援しよう!

この記事が参加している募集