
- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка Turbo Pascal
- •Стандартные математические функции, используемые
- •Арифметические выражения
- •Операторы
- •Оператор присваивания
- •Ввод и вывод результатов вычислений
- •Общая структура программы на Turbo Pascal
- •Пример выполнения задания 1
- •Тема 2 Логические выражения Условный оператор
- •Условный оператор
- •Пример выполнения задания 2
- •Тема 3 Использование циклических структур. Операторы цикла с предусловием и с постусловием
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Пример выполнения задания 3
- •Тема 4 Использование циклических структур. Оператор цикла с параметром
- •Пример выполнения задания 4
- •Тема 5 Использование и обработка одномерного массива
- •Описание одномерного массива
- •Часто встречающиеся задачи на одномерный массив
- •Пример выполнения задания 5
- •Тема 6 Использование и обработка двумерного массива
- •Задачи с использованием главной или побочной диагонали матрицы
- •Пример выполнения задания 6
- •Тема 7 Организация программ с использованием функций
- •Пример выполнения задания 7
- •Тема 8 Организация программ с использованием процедур
- •Параметры
- •Пример выполнения задания 8
- •Тема 9 Текстовые файлы
- •Символьный тип данных
- •Операции над строками
- •Особенности работы со строками
- •Редактирование строк
- •Сору (s:string; start, len:integer):string;
- •Преобразование строк
- •Процедуры и функции для работы с текстовыми файлами
- •Примеры выполнения задания 9
- •Тема 10
- •Работа с комбинированными типами данных
- •(Записями)
- •Общие сведения
- •Особенности работы с записями
- •Пример выполнения задания 10
- •Тема 11 Типизированные файлы
- •Процедуры и функции для работы с типизированными файлами
- •Прямой доступ к элементам файла
- •Примеры выполнения задания 11
Тема 4 Использование циклических структур. Оператор цикла с параметром
Оператор цикла с параметром удобно использовать, когда необходимо выполнить оператор заранее известное число раз. Существует два варианта оператора цикла с параметром
for к:=n1 to n2 do S;
или
for к:=п1 downto n2 do S;
где к – параметр цикла;
п1 и п2 – выражения, задающие начальное и конечное значения параметра цикла соответственно;
S – простой или составной оператор (тело цикла).
Тип параметра цикла обязательно должен совпадать с типом начального и конечного значений цикла. Можно использовать любой из стандартных скалярных типов, кроме действительного.
Шаг параметра цикла к при выполнении оператора цикла с параметром для целого типа равен 1 (для цикла to) и –1 (для цикла downto).
Следует запомнить и то, что для обоих вариантов записи цикла с параметром справедливо: если начальное и конечное значения равны, то тело цикла (оператор S) выполнится один раз.
Если в цикле необходимо выполнить несколько операторов, то пользуются составным оператором.
Для оператора цикла с параметром имеются некоторые ограничения.
-
Оператор цикла с параметром применяется, если число повторений тела цикла заранее известно.
-
Войти в цикл можно только через его начало, а выйти – либо при достижении параметром цикла его конечного значения, либо при выполнении оператора break, который прекращает выполнение цикла, причем следующим будет выполняться оператор, расположенный за циклом.
-
Для каждого значения параметра цикл выполняется только 1 раз.
-
Значения параметра цикла запрещено изменять операторами в теле цикла.
Пример1. Вычислить сумму квадратов натуральных чисел с 1 до 10.
S := 0;
for i:=1 to 10 do s := s+sqr (i);
Примечание.
Произведение n
последовательных натуральных чисел
обозначают n!
(
произносится n
факториал),
то есть
.
Пример 2.
Вычислить 8!.
P:=1;
for i:=2 to 8 do p:=p*i;
Заметим так же, что параметр цикла может и не использоваться в теле цикла, так что основное его назначение – это управление числом повторений цикла.
Пример 3
Значение y=xn, где n>=0 – целое, можно вычислить по следующему алгоритму: предварительно положить y=1, а затем n раз домножить это значение на x:
Readln(n);
Readln(x);
y:=1;
for i:=1 to n do y:=y*x;
Как видно, здесь параметр цикла i служит лишь для того, чтобы тело цикла (оператор y:= y* x) выполнилось нужное число раз.
Пример 4.
Вычислить
сумму
.
sum:= 0;
for i:=1 to 12 do sum:=sum+(sqr (i)+1)/(i*i*i);
Пример 5.
Вычислить
произведение
.
P:= 1;
for i:=1 to 7 do p:=p*i/( i* i-2* i+5);
В теле цикла с параметром среди операторов может находиться и оператор цикла, такие циклы называются вложенными (внешний и внутренний циклы).
При использовании вложенных циклов необходимо помнить, что тело внутреннего цикла должно находиться внутри внешнего.
Пример выполнения задания 4
Вычислить значение выражения
.
program lab4;
uses crt;
var c,p,sum:real;
k,i:integer;
begin p:=1;
for k:=1 to 5 do
begin sum:=0; a:=1; b:=1;
for i:=1 to k do
begin a:=a*2; {вычисляем 2i}
b:=b*I; {вычисляем i!}
sum:=sum+a/b; {вычисляем сумму}
end;
p:=p*(sqr(k+2)+sum; {вычисляем произведение}
end;
writeln(‘p=’,p:0:2);
readkey;
end.