Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

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

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

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

ЗАПИСИ. ТИП ДАННЫХ RECORD.

В описании данных и связей между ними используют понятия: запись логическая и запись физическая. Физическое описание данных определяет способ их хранения во внешней памяти ЭВМ. Логическое описание ...

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