Константы в Pascal.

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

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

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

Функции trunc, round в Pascal.

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

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

Оператор варианта CASE.

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

Массивы. Регулярные типы.

В простых типах данных каждое данное имеет свое название (идентификатор). В этом разделе вводится структурная взаимосвязь между данными, хранимыми в оперативной памяти путем организации массива, ...

При использовании комбинированного типа в него можно включить вариантную часть. Вариантная часть начинается с оператора выбора 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 выдаёт "Ожидался идентификатор",
хотя код точно также набрал
 
   ГлавнаяПаскальЗаписи в ПаскальЗаписи с вариантами.