Учебная работа. Реферат: Оператор выбора case

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Оператор выбора case

Оператор выбора case

Для программирования разветвлений в методе почаще всего употребляется условный оператор if…then либо if…then…else.

Но если путей выбора много, то запись метода при помощи условного оператора становится сложной.

В таковых вариантах намного удобнее применять оператор выбора case.

Этот оператор имеет последующую форму:

case <выражение> of

………………………………………

else begin

операторы ветки else;

end;

end;

В данной для нас конструкции операторы могут быть составными, <выражение> обязано быть порядкового типа, т.е. integer, char, boolean.

Тип <несколько, разбитых запятыми, также может представлять собой

некий спектр значений.






Ветвь else совместно с оператором может отсутствовать.

Оператор работает последующим образом:

1. рассчитывается

2. производится оператор, метка которого <

3. Если ни одно<

Примеры:

Пример использования аннотации case для организации меню (схема)

program menu1;

var

vybor:integer;

begin

writeln(‘1 — Наибольшая температура‘);

writeln(‘2 — Малая температура’);

writeln(‘3 — Средняя температура‘);

writeln;

writeln(‘Введите номер задачки и нажмите <Enter>’);

write(‘
Ваш
выбор
-> ‘);

readln(vybor);

case vybor of

1: begin

{ вычисление наибольшей температуры }

end;

2: begin

{ вычисление малой температуры }

end;

3: begin

{ вычисление средней температуры }

end;

end;

end.

С клавиатуры вводим номер месяца и комп описывает время года

program
Prim2;

uses CRT;

var month: integer;

begin

writeln
(‘Введите номер месяца и нажмите <
Enter
>’);

write(‘->’);

readln(month);

case month of

1,2,12 : writeln(‘
ЗИМА
‘);

3,4,5 : writeln(‘
ВЕСНА
‘);

6,7,8 : writeln(‘
ЛЕТО
‘);

9,10,11:
writeln
(‘ОСЕНЬ’);

else
writeln
(‘Число обязано быть от 1 до 12’);

end;

readln;

end.

3. Написать программку, которая вычисляет стоимость междугороднего телефонного разговора.

Формула: стоимость минутки * количество минут разговора

(зависимо от кода городка – стоимость минутки различная)

program Prim3;

uses CRT;

var

kod: integer;

cena: real;

dlit: integer;

summ: real;

begin

writeln
(‘Вычисление цены разговора по телефону‘);

writeln
(‘Введите начальные данные:’);

write(‘
код городка
->’);

readln (Kod);

write
(‘Продолжительность разговора (целое количество минут ->’);

readln(dlit);

write(‘
Код городка
: ‘);

case kod of

432: Begin

writeln(‘
Владивосток
‘);

cena:=2.2;

end;

495: begin

writeln(‘Moc
кв
a’);

cena:=1;

end;

815: begin

writeln(‘
Мурманск
‘);

cena:=1.2;

end;

812: begin

writeln(‘
Санкт — Петербург
‘);

cena:=0.00000;

Writeln(‘
У нас безвозмездно
‘);

end;

846: begin

writeln(‘Ca
м
apa’);

cena:=1.4;

end;

end;

summ:= cena * dlit;

writeln(‘
Стоимость
минутки
:’, cena:6:2,’pyb.’);

writeln
(‘Стоимость разговора:’,
summ
:6:2,’
pyb
.’);

readln;

readln;

end.

4. Написать программку, которая вычисляет дату последующего денька. Рекомендуемый вывод на экран:





Program Prim4;

Uses Crt;
;

var

day
:
integer
;

month
:
integer;

year:integer;

last:boolean;{TRUE, если текущий денек крайний денек месяца }

r:integer; {если год високосный, то остаток от деления year на 4 равен нулю }

begin

writeln;

writeln(‘Задайте цифрами нынешнюю дату’);

write(‘( число месяц год )-> ‘);

readln(day,month,year);

last:=FALSE;

case month of

1,3,5,7,8,10,12:if day=31

then last:=TRUE;

4,6,9,11: if day=30

then last:=TRUE;

2: if (day=28)

then begin

r:=year mod 4;

if r<>0 then

last:=TRUE;

end;

end;

if last

then begin

writeln(‘Крайний денек месяца!’);

day:=1;

if month=12

then begin

month:=1;

year:=year + 1;

writeln(‘С наступающим Новеньким годом!’);

end

else month:=month + 1;

end

else day:=day + 1;

writeln(‘
завтра
‘,day,’.’,month,’.’,year );

end.

5. Написать программку, которая опосля введённого с клавиатуры числа (в спектре 0т 1 до 99, обозначающего валютную единицу, дописывает слово РУБЛЬ в правильной форме: 12 рублей, 21 рубль и т.д.

Uses Crt;

var

n: integer; {
число
}

m
:
integer
; {остаток от деления
n
на 100 (крайние 2 числа) }

r
:
integer
; {остаток от деления n на 10 (крайняя цифра) }

begin

writeln
(‘введите целое число(от 1 д
o
999) ‘, ‘и нажмите <
Enter
> ‘);

write (‘-> ‘);

readln(n);

write
(
n
, ‘ ‘);

{окончание определяется 2-мя крайними цифрами }

if
n
>100

then m:= n mod 100;

if (m>= 11) and (m<= 14)

then

writeln ( ‘
рублей
‘ )

else begin

r:=n mod 10;

case r of

0, 5..9: writeln (‘
рублей
‘);

1: writeln (‘
рубль
‘);

2..4: writeln (‘
рубля
‘);

end;

end;

readln;

end.

]]>