|
CRUD
Creat:生成 Read:参照 Update:更新 Delete:削除 データベースアプリケションの設計管理
グループウエア
企業内でLANを構築し、ファイルや情報、印刷機等の共通使用をするシステム。 またASPでネットからグループウエアソフトの提供を受けて、文書管理、掲示板、進行管理、TO DO 、提出書類承認、データベース、会議室等の機能を使用する。
DESKNET'S 22の機能が比較的低価格で提供される。 JOBMAGIC 通常機能のほか、データベース機能がある。 サイボウズOFFICE6 米国サイボウズ社の製品です。 グループウエアの解説 キーマンズネットというWEBページです。
クヌース先生
文芸的プログラミング 全体を先に詳細を後にプログラミングを進める。 文芸作品のつもりで、読み手のことを念頭において書く。(有沢誠・創造的思考:ソフトウエア開発のすすすめ)
クラスとインスタンス
クラスは、種類、インスタンスは具体的なもの クラスclass「同種のものの集まり」 インスタンスinstance「具体的なもの」 数学の集合論における集合と要素に相当する。 プログラムが動くときには、定義されたクラスからインスタンスが作られて、それらが相互作用し合いながら、ソフトウエアとしての機能を実現。 現実世界では先に具体的なものがあり、それをさまざまな基準で分類する思考になるが、オブジェクトというコンピュータ思考では1種類のクラスからインスタンスが作られる。作られたインスタンスは複数のクラスに所属することができず、時間が経っても別のクラスに所属替えすることがもきない。
グローバル変数とローカル変数
サブルーチンが共有する変数を言う。 目的 メインルーチン(呼び出し側)とサブルーチンで共有する情報を少なくする。 グローバル変数はプログラムのどこからでもアクセスできるため、グローバル変数を変更する場合にはプログラムのすべてのロジックを確認する。 これを避けるための工夫 一つがローカル変数、と引数の値渡し(call by value)。 ローカル変数はサブルーチンの中だだけで使われる変数。この変数はサブルーチンに入ったときに作られて、サブルーチンから抜けるときには消える。
クラス
クラスは「まとめて、隠して、たくさん作る」仕組み 1)サブルーチンと変数を「まとめる」 2)クラスの内部だけで使う変数やサブルーチンを「隠す」 3)1っのクラスからインスタンスを「たくさん作る」
クラスの効能1−まとめる
1クラス名をつけその中に、サブルーチンと変数をまとめる 2名前づけが楽にまる。クラスのなかに格納される要素の名前は、 その中で重複しなければ良い。
クラスの効能2−隠す
private 隠す public 公開する
クラスの効能3ーたくさん作る
従来の言語では実現が難しいOOP特有の機能です。 いったんクラスとして定義すると、実行時にそこからいくつでもインスタンスを作ることができる。 これにより、ファイル、文字列、顧客情報など、同種の情報を複数同時に扱う処理であっても、そのクラス内部のロジックをシンプルにできる。(オブジェクト指向でなぜつくるのか・平沢章。日経BP社)
例
会員クラス
クラスが持つているデータ 名前 文字列型 体重 数値型 名前・体重はフィールドと呼ぶ。 名前に山田太郎 体重に55キロ と入力すれば山田太郎・55キロというオブジェクトが生成する。 クラス(会員クラス)はひとかたまりのオブジェクトデータを総括して表現している。 会員クラスにメッソドを付ける。会員は賛否の投票する。
グーグル:Google
検索エンジン:
イメージ検索:たとえば「岡本太郎」とキーワード」を入力すると太郎さんの画像がたくさん出てきます。「岡本かの子」とキーワードを入力すればかの子さんの写真やかの子碑の写真もでてきます。
デスクトップ検索:自分のパソコンの中のファイルを検索してくれます。たとえば「利益計画」とキーワードを入力し、フォルダをクリックすると、「利益計画}というキーワードがふくまれるファイルが一覧表示されます。フォルダをクリックするとファイルを取り出すことができます。
more機能:検索の窓の中で「4+3+4」と算式を入力すると、計算結果「11」が表示されるような計算機能もあります。
翻訳機能があります。単語:英文単語にカーソルをのせると、単語の意味が表示されます。また各国言語を各国言語に翻訳することも可能です。但しあまり正確な翻訳は期待できません。
繰り返し:反復処理をBASIC言語で計算python言語で計算
(1)5個の任意の数の和を求める。 単純に加算
LET S=S+A INPUT A LET S=S+A INPUT A LET S=S+A INPUT A LET S=S+A INPUT A LET S=S+A INPUT A LET S=S+A PRINT "和" PRINT S END
5個の数の和 ? 1 ? 2 ? 3 ? 4 ? 5 和 15 (2)FOR NEXT文を使って簡単にする。 PRINT "5個の数の和" LET S=0 FOR N=1 TO 5 FORループ INPUT A N 制御変数・ループ変数 LET S=S+A 1 初期値 5 終値 NEXT N ここまでループ本体 PRINT "和" PRINT S END
(3)項数の変数Mを使う
LET A$="項数" PRINT A$ INPUT M 5の代わりにMという変数を使用する FOR N=1 TO M INPUT A LET S=S+A NEXT N PRINT "和" PRINT S END
(4)Python言語で書く。
def total(x): total関数をつくる for i in xrange(x): n=input('>') n+=n print 'total=',n
>>> total(5) >56 total= 112 >43 total= 86 >67 total= 134 >87 total= 174 >54 total= 108
(5)不定個数のデータ入力を表計算とデータベースとBASICとで比較実行してみる。
(A)60点以上合格、60点未満不合格とする採点表を表計算で計算表示する。 (lotus2001)
| |
A |
B |
C |
| 学生番号 |
採点数 |
合格 |
不合格 |
|
10 |
6 |
4 |
| 1 |
65 |
1 |
0 |
| 2 |
36 |
0 |
1 |
| 3 |
70 |
1 |
0 |
| 4 |
96 |
1 |
0 |
| 5 |
40 |
0 |
1 |
| 6 |
56 |
0 |
1 |
| 7 |
85 |
1 |
0 |
| 8 |
71 |
1 |
0 |
| 9 |
59 |
0 |
1 |
| 10 |
69 |
1 |
0 |
表計算では関数を使用する。 合否の数は@SUM関数を使用する。 B欄には関数@IF(A3>=、1,0)を書く。 C欄には関数@IF(A3<60,1,0)を書く。 データはA欄に入力する。
(B)60点以上合格、60点未満不合格とする採点表をデータベースで作成する。lotusアプローチ(IBM社) 作成された入力画面

データベースの場合は、レコードの項目フィールドを定義する。 学生番号 文字型 点数 数値型 合否 計算型 ここには関数オプションを使用する・内容はIf(点数 = '', '', If(点数 >= 60, '合格''', '不合格'))とする。 入力画面が作成された後、データを入力する。 データ入力後に、デザインモードでレポート作成をする。グループ別一覧表機能を選択する。その結果が下記の採点表である。
 点数の下の小計はs平均値を表示した。
(C)60点以上合格、60点未満不合格とし、10進BASICで計算表示する。
プログラム
10 let n$=" 合格" 文字変数の定義 20 let m$=" 不合格" 30 let k$=" 総人数" 40 let a$=" 合格・不合格" 100 rem 合格・不合格 110 let n=0 変数nの初期化 120 let m=0 130 let k=0 140 input PROMPT "点数":t 変数tに数値を入力する 150 do while t=> 0 do文のwhile句に書かれた条件が真である間、 doとloopに挟まれた各文が繰り 返し実行される。条件が偽になると、loop行の次 ぎの行に進む。
160 let k=k+1 170 print t; 180 if t >=60 then print n$ let n=n+1 ELSE print m$ let m=m+1 END IF 190 input PROMPT "":t 200 loop 210 print k$ 215 print k 220 print n$ 225 print n 230 print m$ 235 print m
実行結果
総人数 10 合格 6 不合格 4
クリップボード
マウスで範囲を選択してコピーすると、メモリ上のクリップボードの領域に一時的に保存される。次ぎのコピー操作がされると消去される。
|