Студопедия

КАТЕГОРИИ:


Архитектура-(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)

READ s(5).fam, s(5).ot, s(5).zar, s(6).fam, s(6).ot, s(6).zar




READ s(3).fam, s(3).ot, s(3).zar, s(4).fam, s(4).ot, s(4).zar

READ s(1).fam, s(1).ot, s(1).zar, s(2).fam, s(2).ot, s(2).zar

END TYPE

Программа работы с файлом прямого доступа

DIM org(50) AS sotr, a AS sotr

END TYPE

Zar AS INTEGER

TYPE sotr

END TYPE

...

Элемент AS тип

[элемент AS тип]

Здесь: имя типа – имя пользовательского типа данных

элемент – имя элемента пользовательского типа

тип – указатель типа данных языка (INTEGER, LONG, SINGLE, DOUBL, STRING). Тип STRING задается в форме STRING* число_знаков_в_переменной.

Пример. Положим, структура файла данных о сотрудниках некоторой организации состоит из двух полей: символьного поля фамилий длиной до 12 букв (STRING*12) и целочисленного поля зарплаты (INTEGER). После определения пользо­вательского типа SOTR можно указать конкретные переменные и массивы – здесь массив ORG(50) и переменная А.

Обращение к элементам такой структуры должно осуществляться по сос­тавному имени, включающему имя переменной и через точку – имя элемента структуры. Например, имя ORG(1).FAM указывает на первый элемент массива ORG типа FAM. Здесь же показаны операторы присваивания и печати.

fam AS STRING*12

org(1).fam="Петров": org(1).zar=900: a.fam="Петров": a.zar=900

PRINT org(1).fam, org(1).zar

PRINT a.fam; a.zar

Именно переменная пользовательского типа должна быть указана в операторах PUT и GET.

Пример. Рассмотрим технику работы с файлом прямого доступа. Поло­жим, следует повысить зарплату сотрудникам организации, получающим менее 850 руб. на определенный, задаваемый в момент просмотра данных, процент. Программа состоит из трех разделов. В первом – из массива S в файл KADR.DAT заносятся исходные данные. Во втором – просматриваются данные обо всех сотрудниках, получающих меньше 850. Каждому их них руководитель подразделения назначает (или не назначает) процент увеличения зарплаты. Если процент указан, предъявляется новая зарплата и, при нажатии любой клавиши, обработка данных продолжается. В третьем разделе программы на экран выводятся обновленные данные из файла.

 

Иванов N отдела: 123 Зарплата: 800

Укажите % повышение зарплаты =20 Будет – 960

Для продолжения нажмите любую клавишу

 

TYPE kadr 'определение пользовательского типа данных

fam AS STRING * 12 'фамилия

ot AS INTEGER 'N отдела

zar AS LONG 'зарплата

n=6 'число сотрудников

DIM s(n) AS kadr 'объявление массива записей для ввода

DIM w AS kadr 'комбинированная переменная для вывода

DATA "Иванов",123, 800, "Петров", 564, 780, "Сидоров", 123,950

DATA "Ильин", 123, 700, "Семина", 564, 600, "Коваль", 123,900

OPEN "kadr.dat" FOR RANDOM AS 1 'открытие файла KADR.DAT

FOR i=1 TO n 'просмотр и запись данных в файл из массива S

PRINT s(i).fam, s(i).ot, s(i).zar

PUT #1, i, s(i)




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


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


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



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




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