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

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

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

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

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

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

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

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

Использование оператора WITH ... DO.

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

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