Добавил:
Negorov1337@gmail.com inst:vech.no_17 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TEORIYa_Pascal_ABC.pptx
Скачиваний:
17
Добавлен:
11.10.2020
Размер:
1.18 Mб
Скачать

Примеры использования

Пример 2. Определение четверти, в которой находится точка

var

x,y: integer; // Координаты точки Quater: integer; // Номер четверти begin

write('Введите координаты точки: '); readln(x,y);

if x>0 then if y>0 then

Quater := 1 else Quater := 4 else

if y>0 then Quater := 2 else Quater := 3;

writeln('Номер четверти = ',Quater); end.

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

Синтакстис

case <переключатель> of {<список выбора>: <оператор>;} [else <оператор>[;]]

end Семантика

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

Ограничения

Выражение-переключатель должно иметь так называемый порядковый тип:

целый, символьный, перечислимый.

НО НЕ строковый или вещественный.

Значения в <списках выбора> не должны пересекаться.

Примеры использования

Пример 1. День недели

case DayOfWeek of

1..5: writeln('Будний');

6, 7: writeln('Выходный'); else writeln('Ошибка');

end;

Пример 2. Цифра или буква

var c: char; read(c);

case c of '0'..'9': writeln('Цифра');

'A'..'Z', 'a'..'z', 'а'..'я', 'А'..'Я', 'ё', 'Ё': writeln('Буква'); end;

Примеры использования

Пример 3. Словесное наименование сезона по номеру месяца var

Month: integer; Результат работы программы: Season: string;

begin

write('Введите номер месяца: '); readln(Month);

case Month of

1,2,12: Season := 'Зима';

3..5: Season := 'Весна';

6..8: Season := 'Лето';

9..11: Season := 'Осень'; end;

writeln('Это ',Season) end.

В PascalABC.NET можно делать case по строкам.

Begin

var Country := ReadString; write('Столица: ');

case Country of

'Россия': writeln('Москва'); 'Франция': writeln('Париж'); 'Италия': writeln('Рим'); 'Германия': writeln('Берлин'); else writeln('Нет в базе данных'); end;

end.

Лекция №4

Циклы

Цикл с параметром

for <переменная>:=<выражение1> <направление> <выражение2> do

<тело цикла> ::= <оператор> где

<направление> ::= to | downto

Цикл с предусловием

Цикл с постусловием

Примеры использования

Пример 1. Сумма нечетных двузначных чисел

С использованием while s := 0;

x := 11;

while x < 100 do begin

s += x; x += 2; end;

С использованием repeat s := 0;

x := 11; repeat s += x; x += 2;

until x = 99;

Примеры использования

Табулирование функции f(x) на отрезке [a,b] в точках , разбивающих [a,b] на N частей (цикл for). var

N: integer;

a, b: real; Результат работы программы: begin

write('Введите N: '); N := ReadInteger; Assert(N>0);

write('Введите a и b: '); a := ReadReal;

b := ReadReal;

var h := (b-a)/N; var x := a;

for var i:=0 to N do begin

writeln(x:5:2, sin(x)*x :10:4); x += h;

end;

end.