Процедуры STR и VAL.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

...

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

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

Логические и символьные константы.

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

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

Вложенный арифметический цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

ФАЙЛЫ ЗАПИСЕЙ

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

При использовании комбинированного типа в него можно включить вариантную часть. Вариантная часть начинается с оператора выбора Case и следует за основной фиксированной частью.

Предположим, что нам необходимо задать информацию об автомобиле: его пробег, марку и в зависимости от того, является ли автомобиль грузовым или легковым, указать его грузоподъемность (для грузового) или вместимость числа пассажиров (для легкового).

Записи с вариантами.



program record6;
uses crt;
type
tip_auto = (gruz,legk);
opisanie = record
   probeg : integer;
   marka : string[20];
case tip:tip_auto of
   gruz : (tonn :integer;);
 legk : (pas :integer;);
end;
var  mas : opisanie;
t: integer;
BEGIN
clrscr;
with mas do
begin
write('Пробег ');
readln(probeg);
write('Марка ');
readln(marka);
write('Тип автомобиля (0-грузовой; 1-легковой) ');
readln(t);
if t=0 then
begin
tip:=gruz;
writeln('Грузоподъемность ');
readln(tonn);
end
else
begin
tip:=legk;
write('Вместимость ');
readln(pas);
end;
end;
with mas do
begin
writeln('Пробег-',probeg);
writeln('Марка-',marka);
if tip=gruz then
writeln('Грузоподъемность-',tonn)
else
writeln('Вместимость-',pas);
end;
readln;
END.


Строка №4. При использовании в программе записи с вариантами необходимо создать специальный перечисляемый тип (в нашей программе – «tip_auto»). В этом типе после знака «=» в круглых скобках записывается допустимые значения этого типа (в нашем примере «gruz» и «legk»).

Строка №5 - №7. Записываем тип Запись под названием  «opisanie» и перечисляем компоненты этого типа.

Строка №8. Здесь начинается вариантная часть записи. Сначала записывается служебное слово Case, затем записывается особое поле записи, которое называется полем признака (в нашем примере «tip»; название придумывает сам программист). Это поле признака будет в дальнейшем определять, какой из вариантов нужно активизировать. Далее, через двоеточие, указывается имя типа, который мы создали специально для вариантной части (tip_auto). Затем ставится служебное слово Of и перечисляются допустимые значения.

Строка №9. Первое допустимое значение называется «gruz» (оно будет использоваться в том случае, если тип автомобиля окажется грузовым). Через двоеточие в круглых скобках указываются все компоненты, которые будут участвовать в программе, если в качестве допустимого значения будет выбрано значение «gruz» (в нашем примере присутствует только один компонент – «tonn», который определяет грузоподъемность автомобиля).

Строка №10. Второе допустимое значение «legk» (оно будет использоваться, если тип автомобиля будет легковым) включает компонент «pas», который определяет вместимость автомобиля.
После того, как мы заполним данные  о пробеге автомобиля и его марке (строка №18 - №21), появится сообщение, в котором будет предложено выбрать тип автомобиля (строка №22).

Строка №23. Вводим тип автомобиля (0 или 1).

Строка №24. Здесь записываем условие. Если «t» равно 0 (т.е. вводим с клавиатуры 0), тогда полю признака («tip») присваивается значение «gruz» (строка №26), выводим на экран сообщение «Грузоподъемность» (строка №27) и вводим с клавиатуры грузоподъемность автомобиля (строка №28).
Если же мы вводим с клавиатуры какое-то другое число, то полю признака («tip») присваивается значение «legk» (строка №32), выводим на экран сообщение «Вместимость» (строка №33) и вводим с клавиатуры вместимость автомобиля (строка №34).
Далее выводим все на экран.

В строке №41 записываем условие: если полю признака присвоено значение «gruz», то выводим сообщение о грузоподъемности автомобиля (строка №42). В другом случае выводим на экран сообщение о вместимости автомобиля (строка №44).

zapisi s variantamizapisi s variantami.

zapisi s variantami..


Предыдущая статья : Использование массива записей.

Оглавление : Уроки Паскаль. Записи.

Следующая статья : Файлы в Паскаль.


Комментарии  

 
+1 # Сенатор 12.11.2016 20:03
Все просто. 8)

P.S: тут есть люди. А то вижу здесь люди из 2012 XD
 
 
+1 # deadsoul 29.11.2016 20:48
Имеются
 
 
+4 # Deni 18.03.2017 11:35
Там где Case выдаёт "Ожидался идентификатор",
хотя код точно также набрал
 
   ГлавнаяПаскальЗаписи в ПаскальВложенные записи.