
- •Содержание
- •Линейные алгоритмы
- •Язык программирования Turbo Passcal
- •Типы переменных в Паскале:
- •Стандартные операции и функции от скалярных данных.
- •Структура программы на Pascal
- •Команда присваивания
- •Команды ввода и вывода
- •Справка по работе с системой Turbo Pascal
- •Условный оператор, оператор множественного выбора Алгоритмы с ветвлением
- •Ветвление в Pascal Логические выражения
- •Логические операции
- •Команды ветвления
- •1. Условный оператор if
- •2. Оператор Case.
- •3. Команда безусловного перехода goto
- •Циклы Алгоритмы с циклами
- •1. Цикл с предусловием
- •2. Цикл с постусловием.
- •Циклы в Pascal
- •1. Цикл с параметром
- •2. Цикл с предусловием.
- •3. Цикл с постусловием
- •Вложенные циклы
- •Подпрограммы
- •Функции пользователя
- •Процедуры
- •Массивы Одномерные массивы
- •Стандартные задачи обработки массивов:
- •Двумерные массивы
- •Обработка строк и символов
- •Процедуры и функции обработки строк.
- •Основные алгоритмы обработки строк
- •Графика в Pascal
- •Основные графические процедуры и функции
- •Работа с файлами
- •Процедуры и функции для работы с файлами.
Команды ветвления
1. Условный оператор if
If <условие> then <оператор1> else < оператор2>
Условие – это логическое выражение. Если оно принимает значение true, то выполняется оператор1, если false, то оператор2.
Можно использовать сокращенную форму записи:
If <условие> then <оператор1>
В этом случае при невыполнении условия, управление передается следующей команде.
Если после then должны выполняться несколько операторов, то они должны быть заключены в операторные скобки begin … end. Такое оператор называется составным.
Пример 3. Вводится число. Если оно положительное, то уменьшить его в 10 раз.
Program primer;
Var a: real;
BEGIN
write('a='); readln(a);
if a>0 then a:=a/10;
writeln('a=', a);
readln
END.
Пример. Из чисел a и b выбрать минимальное.
Program primer;
Var a, b: integer;
BEGIN
write('a, b='); readln(a, b);
if a<b then writeln('Мin=', a) else writeln('Мin=', b);
readln
END.
Если предусмотреть случай равенства a и b, то условный оператор следует записать в виде:
if a<b then writeln('Мin=', a)
else if a>b then writeln('Мin=', b)
else writeln('a=b');
Другой вариант:
if a<b then writeln('Мin=', a);
if a>b then writeln('Мin=', b);
if a=b then writeln('a=b');
Пример 4. Выбрать минимальное из трех введенных целых чисел.
Program primer;
Var a, b, c, m: integer;
BEGIN
write('a, b, c='); readln(a, b, c);
if a<b then m:=a else m:=b;
if c<m then m:=c;
writeln('Мin=', m);
readln
END.
Пример 5. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.
program primer;
var x,y: real;
begin
Write('введите x y ');
readln (x,y);
if (sqr(x)+sqr(y)<=25) and (sqr(x)+sqr(y)>=4) then writeln('точка попадает в заштрихованную область')
else writeln('точка не попадает в заштрихованную область');
readln;
end.
Пример 6. Вводятся три числа A, B, C. Определить, сколько среди них нечетных.
program primer;
var a, b, c, k: integer;
begin
write('a, b, c= ');
readln (a, b, c);
k:=0;
if (a mod 2=1) then k:=k+1;
if (b mod 2=1) then k:=k+1;
if (c mod 2=1) then k:=k+1;
writeln(‘k=’,k);
readln;
end.
Пример 7. Введено трехзначное число. Необходимо разбить его на цифры. Все четные цифры, которые меньше 8 увеличить на 2, а 8 заменить на 0.
program primer;
var n,a,b,c,d:Integer;
begin
write('введите n'); readln (n);
a:=n div 1000; b:=n div 100 mod 10;
c:=n div 10 mod 10; d:=n mod 10;
if (a mod 2=0) and (a<8) then a:=a+2 else if a=8 then a:=0;
if (b mod 2=0) and (b<8) then b:=b+2 else if b=8 then b:=0;
if (c mod 2=0) and (c<8) then c:=c+2 else if c=8 then c:=0;
if (d mod 2=0) and (d<8) then d:=d+2 else if d=8 then d:=0;
n:=1000*a+100*b+10*c+d;
writeln('результат= ', n);
readln;
end.
Пример. Вычислить выражение для введенного x.
Program primer;
Var x, y : real;
BEGIN
write('x ='); readln(x);
if x>=0 then
begin
y:=sqrt(x);
writeln(‘y=’, y: 6:3);
end
else writeln('недопустимое x');
readln;
END.