Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

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

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество ...

Индексы одномерного массива.

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

При использовании комбинированного типа в него можно включить вариантную часть. Вариантная часть начинается с оператора выбора 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
Имеются
 
 
+5 # Deni 18.03.2017 11:35
Там где Case выдаёт "Ожидался идентификатор",
хотя код точно также набрал
 
   ГлавнаяПаскальЗаписи в ПаскальЗаписи с вариантами.