ЗАДАНИЕ XXIII
Тема:Операторы цикла Цель: Краткое знакомство с циклами в среде Stratum Computer |
Перед началом работы необходимо:
владеть работой с клавиатурой и мышкой; | |
владеть основными приемами работы в системе 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.
В этом задании нужно задавать точность. Чем она меньше, тем дольше будет выполняться цикл.
Попробуйте oписать в задании 1 цикл с помощью оператора do.....until | |
Попробуйте описать внутренний цикл в задании 2 c помощью оператора while |