Прошу извинения, но в связи с началом учебного
года наша рассылка будет выходить один раз в
неделю.
Урок 13
Сегодня мы
познакомимся с оператором, который обеспечивает
повторение цикла, управляемое переменной.
13.1. Цикл
ПЕРЕСЧЕТ (прямой).
Формат оператора:
FOR переменная := выражение 1 ТО выражение
2 DO оператор;
Переменная должна быть порядкового типа.
Порядковыми называются все простые типы,
значения которых можно расположить в
возрастающем порядке. Из известных нам это: INTEGER,
WORD, LONGINT, BYTE, CHAR. Выражение 1 и Выражение 2 должны
быть того же типа, что и переменная. Чтобы цикл
выполнился хотя бы раз выражение1 должно быть не
больше выражения2.
Выполнение начинается с вычисления значений
выражения1 и выражения2. затем переменная
получает значение выражения1 и делается проверка,
не превышает ли значение переменной выражения2.
Если не превышает, выполняется оператор стоящий
после служебного слова DO. После завершения
оператора переменная получает следующее по
порядку значение, и все повторяется, начиная с
проверки.
Когда значение переменной становится равным
выражению2, оператор выполняется последний раз.
ПРИМЕР 1. Напечатать ряд из
повторяющихся чисел 20 в виде:
20 20 20 20 20 20 20 20 20 20
Код программы:
var i: byte;
begin
for I:=1 to 10 do write(20,' ');
readln;
end.
ПРИМЕР 2. Напечатать числа следующим
образом:
10 10.4
11 11.4
. . .
25 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. Напечатать числа следующим образом
25 25.5 24.8
26 26.5 25.8
. . .
35 35.5 34.8
Разбор заданий
урока 12.
1. CHR(ORD(X))=Х
2. Определить значения следующих функций (как
правило таблица аски кодов есть в любом
справочнике по программированию):
CHR(68)=D
ORD('d')=100
PRED(1) =0
SUCC('Я')=а
3. С клавиатуры вводится два числа. Составить
программу сравнивающую эти числа и в зависимости
от результата сравнения выводящую на экран
нужный знак. Например: 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<y then c:='<';
Writeln(x,c,y);
Readln;
End.
Желаю успехов!
Ганилова Татьяна Евгеньевна school6@rikt.ru
Гимназия #6, г. Междуреченск.