ЗАДАНИЕ XXIII

Тема:Операторы цикла
Цель: Краткое знакомство с циклами в среде Stratum Computer

Перед началом работы необходимо:

pin2.gif (1000 bytes) владеть работой с клавиатурой и мышкой;
pin2.gif (1000 bytes) владеть основными приемами работы в системе Stratum.

 

В качестве операторов цикла в Stratume используются цикл с предусловием while и цикл с постусловием do...until.

Оператор while.

Синтаксис

while (<условие>)

...

endwhile

Пока значение выражения в условии циклы while больше 0, происходит выполнение цикла.

Оператор do...until

Синтаксис

do

...

until (<условие>)

Пока значение выражения в условии цикла until больше 0, происходит выполнение цикла.

Допускается вложенность нескольких циклов. Возможно принудительное завершение цикла командой break.

Допускается вложенность циклов. Допускается досрочный выход из цикла оператором break.

Внимание ! Тело циклов полностью выполняется внтури одного такта, поэтому, упоминание знака '~' (тильда) в условиях, в счетчике и теле циклов, обязательно.В случае если не будет указан оператор тильда будет происходить зацикливание, то есть бесконечно долго будет обрабатываться имидж где в цикле не указан знак “~”

Задание 1.

       Нужно вычислить интеграл функции y=x^2 численным методом- методом трапеции.

1. Создайте проект и скопируйте имидж здесь, который будет отвечать за ввод исходных параметров: интервала интегрирования, количество подинтервалов на которые разбивается интервал интегрирования,   точность(будет необходима в задании 2). Имидж называется Interface.Вставьте его в схему.

2. Создайте имидж, который будет отвечать за расчет интеграла со следующим текстом.

sum:=0
deltaX:=(~xk-~xn)/~n
x:=~xn
while (~x<=~xk-~deltaX)
x:=~x+~deltaX
y1:=(~x-~deltaX)^2
y:=~x^2
sum:=~sum+(~y+~y1)*~deltaX/2
endwhile

Здесь переменная sum содржит значение интеграла, xn, xk- задают интервал интегрирования [xn,xk], deltaX - шаг интегрирования, зависит от количество подинтервалов, y, y1- это значения функции на начале и конце очередного подинтервала.

3. Соедините одноименные переменные xn, xk, eps, n, sum вашего имиджа и имиджа Interface

4 Установите значение переменной n вашего имиджа в значение большее 0

После этого запустите проект и вводите значения в поля ввода .

Внимание!!! В  поле ввода количества подинтервалов нельзя вводить число <=0, так как это не имеет смысла ,и при этом проект будет работать неправильно.

Значение интервала будет выводится в том же окне в котором осуществлялся ввод исходных параметров.

Задание 2.

       Нужно вычислить интеграл функции y=x^2 численным методом Эйлера с итерациями.

Новый проект создавать не нужно. Нужно переписать имидж, текст которого приведен в задании 1 следующим образом.

sum:=0
deltaX:=(~xk-~xn)/~n
x:=~xn//-~deltaX
y:=~x^2
yy:=~y
while (~x<=~xk-1)
f1:=2*~x
do
yyk:=~yy+~f1*~deltaX
f2:=2*(~x+~deltaX)
f1:=(~f1+~f2)/2
yyk1:=~yy+~f1*~deltaX
until (abs(~yyk-~yyk1)>abs(~eps))
sum:=~sum+(~yy+~yyk1)*~deltaX/2
yy:=~yyk1
x:=~x+~deltaX
endwhile

Здесь цикл do... until вложен в цикл while.Внутренний цикл do...until инициализируется столько раз, сколько выполняется внешний цикл while.

В этом задании нужно задавать точность. Чем она меньше, тем дольше будет выполняться цикл.

 

Дополнительное задание.

pin2.gif (1000 bytes) Попробуйте oписать в задании 1 цикл с помощью оператора do.....until
pin2.gif (1000 bytes) Попробуйте описать внутренний цикл в задании 2 c помощью оператора while