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 #教材 #つくってみた #プログラミング初心者