GotoXY в Pascal.

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

Логические операции с целыми числами.

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

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Циклы и массивы

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

Работа со строковыми данными.

Написание большинства программ не обходится без строковых данных. Строковые данные используются при организации диалога для ввода исходных значений переменных, задания условий выполнения ...

Из предыдущего примера легко заметить, что при каждом обращении к полю записи следует указывать имя этой записи. Если вы работаете с полями одной и той же записи, то этой проблемы можно избежать благодаря оператору присоединения WITH, который имеет следующую синтаксическую структуру.

WITH <Переменная типа RECORD> DO <Оператор>;
Используем предыдущий пример для пояснения работы оператора присоединения.
WITH Std
DO BEGIN
Tab := 910678;
Fio := 'Петухов И.М.';
Data :='13.01.82';
Group :='ИП-11';
Stepa := 550.00;
END;
Проще эта запись, чем предыдущая или нет пусть для себя решает сам программист. С позиций надежности программы (имеется в виду ее устойчивость к неизбежной коррекции исходного кода) предыдущий пример лучше, так как не допускает альтернатив при совпадающих названиях имен полей различных записей.

Ввод данных в массив записей с клавиатуры.

Для ввода данных с клавиатуры в массив записей Mstd о 20 студентах удобно использовать оператор арифметического цикла совместно с оператором присоединения, что видно на следующем примере.


FOR I:=1 TO 20
DO BEGIN
WRITELN('Введите данные о студенте № ', 1:1);
WITH Mstd[I] DO
BEGIN
WRITELN('Hoмер зачетной книжки');
READLN(Tab);
WRITELN('Фамилия И.О.');
READLN(FIO);
WRITELN('Дата рождения');
READLN(Data);
WRITELN('Номер группы');
READLN(Group);
WRITELN('Размер стипендии, руб.');
READLN(Stepa);
END;


Вложение записей.

Любое из полей записи может в свою очередь быть записью. В этом случае говорят о вложении записей.
Пример 17. Описать структуру данных, изображенных в табл. 3.2.

zapisi.

Эта таблица структурно отличается от табл. 3.1. В табл. 3.1 все поля были одного уровня. А в табл. 3.2 пять полей: Дисциплина 1, Дисциплина 2, Дисциплина 3, Дисциплина 4, Дисциплина 5 - образуют группу, которая подведена под общее имя — Аттестация.
Для создания такой таблицы следует использовать два типа записей ATTESTACIA и USPEVAEMOST. При этом порядок объявления этих записей существенен. Первой объявляется та запись, на которую ниже по тексту программы будет ссылка.


TYPE ATTASTACIA = RECORD
D1: BOOLEAN; {Дисциплина 1}
D2: BOOLEAN; {Дисциплина 2}
D3: BOOLEAN; {Дисциплина 3}
D4 : BOOLEAN; {Дисциплина 4}
D5: BOOLEAN; {Дисциплина 5}
END;
USPEVAEMOST = RECORD
TAB : LONGINT; {Номер зачетной книжки}
ATT : ATTESTACIA
END;
VAR USP: ARRAY[1..20] OF USPEVAEMOST;


Из текста программы видно, что для кодирования результатов аттестации выбран логический тип данных — BOOLEAN. То есть значению 'А' — аттестован соответствует TRUE, а ситуации не аттестован — 'Н/А' соответствует FALSE. Если Вам понадобиться заправка картриджей OKI обращайтесь к опытным специалистам, которые все сделают по доступным ценам. Существует ограничение на глубину вложения записей — не более 9.

Присвоение значений полям вложенных записей.

Ниже приведен пример прямого присвоения значений полям первой записи USP[1] в массиве записей USP - успеваемость группы. Уровень вложения соответствует числу разделителей имен, то есть точек в идентификаторе поля.


USP[1].TAB:= 910678; {Уровень вложения 1}
USP[1].ATT.D1:= TRUE; {Уровень вложения 2}
USP[1].ATT.D2:= TRUE;
USP[1].ATT.D3:= FALSE;
USP[1].ATT.D4:= TRUE;
USP[1].ATT.D5:= FALSE;
Используем оператор WITH для этого же примера.
WITH USP[1] {Уровень вложения 1}
DO BEGIN
TAB :=910678;
WITH ATT DO BEGIN {Уровень вложения 2}
D1:=TRUE;
D2:=TRUE;
D3:=FALSE;
D4:=TRUE;
D5:=FALSE;
END
END;


 

Комментарии  

 
0 # Иван 25.03.2016 13:12
Усе найссс епт
 
   ГлавнаяПаскальЛекции по Pascal. Часть 2.ЗАПИСИ. ТИП ДАННЫХ RECORD.