10
Подготовила: Даскал Ольга Тема урока: Оператор цикла с постусловием repeat

Repeat

Embed Size (px)

Citation preview

Page 1: Repeat

Подготовила: Даскал Ольга

Тема урока: Оператор цикла с постусловием repeat

Page 2: Repeat

Оператор цикла с постпроверкой условия: repeat … until …

• Оператор repeat … until … применяется в тех случаях, когда количество повторения действий в цикле заранее не известно и зависит от выполнения какого-либо условия.

• Общий вид оператора repeat … until …

• Для завершения цикла необходимо, чтобы список операторов влиял на значение выражения условие.

repeat список операторов until условие;

Page 3: Repeat

Блок схема оператора цикла с постпроверкой условия: repeat … until …

Списокоператоров

Условие

Да

Нет

Page 4: Repeat

Пример:

• Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.

Program Demo2;uses CRT;

var a : integer;begin clrscr;

a:= 5001;repeat a:=a-1 until a mod 39 = 0

do;write (‘ Искомое число = ’, a :

5);readkey

end.

Page 5: Repeat

Задание 1• Составить программу для вычисления значений

функции F(x) на отрезке [a, b] с шагом h. Результат представить в виде таблицы, первый столбец которой – значения аргумента, второй – соответствующие значения функции:

X:=a

повторять

вычислить F(x);

x:=x+h

пока не (x>b)

Page 6: Repeat

Задание 2

• Составить программу для вычисления значений функции F(x) на отрезке [a, b] с шагом h. Результат представить в виде таблицы, первый столбец которой – значения аргумента, второй – соответствующие значения функции:

4

,,,21

sin)

8,2,0,cossin)

1,42,1cos2)

25,0,3,0,sin)

5,0,2,sin)2

hxx

xFe

hxxxxFd

hxxxFc

hxxxFb

hxxxxFa

Page 7: Repeat

Задание 3

Определить  число n, при котором сумма квадратов натурального ряда чисел от 1 до n не превысит величину K, введенную с клавиатуры.

Page 8: Repeat

Задание 3

program sum_sq;  {Сумма квадратов натурального ряда }uses crt;var                  k, s, n : integer;beginclrscr ;     writeln( 'Введите K' );  readln (k);   s:=0;    n:=1;repeat   s :=s+n*n;   n := n+1;until  s > k;writeln  ('N= ', n : 3,  '   s= ' ,  s : 5 );readln;end.

Page 9: Repeat

Домашнее задание

Необходимо подсчитать целое кол-во отрезков длиной 1,5 м получающихся из бруска длиной 20 м.

Page 10: Repeat

Спасибо за внимание!