Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект «Алгоритмизация и программирование.doc
Скачиваний:
21
Добавлен:
16.12.2013
Размер:
894.46 Кб
Скачать
    1. Печать сведений о количестве работников каждой профессии по заданному разряду заданного цеха.

* командный файл печати сведений о работниках заданного разряда Zad2

clear

set talk off

@ 5,25 say ' Командный файл печати сведений о работниках заданного разряда Zad2'

accept 'Введите имя файла данных: ' to NameFd

Use &NameFd

input 'Введите номер разряда: ' to RazrNom

input 'Введите номер цеха: ' to CexNom

clear

@ 5,10 say 'Количество работников цеха № '+STR(CexNom,1)+', имеющих '+STR(RazrNom,1)+' разряд'

@ 6,5 say '------------------------------------------------------'

@ 7,15 say 'Профессия'

@ 7,40 say 'Количество'

@ 8,5 say '------------------------------------------------------'

store 9 to Row

store 0 to Kol

store 1 to N,Nm

count to col

dimension PR(col)

scan

if ASCAN(PR,PROF)=0

store PROF to PR(N)

store N+1 to N

endif

endscan

do while Nm<N

scan for RAZR=RazrNom and NOMCEX=CexNom and PROF=PR(Nm)

store Kol+1 to Kol

endscan

@ Row,10 say PR(Nm)

@ Row,35 say Kol

store 0 to Kol

store Row+1 to Row

store Nm+1 to Nm

enddo

@ Row+1,5 say '------------------------------------------------------'

wait 'Для возврата в меню нажмите любую клавишу ...'

return

    1. Печать упорядоченного по алфавиту списка работников каждой профессии.

* командный файл печати упорядоченного списка работников каждой про-фессии Zad3

clear

set talk off

@ 5,5 say 'Командный файл печати упорядоченно списка работников каждой профессии Zad3'

accept 'Введите имя файла данных: ' to NameFd

clear

use &NameFd

index On PROF+FAM to &NameFd

use &NameFd Index &NameFd

store 1 to Row

store 0 to Kol

store 1 to N,Nm

count to col

dimension PR(col)

scan

if ASCAN(PR,PROF)=0

store PROF to PR(N)

store N+1 to N

endif

endscan

do while Nm<N

@ Row,12 say 'Список работников професcии ' + PR(Nm)

@ Row+1,5 say '-----------------------------------------------------------'

@ Row+2,7 say 'Номер цеха Таб.номер Фамилия Разряд'

@ Row+3,5 say '-----------------------------------------------------------'

scan for PROF=PR(Nm)

@ Row+4,11 say NOMCEX

@ Row+4,25 say TABNOM

@ Row+4,40 say FAM

@ Row+4,58 say RAZR

store Row+1 to Row

endscan

@ Row+4,5 say '-----------------------------------------------------------'

store Nm+1 to Nm

store Row+6 to Row

ifRow>=40

Row=1

wait 'Нажмите любую клавишу для вывода ннформации о работниках следующих профессий'

clear

endif

enddo

Close DataBases

Delete File NameFd + '.idx'

wait 'Для возврата в меню нажмите любую клавишу ...'

return

  1. Результаты решений

Выбор создания файла данных

Номер цеха

Табельный номер

Фамилия

Профессия

Разряд

1

1001

Белов

Механик

4

1

1002

Маслов

Шумоизоляторщик

5

1

1003

Ситников

Перегонщик

3

1

1004

Чернов

Помощник механика

2

2

1005

Сорокин

Автослесарь

4

2

1006

Хохлов

Сигнализаторщик

5

2

1007

Сиротин

Шиномонтажник

4

2

1008

Смирнов

Слесарь

4

3

1009

Колосов

Механик по тюнингу

5

3

1010

Бобров

Механик

4

3

1011

Никулин

Шумоизоляторщик

5

3

1012

Малышев

Механик

4

4

1013

Брусков

Помощник механика

2

4

1014

Воробьев

Автослесарь

4

4

1015

Леонов

Сигнализаторщик

5

4

1016

Сиднев

Механик

4

5

1017

Ильин

Автослесарь

3

5

1018

Фадеев

Шиномонтажник

4

5

1019

Астахов

Слесарь

4

5

1020

Рублев

Механик по тюнингу

5

Выбор чтения файла данных

Выбор добавления данных

в файл данных

Номер цеха

Табельный номер

Фамилия

Профессия

Разряд

1

1021

Волков

Шиномонтажник

3

2

1022

Новиков

Слесарь

4

3

1023

Григорьев

Механик

5

4

1024

Журавлев

Помощник механика

2

5

1025

Дианов

Автослесарь

5

Выбор выполнения Задания №1

Выбор выполнения Задания №2

Выбор выполнения Задания №3

Выход из СУБД