birmaga.ru
добавить свой файл

1
Урок 13.


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

13.1. Цикл ПЕРЕСЧЕТ (прямой).

Формат оператора:
FOR переменная := выражение 1 ТО выражение 2 DO оператор;
Переменная должна быть порядкового типа. Порядковыми называются все простые типы, значения которых можно расположить в возрастающем порядке. Из известных нам это: INTEGER, WORD, LONGINT, BYTE, CHAR. Выражение 1 и Выражение 2 должны быть того же типа, что и переменная. Чтобы цикл выполнился хотя бы раз выражение1 должно быть не больше выражения2.

Выполнение начинается с вычисления значений выражения1 и выражения2. затем переменная получает значение выражения1 и делается проверка, не превышает ли значение переменной выражения2. Если не превышает, выполняется оператор стоящий после служебного слова DO. После завершения оператора переменная получает следующее по порядку значение, и все повторяется, начиная с проверки.

Когда значение переменной становится равным выражению2, оператор выполняется последний раз.

ПРИМЕР 1. Напечатать ряд из повторяющихся чисел 20 в виде:


  1. 20 20 20 20 20 20 20 20 20

Код программы:

var i: byte;

begin

for I:=1 to 10 do write(20,’ ‘);

readln;

end.
ПРИМЕР 2. Напечатать числа следующим образом:

  1. 10.4

  2. 11.4

. . .

  1. 25.4

Код программы (переменная используется не только для управления циклом но и для вывода на экран в качестве результата):

var i: byte;

begin

for I:=10 to 25 do write(I,’ ‘,I+0.4:0:1);{при сложении целого I и вещественного 0.4 получаем вещественный результат, значит надо выполнить его форматирование при выводе на экран}

readln;

end.
13.2. Цикл ПЕРЕСЧЕТ (обратный).

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


Формат оператора:
FOR переменная := выражение 1 DOWNТО выражение 2 DO оператор;
В этом случае, чтобы цикл выполнился хотя бы раз, выражение1 должно быть не меньше выражения2. например:

For c:=’z’ downto ‘а’ do writeln(с);
Тренировочные задания.

1.Напечатать столбиком:

а) все целые числа от 20 до 35;

б) квадраты всех целых чисел от 10 до b ( значение d вводится с клавиатуры; b>=10);

в) третьи степени всех целых чисел от а до 50 (значение а вводится с клавиатуры; а<=50);

г) все целые числа от а до b ( значения а и b вводятся с клавиатуры; d>=a).

2. Напечатать числа следующим образом


  1. 25.5 24.8

  2. 26.5 25.8

. . .

35 35.5 34.8

3. Распечатать в столбик таблицу умножения на 7.

4. Вывести столбиком следующие числа: 2,1 2,2 2,3 . . . , 2,8

5. Вывести столбиком следующие числа: 2,2 2,4 2,6 . . . , 4,0 4,2

6. Вывести столбиком следующие числа: 4,4 4,6 4,8 . . . , 6,2 6,4


Разбор заданий урока 12.

  1. CHR(ORD(X))=Х

  2. Определить значения следующих функций (как правило таблица аски кодов есть в любом справочнике по программированию):

CHR(68)=D

ORD(‘d’)=100

PRED(1) =0

SUCC(‘Я’)=а

  1. С клавиатуры вводится два числа. Составить программу сравнивающую эти числа и в зависимости от результата сравнения выводящую на экран нужный знак. Например: 3<5 или 3=3 или 3>2. Процедуру WRITE для вывода результата разрешается использовать только один раз.

Var x,y:integer;

C:char;

Begin

Write(‘Введите два числа’);

Readln(x,y);

If x=y then c:=’=’;

If x>y then c:=’>’;

If x
Writeln(x,c,y);

Readln;

End.