Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирования. Часть 1. Конспект лекций.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
465 Кб
Скачать

Задача-пример. Введя 2 переменные, произвести обмен их значений.

var a,b,c:integer; begin

Readln(a,b);

c:=a;

a:=b;

b:=c;

Writeln(a,b)

end.

Попутно ознакомимся с операторами ввода/вывода данных: Write/Writeln – вывод данных (результатов) на экран Read/Readln – ввод данных с клавиатуры

Условный оператор

Формат записи: if <условие> then <оператор1> [else <оператор2>];

Алгоритм. Если(if) <условие> истинно, то(then) исполнить <оператор1>; иначе(else) исполнить <оператор2>.

Замечание. Квадратные скобки в формате записи означают, что оператор, заключенный в эти скобки, может отсутствовать (рис. 4).

1)

2)

Рис. 4

16

Задача-пример. Найти самое большое из двух введенных чисел:

1) var a,b:integer;

2) var a,b:integer;

begin

begin

Readln(a,b);

Readln(a,b);

if a>b then writeln(a)

if a<b then a=b;

else writeln(b)

Writeln(a)

end.

end.

Составной и пустой оператор

Составной оператор состоит из нескольких простых (и/или опять же составных) операторов и заключается между ключевыми словами begin и end. Знак “;” служит для разделения операторов друг от друга:

Избыточные “;” считаются пустыми операторами, так как можно без них обойтись. Зарезервированные слова сами по себе являются разделителями.

Пример.

1) a:=5; b:=3;

2) a:=5; b:=3;

if a<b then begin

if a<b then

c:=a; a:=b; b:=c

c:=a; a:=b; b:=c

end;

 

17

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

Формат записи: Case <выражение> of <значение(я)1>:<оператор1>; <значение(я)2>:<оператор2>; <значение(я)3>:<оператор3>;

. . . . . . . . . . . . .

<значение(я)N>:<операторN> [else

<оператор>] end;

Задача-пример. Введя возраст человека, выдать его социальный статус.

var Age:byte; begin

Readln(Age);

Case Age of

0..6 : writeln(‘Ребенок’); 7..18: writeln(‘Школьник’);

19..29: writeln(‘Молодой человек’);

30..55: writeln(‘Человек в трудоспособном возрасте’); else

writeln(‘Пенсионер’);

end;

end.

Оператор перехода и метка

Формат записи: GOTO <метка>;

<Метка> должна быть предварительно объявлена в разделе описаний с помощью ключевого слова label.

18

Пример.

var x,y:word; label finish;

beginx:=y-y;

if x>0 then x:=5

else goto finish; x:=2*x;

finish: writeln(x) end.

Вопрос. Какой результат будет выведен на экран?

Циклы в ТР

Циклы в ТР можно организовать как с помощью оператора перехода goto и условных операторов if...then...else, так и с помощью разли ч- ных специальных операторов цикла.

Задача-пример. Найти сумму первых 100 чисел S = 1+2+3+...+100.

Program Summa; var i,S:word; label Next;

begin S:=0; i:=1;

Next: S:=S+i;

i:=i+1;

if i<=100 then goto Next;

writeln(S)

end;

Оператор цикла for

Формат записи. for <начальное значение> to <конечное значение> do <оператор>;

Для нашего примера код может выглядеть так (см. иллюстрацию на блок-схеме):

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]