実 習 4 2次元テーブルの利用.

Slides:



Advertisements
Similar presentations
1 エクセル (3) の目次 ②参照演算子と演算子参照演算子と演算子 ③参照セルの表示法参照セルの表示法 ④セルの参照方法セルの参照方法 ⑤エラーについてエラーについて ⑥シグマ( Σ )関数シグマ( Σ )関数 ⑦条件付書式条件付書式 ⑧問題 (1)問題 (1) ⑨問題 (2)問題 (2) ⑩問題.
Advertisements

社会調査データの分析 社会調査・実習. 分析の手順(1) 1 1 入力データの点検 (全部の調査票 に目を通す) 2 2 通し番号の入力。必要ならば回答の コード化。 3 3 入力フォーマットの決定 4 4 データ入力( Excel, エディターなど)
Google フォームの利用法 出欠確認表の運用実例. Google フォームとは Google に登録すると使える機能の一つ「 Google ドライブ」 インターネット上にファイル等を保存出来るスペース、 その中の機能の一つです。 問い合わせやアンケートなどを自由に作れる。 ● アンケートはテンプレートから手軽に出来る.
「コンピュータやネットワーク等の活用事例」
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 M2 平石 拓
プログラミング基礎I(再) 山元進.
C言語 配列 2016年 吉田研究室.
実習問題の解き方 JIS3-2の場合.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
Excel による データベース入門 Ver /9.
「サイボウズ Office on cybozu.com」 すぐできるBOOK -ワークフロー 編 -
オンライン登記申請マニュアル 【第4段階】 オンライン登記申請編
JavaによるCAI学習ソフトウェアの開発
ワークフロア清柳 パソコン教室(宛名).
数値計算及び実習 第3回 プログラミングの基礎(1).
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
プログラミング基礎I(再) 山元進.
基本情報技術概論(第4回) 埼玉大学 理工学研究科 堀山 貴史
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
C言語 配列 2016年 吉田研究室.
実 習 2 最大値・最小値.
数値計算及び実習 第7回 プログラミングの基礎(5).
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
9 Microsoft Word(1).
実習4 2次元テーブルの利用 フローチャートの作成.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
実習3 ページコントロール フローチャートの作成.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
マイクロソフト Access を使ってみよう 第5回
マイクロソフト Access を使ってみよう 第1回
マイクロソフト Access を使ってみよう 第4回
地理情報システム論演習 地理情報システム論演習
10 Microsoft Word(1) 10.1 Microsoft Word v.Xの概要 起動 終了
Cプログラミング演習 第6回 ファイル処理と配列.
プログラミング 2 ファイル処理.
後期中間試験練習問題 12月3日(月)9:00~ 第3演習室.
画像処理プログラムの説明.
講義では、Cプログラミングの基本を学び 演習では、やや実践的なプログラミングを通して学ぶ
実習問題の解き方 JIS3-3の場合.
2016年度 植物バイオサイエンス情報処理演習 第6回 情報処理(4) データを加工する・2
基本システムのボード線図 ボード線図による基本システムの同定
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
マイクロソフト Access を使ってみよう 第2回
ホームページビルダー 不要ファイル削除の仕方.
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
サーバーのパスワード変更.
アルゴリズムとプログラミング (Algorithms and Programming)
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
COBOLプログラムの概観 プログラミング資料.
PDFファイルの作り方① 「印刷」を利用して、PDFファイルを作成する。
ファイルの読み込み #!/usr/bin/env perl #Perlスクリプトの指定 open(FILE, "food.txt");
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
万年カレンダー作成 エクセルで作成 ⅯN.
地理情報システム論(総)/ 国民経済計算論(商)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
プログラミングⅡ 第2回.
E-精算インストール説明書.
実 習 3 ページコントロール.
BLJ2013 BentleyArchitecture
情報処理Ⅱ 2005年1月25日(火) レポート課題2の解説.
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
情報処理 第13回.
ヒープソート.
TCP/IP 通信テストツール TcpTestTool by PipeKatoo!
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
OPEN文、READ文、PERFORM文
2009年8月18日,新潟大学 「情報」と「ものづくり」 の実践教育3 下保敏和,佐藤亮一.
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

実 習 4 2次元テーブルの利用

2次元テーブルの利用 実習4 第7図のような回答データを読み、処理条件にしたがってアンケート集計  第7図のような回答データを読み、処理条件にしたがってアンケート集計 テーブルへ集計し、第8図のように印字するプログラムを作成しなさい。 入力形式 入力ファイル名: KAITO-FILE   入力レコード名: KAITO-REC 出力形式 出力ファイル名: OUT-FILE   出力レコード名: OUT-REC 問1回答 KAI(1) 9(1) 問1回答 KAI(2) 9(1) 問1回答 KAI(3) 9(1) 問1回答 KAI(4) 9(1)         問1   問2    問3    問4 (回答1) ZZZZZ9 ZZZZZ9 ZZZZZ9 ZZZZZ9 (回答2) ZZZZZ9 ZZZZZ9 ZZZZZ9 ZZZZZ9 (回答5) ZZZZZ9 ZZZZZ9 ZZZZZ9 ZZZZZ9 ~ ~ ~ ~ ~ (第7図) 処理条件 (第8図) (1)入力データはアンケートデータであり、問1から問4まで   それぞれ1から5のうちのいずれかの回答が記録されている。 (2)入力データにエラーはない。 (3)二次元テーブル SYU-Tを第9図のように用意し、たとえ   ば問1で2と答えた人数はSYU-T(2 1)に、問2で5と答え     た人数はSYU-T(5 2)というようにして回答数を集計する。 (4)データが終わりになったら、各問の1から5までの回答人     数をそれぞれ印字して処理を終わる。 SYU-T(集計テーブル) (1) (2) (3) (4) (5) (第9図)

入力データ ファイル名:実習4data.txt 1 2 3 4 5 1 2 3 4 5 KAI(1) KAI(2) KAI(3)

入力形式・出力形式・処理条件 から記憶領域を定義する

記憶領域の定義 記憶装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 9 KAI(2) 9 KAI(3) XX 01:E-FLG 01:N 01:J 作業領域 XXX 9 9 01:TAB TBL(1) SYU-T (1 1) 99 (1 2) (1 3) (1 4) TBL(2) ・・・・・ TBL(5) SYU-T (2 1) 99 SYU-T (2 2) 99 SYU-T (2 3) 99 SYU-T (2 4) 99 SYU-T (5 1) 99 SYU-T (5 2) 99 SYU-T (5 3) 99 SYU-T (5 4) 99 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI (1) ZZZZZ9 MEI (2) MEI (3) MEI (4) 出力領域 FD:LIST-F 01:LIST-R X(72)

記憶領域の定義から データ部の記述をする

データ部の記述① DATA DIVISION. FILE SECTION. FD KAITO-FILE. 01 KAITO-REC.   02 KAI    PIC 9(1) OCCURS 4.   02    PIC X(2). FD OUT-FILE. 01 OUT-REC PIC X(72). 入力領域 出力 領域

データ部の記述② WORKING-STORAGE SECTION. 01 E-FLG PIC X(3). 01 N PIC 9(1). 01 J  PIC 9(1). 01 TAB. 02 TBL OCCURS 5. 03 SYU-T PIC 9(2) OCCURS 4. 独立項目の記述 作 業 領 域

データ部の記述③ 01 MIDASI. 02 PIC X(3) VALUE SPACE. 02 PIC X(4) VALUE "問1". 01 MEISAI. 02 MEI PIC ZZZZZ9 OCCURS 4. 見出行の記述 作 業 領 域 明細行の記述

処理手順を考える

入力ファイル・出力ファイルを開く COBOLのプログラムでは、最初の処理は入力用、出力用のファイルを開くことである。 ファイルを開くとは、ファイルを使用できる状態にすることである。

① 初期値を設定する 初期値”OFF” 初期値 0 OFF 00 00 00 00 00 入力装置 記憶装置 演算装置 ① 初期値を設定する 入力装置 記憶装置 演算装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) KAI(2) KAI(3) KAI(4) 01:E-FLG 01:N 01:J 作業領域 OFF 初期値”OFF” 01:TAB TBL(1) SYU-T (1 1) 00 (1 2) (1 3) (1 4) ・・・・・ TBL(5) SYU-T (5 1) 00 SYU-T (5 2) 00 SYU-T (5 3) 00 SYU-T (5 4) 00 初期値 0 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI (1) MEI (2) MEI (3) MEI (4) 出力領域 FD:LIST-F 01:LIST-R X(72)

② 見出行を印字する 1 3 4 5 OFF 00 00 00 00 00 入力装置 記憶装置 演算装置 ② 見出行を印字する 入力装置 記憶装置 演算装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 01:E-FLG 01:N 01:J 作業領域 OFF 01:TAB TBL(1) SYU-T (1 1) 00 (1 2) (1 3) (1 4) ・・・・・ TBL(5) SYU-T (5 1) 00 SYU-T (5 2) 00 SYU-T (5 3) 00 SYU-T (5 4) 00 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI (1) MEI (2) MEI (3) MEI (4) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

繰り返し処理 入力データを読み終えるまで(E-FLG = “ON”となるまで) 以下の手続きを繰り返す。 ③入力データを読む。 処理を行う。    ⑤回答の内容を添字Jに転記する。    ⑥添字JとNを利用しテーブルの要素SYUーT(J N)             にカウントする。

③ 入力データを読む 入力データ 1 3 4 5 OFF 00 00 00 00 00 入力装置 記憶装置 演算装置 ③ 入力データを読む 入力装置 入力データ 記憶装置 演算装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 01:E-FLG 01:N 01:J 作業領域 OFF 01:TAB TBL(1) SYU-T (1 1) 00 (1 2) (1 3) (1 4) ・・・・・ TBL(5) SYU-T (5 1) 00 SYU-T (5 2) 00 SYU-T (5 3) 00 SYU-T (5 4) 00 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI (1) MEI (2) MEI (3) MEI (4) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

2次元テーブルは2次元の表にして考える 例えば SYU-T(2 3)は、 2行目の3列目になる (1) (2) (3) (4) (5) 01 TAB TBL(1) TBL(2) TBL(3) TBL(4) TBL(5) SYU-T (1 1) (1 2) (1 3) (1 4) SYU-T (2 1) (2 2) (2 3) (2 4) SYU-T (3 1) (3 2) (3 3) (3 4) SYU-T (4 1) (4 2) (4 3) (4 4) SYU-T (5 1) (5 2) (5 3) (5 5) 例えば SYU-T(2 3)は、 2行目の3列目になる (1) (2) (3) (4) (5) 問1 問2 問3 問4 回答1 回答2 回答3 回答4 回答5

④ 添字Nを1から1ずつ増やし4を超える まで処理を繰り返す 入力装置 入力データ ④ 添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す 記憶装置 FD:KAITO-FILE 01:KAITO-REC Nが1の場合 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 問1の回答は1であることがわかる! 回答した番号の1をJに転記! 作業領域 01:E-FLG 01:N 01:J テーブルの1行1列目にカウントする OFF 1 SYU-T(J N) + 1 → SYU-T(J N) 1 1 00 01 1 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 00 (5) 回答1 01 行の添字 回答2 回答3 回答4 回答5

④ 添字Nを1から1ずつ増やし4を超える まで処理を繰り返す 入力装置 入力データ ④ 添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す 記憶装置 FD:KAITO-FILE 01:KAITO-REC Nが1増え2となる 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 問2の回答は3であることがわかる! 回答した番号の3をJに転記! 作業領域 01:E-FLG 01:N 01:J テーブルの3行2列目にカウントする OFF 2 1 3 SYU-T(J N) + 1 → SYU-T(J N) 3 2 00 01 3 2 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 01 00 (5) 回答1 行の添字 回答2 回答3 01 回答4 回答5

④ 添字Nを1から1ずつ増やし4を超える まで処理を繰り返す 入力装置 入力データ ④ 添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す 記憶装置 FD:KAITO-FILE 01:KAITO-REC Nが1増え3となる 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 問3の回答は4であることがわかる! 回答した番号の4をJに転記! 作業領域 01:E-FLG 01:N 01:J テーブルの4行3列目にカウントする SYU-T(J N) + 1 → SYU-T(J N) 4 3 OFF 3 3 4 00 01 4 3 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 01 00 (5) 回答1 行の添字 回答2 回答3 回答4 01 回答5

④ 添字Nを1から1ずつ増やし4を超える まで処理を繰り返す 入力装置 入力データ ④ 添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す 記憶装置 FD:KAITO-FILE 01:KAITO-REC Nが1増え4となる 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 問4の回答は5であることがわかる! 回答した番号の5をJに転記! 作業領域 01:E-FLG 01:N 01:J テーブルの5行4列目にカウントする OFF 4 4 5 SYU-T(J N) + 1 → SYU-T(J N) 5 4 00 01 5 4 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 01 00 (5) 回答1 行の添字 回答2 回答3 回答4 回答5 01

④ 添字Nを1から1ずつ増やし4を超える まで処理を繰り返す 入力装置 入力データ ④ 添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す 記憶装置 FD:KAITO-FILE 01:KAITO-REC Nが1増え5となる 入力領域 KAI(1) 1 KAI(2) 3 KAI(3) 4 KAI(4) 5 Nが4を超えたので繰り返しを終了する 次の入力データを入力する 作業領域 01:E-FLG 01:N 01:J OFF 5 4 5 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 01 00 (5) 回答1 行の添字 回答2 回答3 回答4 回答5

⑤ 入力データが終了した場合は、 E-FLGに“ON”という文字列を転記する 入力装置 入力データ ⑤ 入力データが終了した場合は、  E-FLGに“ON”という文字列を転記する 記憶装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 作業領域 01:E-FLG 01:N 01:J OFF ON 5 4 5 列の添字 問1 問2 問3 問4 SYU-T(J N) (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 回答1 行の添字 回答2 回答3 回答4 回答5

入力データ終了後の処理 以下の手続きがある。 ⑥集計テーブルの行の添字Jを1から1ずつ 増やし5を超えるまで以下の処理を行う。   増やし5を超えるまで以下の処理を行う。    ⑦集計テーブルの列の添字Nを1から1ずつ 増やし4を超えるまで以下の処理を行う。        ⑧テーブルの要素SYU-Tの内容を          明細行の項目MEIへ順に転記する。    ⑨1行分を転記したら明細行を印字する。

⑥ 行の添字Jを1から1つずつ増やし5を超える まで処理を繰り返す J=1 ⑥ 行の添字Jを1から1つずつ増やし5を超える   まで処理を繰り返す  J=1 入力装置 入力データ 記憶装置 ⑦ 列の添字Nを1から1ずつ増やし4を超える  まで処理を繰り返す N=1 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 ⑧ テーブルの要素を明細行に転記 01:E-FLG 01:N 01:J SYU-T(J N) 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 1 1 ON 5 5 1 1 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 1 MEI(N) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

⑥ 行の添字Jを1から1つずつ増やし5を超える まで処理を繰り返す J=1 ⑥ 行の添字Jを1から1つずつ増やし5を超える   まで処理を繰り返す  J=1 入力装置 入力データ 記憶装置 ⑦ 列の添字Nを1から1ずつ増やし4を超える    まで処理を繰り返す N=2 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 ⑧ テーブルの要素を明細行に転記 01:E-FLG 01:N 01:J SYU-T(J N) 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 1 2 ON 1 5 1 2 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 1 2 MEI(N) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

⑥ 行の添字Jを1から1つずつ増やし5を超える まで処理を繰り返す J=1 ⑥ 行の添字Jを1から1つずつ増やし5を超える   まで処理を繰り返す  J=1 入力装置 入力データ 記憶装置 ⑦ 列の添字Nを1から1ずつ増やし4を超える    まで処理を繰り返す N=3 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 ⑧ テーブルの要素を明細行に転記 01:E-FLG 01:N 01:J SYU-T(J N) 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 1 3 ON 2 5 1 3 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 1 11 3 MEI(N) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

⑥ 行の添字Jを1から1つずつ増やし5を超える まで処理を繰り返す J=1 ⑥ 行の添字Jを1から1つずつ増やし5を超える   まで処理を繰り返す  J=1 入力装置 入力データ 記憶装置 ⑦ 列の添字Nを1から1ずつ増やし4を超える    まで処理を繰り返す N=4 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 ⑧ テーブルの要素を明細行に転記 01:E-FLG 01:N 01:J SYU-T(J N) 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 1 4 ON 3 5 1 4 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 1 11 2 4 MEI(N) 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4

⑥ 行の添字Jを1から1つずつ増やし5を超える まで処理を繰り返す J=1 ⑥ 行の添字Jを1から1つずつ増やし5を超える   まで処理を繰り返す  J=1 入力装置 入力データ 記憶装置 ⑦ N=5となり4を超えたので繰り返しを終了 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 ⑨ 明細行を印字 01:E-FLG 01:N 01:J 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 ON 4 5 1 5 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 1 11 2 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4 21     1   11    2

⑥ 行の添字Jを2,3,4,5と増やし5を超える まで同様の処理を繰り返す ⑥ 行の添字Jを2,3,4,5と増やし5を超える   まで同様の処理を繰り返す 入力装置 入力データ 記憶装置 FD:KAITO-FILE 01:KAITO-REC 入力領域 KAI(1) 2 KAI(2) 2 KAI(3) 2 KAI(4) 5 01:E-FLG 01:N 01:J 作業領域 (1) (2) (3) (4) 21 01 11 02 08 16 09 14 05 06 04 10 (5) 12 ON 5 1 5 4 3 1 2 1 3 2 4 3 4 5 2 3 5 3 1 2 5 1 6 2 4 5 4 01:MIDASI 問1    問2    問3    問4 01:MEISAI MEI(1) MEI(2) MEI(3) MEI(4) 21 16 14 2 4 1 10 11 1  8  1  2  5 9 6 14 12 1 8 2 出力領域 FD:LIST-F 01:LIST-R X(72) 問1    問2    問3    問4 21     1   11    2  8     16    9    14  5     14    6     1  2      4   10     8  1      2    1    12 

入力ファイル・出力ファイルを閉じる COBOLのプログラムでは、最後の処理は入力用、出力用のファイルを閉じることである。