プログラムの作り方

プログラムの作り方

UML

UML:オブジェクト指向分析・設計において用いられる統一モデリング言語 UMLのダイアグラム 構造図:システム構造を示す図 クラス図:クラスの定義や、関連付けなど、クラス構造をあらわす オブジェクト図:クラスを実体化させるインスタンスの具体...
プログラムの作り方

オブジェクト指向プログラミング

オブジェクト=データ(属性)とそれに対するメソッド(手続き)をひとつにまとめた概念 カプセル化とは データやメソッドという複数の要素たちを1つの構造にまとめたものをカプセルと呼ぶ。 カプセル化の利点:どんなふうに管理されているかなど外部から...
プログラムの作り方

構造化プログラミング

プログラムを階層化、処理を細分化して、各階層ごとの流れがきちんと整理されたものを構造化プログラミングと呼ぶ 制御関数としての3つの約束 構造化プログラミングでは、原則的に次の3つの制御構造だけを使ってプログラミングを行う。 順次構造:上から...
プログラムの作り方

アルゴリズムとフローチャート

アルゴリズム:プログラムの処理手順を示すもの フローチャート:アルゴリズムをわかりやすく記述するために用いられるもの フローチャートで使う記号 楕円 処理の開始と終了を表す 長方形 処理を表す ━・→ 処理の流れを表す ひし形 条件によって...
プログラムの作り方

オーダ記法

アルゴリズムの計算量(実行時間)をO(式)のカタチであらわすもの 各アルゴリズムのオーダ 探索アルゴリズムのオーダ 線形探索法:O(n) 2分探索法:O(log2n) ハッシュ法:O(1) 整列アルゴリズムのオーダ 基本交換法:O(n2) ...
プログラムの作り方

データを整列させるアルゴリズム

基本交換法(バブルソート) 隣接するデータの大小を比較して必要に応じて入れ替える 基本選択法(選択ソート) 対象とするデータの中から最小値(もしくは最大値)のデータを取り出して、先頭のデータと交換。これを繰り返すことで全体を整列させるのが選...
プログラムの作り方

データを探索するアルゴリズム

線形探索法 先頭から順に探索していく方法 2分探索法 あらかじめ探索対象のデータ群が「昇順に並んでいる」「降順に並んでいる」といった規則性を持つ場合は2分探索法という、より効率の良い方法を取ることができる データの真ん中の数字と見つけたい数...
プログラムの作り方

ツリー構造

2分木というデータ構造 節から伸びる枝が2本以下であるものを2分木 完全2分木 葉以外の節がすべて2つの子を持ち、根から葉までの深さが一様に等しい 2分探索木 親に対する左部分木と右部分木の関係が「左の子<親<右の子」となる2分木を2分探索...
プログラムの作り方

データの持ち方

データ構造:データを配置する方法 配列 メモリ上の連続した領域に、ずらりとデータを並べて管理するのが配列。 配列内の各箱に文字(添え字)を振って管理できる…配列名 一次元配列:一列にずらっと並んだ配列 多次元配列:列行に分かれた配列 リスト...
プログラムの作り方

変数は入れ物として使う箱

メモリ上に箱を設けて名前をつけて「この名前の箱はこの値とみなして処理に使う」と化けさせるもの=変数 疑似言語における変数の宣言と代入方法 型名:変数名 型名 … 整数型・実数型・文字列型 変数名 … 変数として用いたい任意の名前 変数名←式...
プログラムの作り方

コンパイラ方式でのプログラム実行手順

コンパイラ:ソースコード→目的プログラム リンカ:目的プログラム→実行可能ファイル ローダ:主記憶に読み込み 実行可能 コンパイラの仕事 プログラム言語で書かれたソースコードを翻訳して機械語のプログラムファイルにすること 字句解析:ソースコ...
プログラムの作り方

プログラミング言語とは

コンピューターに作業指示を与えるための言葉がプログラミング言語 代表的な言語 C言語 OSやアプリケーションなどで広範囲で用いられている言語。なんでもありな柔軟性を持っている COBOL 事務処理用に古くから使われている言語。 java イ...