Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Семина 564 600




Петров 564 780

Отдел 564

Коваль 123 900

Ильин 123 700

Сидоров 123 950

Иванов 123 800

Отдел 123

LOOP

NEXT

LOOP

NEXT j, i

NEXT

Программа сортировки данных из файла KADR.DAT

Коваль 123 900

Ильин 123 700

Сидоров 123 950

Иванов 123 800

Коваль 123 900

Семина 564 600

Ильин 123 700

Сидоров 123 950

Петров 564 780

Иванов 123 800

ФИО Отдел Зарплата

Список сотрудников

LOOP

END IF

DO WHILE NOT EOF(1)

PRINT

NEXT

CLOSE #1 'закрытие файла

OPEN "kadr.dat" FOR INPUT AS 1 'открытие файла для просмотра

sum = 0: k = 0 'переменные для суммы и числа работников в отделе

INPUT #1, f$, o, z 'считывание данных из файла

IF o=123 THEN 'для отдела 123

sum=sum+z 'суммируется зарплата

k=k+1 'число работников

PRINT f$,o,z 'вывод сведений о сотрудниках отдела

CLOSE #1

'вывод суммарной зарплаты отдела

PRINT "Фонд зарплаты отдела="; sum

PRINT "Средняя зарплата="; sum/k

 

Результат работы программы:

Фонд зарплаты отдела= 3350

Средняя зарплата= 837.5

 

Пример. Данные из файла KADR.DAT отсортировать по номерам отделов и занести в файл OTDEL.DAT.

 

DIM no(20) 'массив для хранения номеров всех найденных отделов

'открытие файла KADR.DAT c номером 1 для просмотра

OPEN "kadr.dat" FOR INPUT AS 1

nn=0 'переменная для подсчета числа существующих отделов

DO WHILE NOT EOF(1) 'просмотр файла 1

INPUT #1, f$, o, z 'считывание данных

FOR i = 1 TO nn 'просмотр номеров уже найденных в файле отделов

'если такой отдел уже попадался, переход к следующей записи

IF no(i) = o THEN GOTO m:

'если такой отдел в массиве не найден, он заносится в элемент no(nn)

nn=nn+1: no(nn)=o

m: LOOP

'сортировка номеров отделов по возрастанию

FOR i=1 TO nn-1: FOR j=i+1 TO nn

IF no(j)<no(i) THEN SWAP no(i),no(j)

KILL "otdel.dat"

'открытие файл OTDEL.DAT для добавления

OPEN "otdel.dat" FOR APPEND AS 2

FOR i = 1 TO nn 'просмотр номеров отделов в массиве NN

SEEK #1, 1 'переход в начало исходного файла KADR

DO WHILE NOT EOF(1) 'просмотр записей в файле KADR

INPUT #1,f$,o,z 'считывание данных из него

'если номера отделов в массиве и файле KADR совпадают,

'данные из файла KADR записываются в OTDEL

IF no(i)=o THEN WRITE #2, f$,o,z

CLOSE #2 'закрытие файла OTDEL.DAT

OPEN "otdel.dat" FOR INPUT AS 2 'открытие его для вывода

ot 'переменная для фиксации изменения номера отдела

DO WHILE NOT EOF(2) 'просмотр записей в файле

INPUT #2, f$,o,z 'считывание списка сотрудников

'Если это новый отдел, запоминается (в OT) и выводится его номер

IF ot<>o THEN PRINT " Отдел "; o: ot=o

PRINT f$,o,z 'вывод на экран списка сотрудников

CLOSE 'закрытие всех файлов

 

Результат работы программы:

¶ФАЙЛЫ ПРЯМОГО ДОСТУПА. Ввод/вывод данных в файл/из файла здесь осуществляется с помощью следующих операторов.

üPUT номер_файла [,[номер_записи][,переменная]]

üGET номер_файла [,[номер_записи][,переменная]]

Если опущен параметр номер записи, будет читаться следующая запись после последнего оператора PUT/GET или запись, указанная последним оператором SEEK.

Для организации перемещения данных удобно использовать так называе­мые комбинированные типы данных. Это сложный тип данных, определяемый пользователем с помощью операторов:

üTYPE имя_типа




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 370; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.