
PowerShell100本ノック 21~30
PowerShellを学ぶためのコンテンツとして「PowerShell100本ノック」を作成したので公開します。PowerShellは学習コンテンツが非常に少なく、自分自身も習得に苦労した経験から作成するに至りました。今回は21から30問目まで。
前提条件
- 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問
(上や下に行ったり来たりが面倒な様子なら構成を変えます)
問題 21から30
21.配列を初期化
空の配列を宣言するプログラムを作成せよ。
22.配列を初期化
1~10までの整数を要素とする配列を宣言するプログラムを作成せよ。
23.配列に要素追加
1~10までの整数を要素とする配列を宣言。後から11,12を追加するプログラムを作成せよ。
24.配列の要素表示
1~10までの整数を要素とする配列を宣言。要素をすべてfor文を使って表示するプログラムを作成せよ。
25.配列の要素を逆順表示
1~10までの整数を要素とする配列を宣言。要素を逆からすべてfor文を使って表示するプログラムを作成せよ。
26.配列の要素削除
1~5までの整数を要素とする配列を宣言し3番目の要素を削除、要素をすべてfor文を使って表示するプログラムを作成せよ。
27.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し、要素をforeach文を使って表示するプログラムを作成せよ。
28.多次元配列の要素の取り出し
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し1番目の要素をforeach文を使って表示するプログラムを作成せよ。
29.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し2番目の要素を全て足し合わせて表示するプログラムを作成せよ。
30.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し、要素["いちご",200]を追加するプログラムを作成せよ。
答え 21から30
21.配列を初期化
空の配列を宣言するプログラムを作成せよ。
# 21.配列を初期化 答え
$x = @()
22.配列を初期化
1~10までの整数を要素とする配列を宣言するプログラムを作成せよ。
# 22.配列を初期化 答え
$x = (1,2,3,4,5,6,7,8,9,10)
#または
$x = (1..10)
23.配列に要素追加
1~10までの整数を要素とする配列を宣言。後から11,12を追加するプログラムを作成せよ。
#23.配列に要素追加 答え
$x = (1,2,3,4,5,6,7,8,9,10)
$x += (11,12)
24.配列の要素表示
1~10までの整数を要素とする配列を宣言。要素をすべてfor文を使って表示するプログラムを作成せよ。
# 24.配列の要素表示 答え
$x = (1,2,3,4,5,6,7,8,9,10)
for($i = 0;$i -lt $x.length;$i++){
write-host $x[$i]
}
# 24別解答 パイプ処理を使って要素を表示することができる
$x = (1,2,3,4,5,6,7,8,9,10)
$x | %{$_}
25.配列の要素を逆順表示
1~10までの整数を要素とする配列を宣言。要素を逆からすべてfor文を使って表示するプログラムを作成せよ。
# 25.配列の要素を逆順表示 答え
$x = (1,2,3,4,5,6,7,8,9,10)
for($i = $x.length-1;$i -ge 0;$i--){
write-host $x[$i]
}
26.配列の要素削除
1~5までの整数を要素とする配列を宣言し3番目の要素を削除、要素をすべてfor文を使って表示するプログラムを作成せよ。
# 26.配列の要素削除 答え
$x = (1,2,3,4,5)
$x[2] = ""
$x = $x -ne "" # ここで要素を削除している
for($i = 0;$i -lt $x.length;$i++){
write-host $x[$i]
}
27.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し、要素をforeach文を使って表示するプログラムを作成せよ。
# 27.多次元配列を初期化 答え
$x = @(("りんご",100),("バナナ",50),("メロン",330))
foreach($i in $x) {
write-host $i
}
28.多次元配列の要素の取り出し
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し1番目の要素をforeach文を使って表示するプログラムを作成せよ。
# 28.多次元配列の要素の取り出し 答え
$x = @(("りんご",100),("バナナ",50),("メロン",330))
foreach($i in $x) {
write-host $i[0]
}
29.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し2番目の要素を全て足し合わせて表示するプログラムを作成せよ。
# 29.多次元配列を初期化 答え
$x = @(("りんご",100),("バナナ",50),("メロン",330))
$sum = 0
foreach($i in $x) {
$sum += $i[1]
}
write-host $sum
30.多次元配列を初期化
要素を["りんご",100],["バナナ",50],["メロン",330]とする多次元配列を宣言し、要素["いちご",200]を追加するプログラムを作成せよ。
# 30.多次元配列を初期化 答え
$x = @(("りんご",100),("バナナ",50),("メロン",330))
$x += ,@("いちご",200) #*カンマ必須
#PowerShell #100本ノック #プログラミング問題 #プログラミング学習 #Windows #教材 #つくってみた #プログラミング #連想配列 #プログラミング初心者