[順序付きリスト] 同一要素でも重複して記憶する。 リスト内では、要素を値順に並べる。 各要素の型は int とする。 リストのサイズは MAX=10 とする。 リストに対するコマンドは以下の通りとする。  コマンドが入力されると、対応する動作を行なう。  add 値 リストに要素を追加する。  リストが一杯の場合には、エラー表示する。 search 値  リスト内に指定された要素が存在するか否かを表示する。 delete 値  要素が存在しない場合には、エラー表示する。 リスト内から指定された要素を全て削除する。 count  リスト内の要素数を表示する。 show  リストの状態を表示する。 --- データ構造 --- リスト:要素数MAXの配列。要素のデータ型は整数型。 リストの追加位置:整数型 リストの要素数:整数型 コマンド:文字列型 整数値:整数型 入力行:文字列型 --- 主プログラム --- (1) リストを空にする。 (2) 以下の処理を永遠に繰り返す。  (2-1) ユーザーからのコマンドを入力する。 (2-2) コマンドがaddならばリストに要素を追加する。 (2-3) コマンドがsearchならばリスト内に要素が存在するか否かを表示する。 (2-4) コマンドがdeleteならばリストから要素を削除する。 (2-5) コマンドがcountならばリスト内の要素数を表示する。 (2-6) コマンドがshowならばリストの状態を表示する。 (2-7) コマンドがそれ以外ならばエラーを表示する。 --- ユーザーからのコマンドを入力する --- (1) 入力を一行読み込む。 (2) 最初に出現する文字列をコマンドとして読み込む。 (3) 次に出現する数が存在すれば、それを整数値として読み込む。 --- リストに要素を追加する --- (1) リスト内の要素数がMAXならば、「リストが一杯です」と表示して戻る。 (2) リスト内で要素の追加位置を検索する。 (3) 検索された位置以降の要素をリスト内で1つづつ後ろにずらす。 (4) 検索された位置に追加要素を書き込む。 (5) 要素数を1増やす。 --- リスト内に要素が存在するか否かを検査する --- (1) リスト内で要素の追加位置を検索する。 (2) 検索された位置がリストの先頭ならば「指定された要素は存在しません」と   表示する。 (3) 検索された位置の一つ前のリスト要素が指定された要素と等しければ「指定さ   れた要素が存在します」と表示する。 (4) そうでなければ「指定された要素は存在しません」と表示する。 --- リストから要素を削除する --- (1) リスト内で要素の追加位置を検索する。 (2) 検索された位置の一つ前のリスト要素が指定された要素と等しくなければ   「指定された要素は存在しません」と表示して戻る。 (3) 検索された位置からリストの先頭に向かって以下の処理を繰り返す。  (3-1) 検索された位置の一つ前のリスト要素が指定された要素と等しくなければ   ループを終了する。 (3-2) 検索された位置より後ろのリスト要素を一つづつ前にずらす。 (3-3) 検索された位置を一つ前にずらす。  (3-4) 要素数を1減らす。 --- リストの状態を表示する --- (1) リストの各要素に対して先頭から順に以下の処理を繰り返す。  (1-1) 要素を表示する。 --- リスト内で要素の追加位置を検索する --- (1) 追加位置をリストの先頭とする。 (2) リストの各要素に対して先頭から順に以下の処理を繰り返す。  (2-1) 追加位置の要素の値が指定された要素の値よりも大きいならば、追加位置    の値を返す。  (2-2) 追加位置を一つ先に進める。 (3) 追加位置の値を返す。