КАТЕГОРИИ: Архитектура-(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) 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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |