見出し画像

応用情報処理勉強中(2023春)Day4

2023/4/16受験の皆様 一緒に頑張りましょう!
本記事時間かけたくなく雑記な点ご了承ください。

筆者について
・2022年11月に基本情報に合格(点数ギリギリです)
・勢いで応用情報に申し込んだはいいものの、1か月手をつけていない
・アウトプットが大切と聞いたため取り急ぎ(サボってたらご指摘ください;)

詳細
内容:キタミ式イラストIT塾応用情報技術者 chapter11-19
所要時間:10h(今週分)  + 8h (今日分)

不明点

逆ポーランド記法
Y=(A+B)× (C-(D ÷ E ))
Y = AB+ × (C - DE÷ )
Y = AB+ × (CDE÷-)
Y = AB+ CDE÷-×
YAB+ CDE÷-×=

ヒープ
半順序木。「親要素が子要素以上の値である」=根が最大値となる もしくは「子要素が親要素の値以上である」=根が最小値となる という関係にある2分木

AVL木
どの節においても、左部分木と右部分木の高さの値が1以下という関係にある2分木

データ探索アルゴリズム
線形探索法…最初の値から調べる方法
2分探索法
…真ん中で割って、その値と比較する方法
ハッシュ法
…一定の計算値を用いて、格納位置を算出する方法
      シノニムの発生が起こりやすい

データを整列させるアルゴリズム
基本交換法(バブルソート)
…隣接するデータを比較、必要に応じて入れ替えて全体を整列する方法
基本選択法(選択ソート)
…対象とするデータの中から最小値を取り出して、先頭データと交換しつつ、整列させる方法
(16 7 4 9) → 4  ( 16 7 9)  → 4 7 (16 9) → 4 7 9 16
基本挿入法(挿入ソート)
…対象とするデータ列を整列済み、未整列のものに分けて、データをひとつづつ整列済みの列に挿入して、全体を整列させる方法
整列済み(4 16) 未整列(  10 9)→ 整列済み(4 10 16) 未整列(9)
シェルソート
…ある一定間隔置きに隣接するデータを比較、必要に応じて入れ替えて全体を整列する方法
4 2 5 1 3 8 6 7 → (4 3) (  2 8) ( 5 6) (  1 7)  → (3 4) ( 2  8)  (  5  6) ( 1 7)
クイックソート
…基準を決めて、それより小さい値と大きい値にグループを振り分けて整列をする方法
4 2 5 1 3 8 6 7 → 4をピックアップ  (2 1 3)   4  ( 5 8 6 7)
ヒープソート
…未整列の部分を順序木構造に構成して、そこから 最大値もしくは最小値の列に分けていく方法
マージソート
…配列の2分割を繰り返して、1となるまで細分化する、その後マージして、組み換えながら整える方法
4 2 5 1 3 8 6 7 → (4 2 5 1)(3 8 6 7)→ … (4)(2)(5)(1)   (3)(8)(6)(7)
→24 15 38 67  → 1245 3678 → 12345678 


選択…行の取り出し
射影…列の取り出し
結合…表同士をあわせる

データベースの設計
概念設計…現実世界からデータ構造を抽出してモデル化
E-R化、UMLのクラス化を用いる 例)実体-実体 会社-社員
論理設計…データベースでどのように表現する形にモデル化
関係モデル、階層モデル、ネットワークモデル 
物理設計…ハードウェアなど物理的な構造をモデル化
どんなハードウェアで、どこのデータベースで、どこに保存するか、障害発生時どうするか

スキーマ
データベースの構造や使用を定義するもの
3層スキーマが一般的
外向き ⇔ プログラム ⇔ 外部スキーマ - 概念スキーマ - 内部スキーマ ⇔ 磁気ディスク - 内向き


水平垂直パリティチェック
どの方向に付加するか、によって、垂直パリティと水平パリティに分かれる

チェックサム
01101111 01101110 01111001 01111000
6f     6e                 79        78
6f+6e+79+78=1ce(下位8ビット)

ハミング符号
ビット列に対して、検査用の冗長ビットを付加することで、2ビットまでの誤り検出と1ビットの誤りを訂正するため
0110 + ???
0 10→1
01 0→1
011 →0
0110 + 110


要件定義のプロセスの機能要件と非機能要件
機能要件…利用者から得られる要求事項(例:在庫管理、出荷管理)
非機能要件…システム基盤側の要件(例:どのようなOS,ミドルウェア)
非機能要件は非常に広い。
 可用性、性能・拡張性、運用・保守性、移行性、セキュリティ

設計
外部設計…利用者からみた設計(例:ユーザーインターフェース)
内部設計…開発者からみた設計(例:機能-処理-ファイル)
プログラム設計…プログラムをどう作るか(処理-出力-チェック)

CASEツール
コンピュータシステム開発を支援することで、自動化を目指す考え
統合CASEツール
基本設計 → 外部設計 → 内部設計 (上流CASEツール)
→ プログラム設計 → プログラミング → テスト (下流CASEツール)
→運用・保守 (保守CASEツール)

リバースエンジニアリング
…既存ソフトウェアの動作を解析することで、プログラムの仕様やソースコードを導き出すこと
フォワードエンジニアリング
…新しいソフトウェアを開発する手法

リグレッションテスト
プログラムを修正したときに、修正内容がそれまで正常に動作していた範囲に悪影響を与えていないかを確認するためのテスト

レスポンスタイム
…実際に何か応答が返されてくるまでの時間
ターンアラウンドタイム
…コンピュータに処理を依頼し始めてから、応答がすべて返されるまでの時間
レスポンスタイム<ターンアラウンドタイム


所感

ようやくテキスト終わりました。
過去問やります。遅延してます。

この記事が気に入ったらサポートをしてみませんか?