
- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка 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.