русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Краткие теоретические сведения.


Дата добавления: 2015-01-16; просмотров: 1080; Нарушение авторских прав


Запись – это последовательность байтов на носителе, ограниченная с двух сторон специальны­ми признаками. Такое определение дает представление о за­писи как о единице обмена между внешней и оперативной памятью компьютера. Однако сама запись бывает сложной структурой, содержащей разные данные. Запись может, на­пример, соответствовать строке ведомости заработной платы, в которой указаны фамилия и несколько чисел, или строке классного журнала, где также содержатся фамилия и оценки. Таким образом, запись понимается как сложная конструкция. Поэтому в Паскале и других программных системах слово «за­пись» имеет двойной смысл: это и сложная структура, и еди­ница данных на носителе (например, диске).

Запись — совокупность разнородных данных, описываемых и обрабатываемых как единое целое.

Данные, из которых состоит запись, называются ееполями. Поля могут быть простыми данными или составными, напри­мер массивами или записями. С помощью записей удобно описывать свойства объектов, хранить их совместно. Из запи­сей состоят базы данных, включающие описание нескольких объектов. Описание записи состоит из ключевого словаrecord, после которого указываются имена полей и тип каждого поля. Тип поля отделяется от имени двоеточием. Описание записи за­канчивается словомend и точкой с запятой. Записи описыва­ются в разделе типов данныхtype, В этом разделе указывается имя класса объектов (имя типа) и описание этого класса. Для каждого объекта класса имеется свое имя в разделе перемен­ныхvar с описанием данного типа. Это имя используется в дальнейшем в программе.

Пример. Объект — физическое тело с измерениями а, b, с (длина, ширина и высота). Описание может иметь вид а), когда для каждого поля указан тип данного, или б), когда подряд идущие однотипные поля описаны совместно:

a) type z = recordб) type z = record



a: integer;a, b, c:integer

b: integer; end;

c: integer var x: z;

end;

var x: z;

Пример.Объект — товар, характеризуется названием и ценой:

typetovar = record

sign: string[ 20];

price:real

end;

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

typedate_of_birth= record

day: 1 ..31;

month: string[10];

year:integer

end;

vardate: date_of_birth;

Записи могут объединяться в массивы. Массив записей описывается в разделеtype илиvar. Раздел пере­менных при объекте товар может иметь вид:

var x: array [ 1.. 100 ] of tovar; y: tovar;

x — массив записей, к каждому элементу которого использу­ется обычное обращение, например х[ i ]; у простая пере­менная.

Для обращения к полю записи применяется сложное имя, состоящее из двух имен, разделенных точкой. Первое из них — имя переменной типа «запись» из разделаvar, второе — имя поля этой записи из разделаtype. Так, для товаров имена по­лей в программе имеют вид:

у. sign, у. price, x [ 1 ]. sign, x [ i ]. price

Содержание сведений Ф. И. 0. Должность Дата рождения Зарплата
Имя поля записи name position date salary
Тип данных поля String [20] string [10] date_of_birth real

Пример. Пусть требуется описать сведения о работнике предприятия: фа­милию, должность, дату рождения и зарплату. Для каждого поля записи необходимо сначала придумать имя, затем определить, ка­кой тип наиболее удобен для обработки этих данных. Описываемые сведения включают в себя структуру типа

структуру типа «запись» (в виде поля даты рождения), которую также требуется уточнить и опи­сать в разделе типов раньше, чем запись о работнике.

В описании данной записи используется тип «день рожде­ния» (date_oi_birth) из примера 3. Общее описание записи имеет вид:

typedate_of_birth =record

day: 1 ..31;

month:string[10];

year:integer

end;

worker = record

name :string[ 20 ];

position:string[ 10 ];

date : date_of_birth;

salary :real

end;

varx:array[ 1. .7]ofworker; w: worker;

Поле записиdate содержит запись из трех полей. При фор­мировании имени поля этой внутренней записи необходимо использовать тройное имя: имя переменной разделаvar, имя поля записиworker и имя поля записиdate_of_birth. Напри­мер, для переменной wобращение к месяцу рождения работ­ника в программе будет иметь вид: w.date.month

В программе ввод и вывод записи производится по полям, но можно присвоить одной записи значение другой, при этом происходит копирование области памяти: х [ 1 ]: = w;

Оператор присоединения. Для обработки записи использу­ется операторwith, который позволяет указать один раз имя записи из раздела переменных, а затем во всей области дейст­вия оператора указывать только имена полей этой записи из разделаtype. После словаwith можно написать несколько имен полей из раздела переменных.

Оператор присоединения имеет вид:

withсписок имен записейdoоператор;

Оператор бывает простым или составным, ограниченным операторными скобками. Список имен записей может состо­ять из одного имени.

Пример.Дан массив записей, содержащий сведения о работниках пред­приятия (пример предыдущий). Напечатать:

1) список бухгалтеров;

2) список работников от 30 до 50 лет;

3) среднюю заработную плату по предприятию.

Для записей этой задачи определяются их структура, имена и типы полей. Затем опреде­ляется имя массива записей, который используется в про­грамме, и вспомогательные переменные, а также имена ре­зультатов. Программа

program Р37;

const n =10;

type date_of_birth =record

day: 1 .. 31;

month:string[ 10 ];

year:integer

end;

worker =record

name :string [ 20 ];

position:string [ 10 ];

date : date_of_birth;

salary :real

end;

var x:array [ 1..n]of worker; w: worker; i, j,g integer; S:real;

p:string [ 10 ];

Begin

{формирование массива записей}

for i: =1tondo

with x [ i ] do

Begin

writeln (‘сведения о’, i, ‘работнике’);

writeln (‘фамилия, инициалы’);

readln(name);

writeln (‘должность’);

readln(position);

writeln (‘число, месяц и год рождения’);

readln(date.day, date.month, date.year);

writeln (‘зарплата’);

readln(salary);

end;

{решение задачи 1) — печатание списка бухгалтеров}

p: = ‘бухгалтер’;

j: = 0; {счетчик строк списка — количество бухгалтеров}

for i: =1tondo

with x [ i ] do

if p = position



<== предыдущая лекция | следующая лекция ==>
ВОПРОСЫ К ЗАЩИТЕ ЛАБОРАТОРНОЙ РАБОТЫ | Методические указания по работе и задания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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