Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika (2).docx
Скачиваний:
51
Добавлен:
16.04.2015
Размер:
653.64 Кб
Скачать
  1. 11.Циклические алгоритмы. Оператор цикла с параметром.

  2. Циклический алгоритм – это алгоритм, содержащий один или несколько циклов. Циклом называется такая форма организации действий, при которой одна и та же последовательность действий повторяется до тех пор, пока сохраняется значение некоторого логического выражения. При изменении значения логического выражения на противоположное повторения прекращаются (цикл завершается).

  3. Различают: 1) арифметические циклы – конечное число повторений (цикл с параметром (например, вычисление суммы S=∑a ))

  4. 2) итерационные циклы – заканчиваются по условию (с пред - и постусловием (например, вычисление корня по Герону:

  5. xk+1 =1/2 (xk +a/xk), k=0,1,2… x0=a/2

  6. ∆= │ xk+1 - xk │< ε, где ε-требуемая точность расчета))

  7. Общая структура цикла:

  1. Начало цикла – задание начальных значений переменным цикла. Переменная меняется от шага к шагу. Управляющая переменная (менеджер) – используется в условии окончания.

  2. Рабочая часть цикла (тело) – что повторяется

  3. Условие окончания (не должно быть бесконечных циклов)

  1. Виды циклов: с параметром, с предусловием, с постусловием.

  2. Цикл с параметром (удобен при обработке массивов)

  3. i - начальное значение (управляющая переменная – параметр цикла)

  4. диапазон от n до k (нач. значение – кон. значение)

  5. l- шаг изменений переменной i, [l]- по умолчанию = 1

  6. i=i+l – продвижение цикла

  7. Если i>k изначально, то цикл не выполняется ни разу.

  8. Оператор цикла с параметром в Паскале

  9. For i:= N to K do__S

  10. По умолчанию шаг = 1, I, N, K – перечисляемый тип

  11. For i:= K down to N do__S – обратное направление. Шаг = -1.

  12. Если N>K, то цикл не выполняется ни разу. Если N=1, то выполняется 1 раз. Нельзя войти внутрь цикла (оператор S), минуя заголовок. А выйти - можно.

  1. Пример (вычисление an целочисленной степени (n) вещественного числа (a)).

  2. an = a*a*a*a…*a

  3. r = 1 (a0)

  4. r <= r*a => a

  5. r <= r*a => a2

  6. => an

  7. Учитывая, что «n» может быть < 0, вместо полученного значения an надо взять величину 1/ an

  8. if n=0 then r:=0

  9. else begin r:=a;

  10. For i:=2 to abs(n) do

  11. r:=r*a;

  12. if n<0 then r:=1/r;

  13. end.

  1.  

  2. 12.Циклические алгоритмы. Оператор цикла с предусловием.

  3. Циклический алгоритм-повторяющиеся фрагменты суммы.(арифметические-кончное число повторений, итерационное- с беск)

  4. структура цикла

  5. 1. Начало-задание нач. значений переменным цикла(переменная меняется от шага к шагу)

  6. 2. Управляющая переменная цикла(менеджер)-исп-ся в условии окончания цикла.

  7. 3. рабочая часть(тело)-повторяющая программы, вып-ся многократно.

  8. 4. условие окончания(не должно быть беск циклов)

  9. При выполнении оператора while определенная группа операторов выполняется до тех пор, пока определенное в операторе while булево условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.

  10. Общая форма записи следующая:

  11. while <булево выражение> do

  12. begin

  13. группа операторов

  14. end;

  15. Операторные скобки ставят, чтобы отделить от остальной программы ту группу операторов, которую нужно повторить в цикле.

  16. При использовании цикла с предусловием надо помнить :1.значение условия выполнения цикла должно быть определено до начала цикла;2.если значение условия истинно, то выполняется тело цикла, после чего повторяется проверка условия. Если условие ложно, то происходит выход из цикла;3.хотя бы один из операторов, входящих в тело цикла, должен влиять на значение условия выполнения цикла, иначе цикл будет повторяться бесконечное число раз.

  17. ЗАДАЧА. Исходные данные: переменная N – кол-во чисел и сами числа. Значение очередного числа - переменная Х. Результатом работы алгоритма - сумма этих чисел( S). S=x1+x2+x3+...+xn

  18. При вычислении суммы используем следующий прием: вначале, когда еще не задано ни одно слагаемое, сумму полагают равной нулю (S:=0), а затем, получая очередное слагаемое, прибавляют его к сумме (S:=S+x) (см. программу ниже).

  19. Очень важное значение в операторе цикла- переменная цикла(i).С ее помощью обращаемся к пользователю за очередным числом (write (‘Введите ‘,i,’-ое число ’)),считаем количество уже введенных чисел (i:=i+1), чтобы не запросить лишнее. Одновременно переменная цикла участвует в булевом выражении (i<=N).

  20. программа:

  1. Program Summa;

  2. Uses

  3. Crt;

  4. Var

  5. i,N : integer; x, S : real;

  6. Begin

  7. ClrScr;

  8. write (‘Сколько чисел для сложения? ‘);

  9. readln (N);

  10. S:=0; i:=1;

  11. while i<=N do

  12. begin

  13. write (‘Введите ‘,i,’-е число ’);

  14. readln (x);

  15. S:=S+x;

  16. i:=i+1;

  17. end;

  18. write (‘Сумма введенных чисел равна ‘,s:5:2);

  19. readln;

  20. End.

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