23
フローチャート練習問題

フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

フローチャート練習問題

Page 2: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 1.  支給額計算①問題 2.  支給額計算②問題 3.  項目チェック問題 4.  日付妥当性判定問題 5.  奇遇の判定問題 6.  合計を取る問題 7.  給与支給表①問題 8.  昇順チェック問題 9.  給与支給表②問題 10.  マージ 1:1問題 11.  マージ N:N問題 12.  マージ&コントロールブレイク問題 13.  テーブルサーチ問題 14.  メモリーSORT

Page 3: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 1.  支給額計算①

社員コード

氏名

基本給

日数

社員区分

社員区分=0(社長の時) 役職手当=1,000,000社員区分=1(部長の時) 役職手当=  500,000社員区分=2(課長の時) 役職手当=  300,000社員区分=3(係長の時) 役職手当=  100,000社員区分=4(社員の時) 役職手当=        0社員区分=5(パートの時) 役職手当=        0

上記データを読み、社員コード、氏名、支給額を出力する。

パート以外は、基本給+役職手当てを支給額とし、パートは、基本給欄に日給が入っているので日給×日数を支給額とする。

( 3 )

Page 4: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 2.  支給額計算②

社員コード

氏名

基本給

扶養人数

扶養人数1人目  10,000円扶養人数2人目   5,000円扶養人数3人目   3,000円扶養人数4人目以降毎に 2,000円

上記データを読み、支給額を計算し、社員コード、氏名、支給額を出力する。

支給額=基本給+扶養手当

( 2 )

Page 5: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 3.  項目チェック

社員コード

氏名

社員区分

配偶者有無

勤労学生

寡婦・夫

未成年者

老年者

社員区分 0~5 以外エラー配偶者有無 0,1,2 以外エラー勤労学生 0,1 以外エラー寡婦・夫 0,1,2 以外エラー未成年者 0,1 以外エラー老年者 0,1 以外エラー

1)  上記データを読み各項目のチェックを行い、いずれか1つでもエラーの時    は社員コードとERR それ以外は社員コードとOKを出力する。

2)  上記データを読み各項目のチェックを行い、全項目がエラーの時は、社員    コードとERR それ以外は社員コードとOKを出力する。

( 3 )

Page 6: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 4.  日付妥当性判定

西暦年 月 日

上記データを読込、入社年月日の妥当性をチェックし、社員コード、氏名、入社年月日と入社年月日が誤っていればERR、正しければOKを出力する。

(閏年考慮の事)

社員コード

氏名

入社年月日

( 4 )

Page 7: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 5.  奇遇の判定

西暦年 月 日

上記データを読込、データレコード№が奇数レコードであれば奇数、偶数レコードであれば偶数という文字を出力する。

社員コード

氏名

入社年月日

( 5 )

Page 8: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 6.  合計を取る

上記データを読込、基本給の全社員合計を計算し出力する。

社員コード

基本給

( 6 )

Page 9: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 7.  給与支給表①

給与データを読み給与支給表を出力する。

1)  明細行   総支給額=基本給+諸手当+残業手当

2)  総合計   各項目の全社員合計を取る

3)  1頁には明細行を60行出力するものとし、60行を超えると頁わ換える。頁は1からカウントする。

部課コード

社員コード

諸手当

基本給

残業手当

給与データ

給与支給表

           *** 給与支給表 ***             ページ Z9部課  社員   基本給   諸手当   残業手当 総支給額 99 99999 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9

総合計 ZZ,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9

( 7 )

Page 10: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 8.  昇順チェック

上記データは、本来社員番号の小さい人から大きい人に昇順に並んでいなければならない。そこで、このデータを読み確かに昇順になっていいるかを調べ、もし小から大になっていなければ、小になったカードをエラーとし社員番号とERRを出力し、昇順になっているデータは、何も出力しない。(尚、エラーとなった社員番号は昇順チェックの対称としない)

社員コード

( 8 )

Page 11: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 9.  給与支給表②

部課コード、社員コードで分類されている給与データを読み給与支給表を出力する。

1)  明細行   総支給額=基本給+諸手当+残業手当

2)  部課計   各項目の同一部課内の合計を取る

3)  総合計   各項目の全社員合計を取る

4)  1頁には明細行を60行出力するものとし、60行を超えると頁わ換える。頁は1からカウントする。

部課コード

社員コード

諸手当

基本給

残業手当

給与データ

給与支給表

           *** 給与支給表 ***             ページ Z9部課  社員   基本給   諸手当   残業手当 総支給額 99 99999 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9

部課計 ZZ,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9総合計 ZZ,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9 Z,ZZZ,ZZ9

( 9 )

Page 12: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 10.  マージ 1:1

社員コードで分類されている給与データAと給与データBをマージして、給与データCを作成する。給与データA・B共に同じ社員コードは無いものとする。

給与データA

給与データB

給与データC

( 10 )

Page 13: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 11.  マージ N:N

社員コードで分類されている給与データAと給与データBをマージして、給与データCを作成する。給与データA・B共に同一社員コードがN件有るものとする。

給与データA

給与データB

給与データC

( 11 )

Page 14: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 12.  マージ&コントロールブレイク

給与データA・B共に、部課コード>社員コードで分類されており、給与データAはn月締め分のファイルで、給与データBは1月~n-1月締め分のファイルである。

両ファイルを部課コード・社員コードをKEYとしてマージし、1月~n月締迄の合計表を作成する。

社員コードブレイクで1~n月の合計を出力し、部課コードブレイクで部課計を出力し、EOFで総合計を出力する。(給与データA・B、年間給与支給表のフォーマットは問題9を参照)

給与データA

給与データB

年間給与支給表

( 12 )

Page 15: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 13.  テーブルサーチ

部課名テーブル部課コード 部課名

01 総務02 経理03 人事05 教育09 工事12 システム13 企画15 調査17 資料室18 研究室20 営業

部課コードを読み対応する部課名を部課名テーブルより探し出力する。

  部課名テーブルに無い部課コードはエラーとし部課コードとERRを出力する。

部課コード

部課コード

部課名一覧表

( 13 )

Page 16: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題 14.  メモリーSORT

TABLE WORKA得意先コード 得意先名

50

メモリー内に上図のテーブルが有り 大50個の得意先を記憶している。但し現在得意先コード順にはなっていないので、これを得意先コードの小→大(昇順)に並べ替えたい。作業エリアとしてWORKAを使用して、このテーブルを分類する。

( 14 )

Page 17: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題10.

N

Y

N

Y

Y

N

N

Y

N N

Y Y

A,Bファイルオープン

給与データA読込

データ有りか

AKEY←給与データAの社員コード

AKEY←HIVALUE

給与データB読込

データ有りか

BKEY←給与データBの社員コード

BKEY←HIVALUE

AKEY=HIVALUE&

BKEY=HIVALUE

終了

AKEY<BKEY

給与データC←給与データA

給与データC書きこみ

給与データA読込

データ有りか

AKEY←給与データAの社員コード

AKEY←HIVALUE

給与データC←給与データB

給与データC書きこみ

給与データB読込

データ有りか

BKEY←給与データAの社員コード

BKEY←HIVALUE

スタート

A,Bファイルクローズ

Page 18: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題11.

Y

N

N

Y    Y

N N

   Y    Y

A,Bファイルオープン

AKEY=HIVALUE&

BKEY=HIVALUE

終了

AKEY<BKEY

給与データC←給与データA

給与データC書きこみ

給与データC←給与データB

給与データC書きこみ

AKEY=BKEY

給与データC←給与データA,B

給与データC書きこみ

給与データA読込

データ有りか

AKEY←給与データAの社員コード

AKEY←HIVALUE

スタート

A,Bファイルクローズ

終了

給与データA読込処理

給与データA読込処理

給与データB読込処理

給与データA読込処理

給与データA読込処理

給与データB読込処理

給与データB読込処理

給与データB読込

データ有りか

AKEY←給与データBの社員コード

BKEY←HIVALUE

終了

給与データB読込処理

Page 19: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題12.

N

Y

A,Bファイルオープン

スタート

給与データA読込処理

給与データB読込処理

給与データB集計処理

AKEY1<BKEY1

DKEY1←AKEY1 DKEY1←BKEY1

DKEY1≠HI-VALUE

総合計印刷

OLD-DKEY1←DKEY1

DKEY1≠OLD-DKEY1

基本給課計←0諸手当課計←0

残業手当課計←0

A,Bファイルクローズ

終了

PAGE←0LINE←99

基本給総計←0諸手当総計←0

残業手当総計←0

LINE←LINE+1

LINE>60

ヘッダー印刷

LINE←1

A B CD

課計出力

PAGE←PAGE+1

Page 20: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

N

Y

Y

N

Y

AKEY2<BKEY2

基本給←給与データAの基本給諸手当←給与データAの諸手当

残業手当←給与データAの残業手当

AKEY2=BKEY2

給与データA読込処理

給与データA読込処理

給与データB読込処理

給与データB読込処理

給与データB集計処理

給与データB集計処理

基本給←給与データAの基本給+基本給B

諸手当←給与データAの諸手当+諸手当B

残業手当←給与データAの残業手当+残業手当B

基本給←基本給B諸手当←諸手当B

残業手当←残業手当B

AKEY1<BKEY1

DKEY1←AKEY1

DKEY1←BKEY1

DKEY1←AKEY1

DKEY1←BKEY1

基本給課計←基本給課計+基本給諸手当課計←諸手当課計+諸手当残業手当課計←残業手当課計+残

業手当基本給課計←基本給課計+基本給諸手当課計←諸手当課計+諸手当残業手当課計←残業手当課計+残

業手当

基本給課計←基本給課計+基本給諸手当課計←諸手当課計+諸手当残業手当課計←残業手当課計+残

業手当

基本給総計←基本給総計+基本給諸手当総計←諸手当総計+諸手当残業手当総計←残業手当総計+残

業手当

基本給総計←基本給総計+基本給諸手当総計←諸手当総計+諸手当残業手当総計←残業手当総計+残

業手当

基本給総計←基本給総計+基本給諸手当総計←諸手当総計+諸手当残業手当総計←残業手当総計+残

業手当

明細印刷処理 明細印刷処理 明細印刷処理

A B C

D

課計出力

Page 21: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

N N

   Y    Y

   Y

Y

N

給与データA読込

データ有りか

AKEY1←給与データAの部課

AKEY2←給与データAの部課、社員コー

AKEY1,2←HI-VALUE

戻る

給与データA読込処理

給与データB読込

データ有りか

CKEY1,2←HIVALUE

戻る

給与データB読込処理

BKEY2=CKEY2&BKEY2≠HIGH-

VALUE

基本給B←基本給B+給与データBの基本給諸手当B←諸手当B+給与データの諸手当

残業手当B←残業手当B+給与データBの残業手当

戻る

給与データB集計処理

BKEY2←CKEY2

基本給B←0諸手当B←0

残業手当B←0

給与データB読込処理

CKEY1←給与データBの部課

CKEY2←給与データBの部課、社員コー

明細印刷処理

LINE←LINE+1

LINE>60

ヘッダー印刷

LINE←1

明細印刷

戻る

LINE←LINE+1

LINE>60

ヘッダー印刷

LINE←1

課計印刷

課計出力

戻る

PAGE←PAGE+1

Page 22: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題13.

START

ファイルOPEN

部課コード読込

データ終りか?

IX1←1

IX1>11

部課コード=TABLE部課(IX1)

部課コード、エラー出力

IX1←IX1+1

ファイルCLOSE

END

明細印刷

部課名←TABLE部課名(IX1)

Page 23: フローチャート練習問題hrm.fixa.jp/free/down/flow.pdf · フローチャート練習問題. 問題 1. 支給額計算① ... 給与データを読み給与支給表を出力する。

問題14.

Y N

START

IX1←0

IX1 ← IX1+1IX2 ← IX1+1

TABLE( IX1 ) <TABLE( IX2 )

WORKA ←TABLE( IX1 )

TABLE( IX1 )←TABLE(IX2)

TABLE( IX2 )←WORKA

IX1>50

終了