Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Анастасия К
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 6
1

Цикл с незаданным числом повторений

22.05.2010, 02:07. Просмотров 908. Ответов 5
Метки нет (Все метки)

Составить программу для вычисления значения функции у с заданной точностью Е. Итерационные вычисления значений функции у производится по рекуррентной формуле y(i+1)= f(y(i), y(i-1)). Вычисления заканчиваются при выполнении условия |y(i+1)-y(i)|<=E. Вывести на печать значения функции у и число итераций, выполненных для исполнения поставленного условия.
При программировании следует использовать цикл с условием, организуемый с помощью оператора Do..Loop. Цикл будет выполняться до тех пор пока не будет выполнено условие |y(i+1)-y(i)|<=E. Число итераций-это количество выполненных циклов для достижения заданной точности вычисления.

РЕКУРРЕНТНАЯ ФОРМУЛА:
y(i+1)=(1/2)*y(i)+((1.5*x)/(2*y(i)^2+(x/y(i))))

и даны значения для двух вариантов ввода:
1) х=14,6 у(0)=х Е=0,001
2) х=19,7 у(0)=0,3х Е=0,0001

выручите, пожалуйста!!!)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2010, 02:07
Ответы с готовыми решениями:

Программы с использованием операторов цикла с неизвестным числом повторений
1) Написать программы с использованием операторов цикла с неизвестным числом повторений (do while|...

Использование операторов цикла с неизвестным числом повторений (do while| until…loop)
Написать программу с использованием операторов цикла с неизвестным числом повторений (do while|...

Написать программу с использованием операторов цикла с известным числом повторений (for i. to.next)
Написать программу с использованием операторов цикла с известным числом повторений (for i......

Цикл с неустановленным числом повторений
Помогите, пожалуйста, решить задачу на делфи! цикл с неустановленным числом повторений ...

Цикл с заданным числом повторений
Ребят, привет.... помогите мне создать проект: Дано вещественно число A и целое число N(&gt;0)....

5
Анастасия К
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 6
25.05.2010, 00:08  [ТС] 2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Command1_Click()
Dim y() As Single
Dim e As Single, x As Single, y(0) As String
Dim i As Byte
ReDim y(i) As Single
x = Val(InputBox("x", "Данные"))
e = Val(InputBox("e", "Данные"))
y(o) = Val(InputBox("y(0)", "Данные"))
i = o
y(i + 1) = (1 / 2) * y(i) + (1.5 * x) / (2 * (y(i) ^ 2) + (x / y(i)))
Do While Abs(y(i + 1) - y(i)) <= e
y(i + 1) = (1 / 2) * y(i) + (1.5 * x) / (2 * (y(i) ^ 2) + (x / y(i)))
Print "i="; i, "y(i)="; y(i)
i = i + 1
Loop
End Sub

не знаю как правильно...ошибку пишет..
0
petr-sev
494 / 128 / 19
Регистрация: 30.03.2010
Сообщений: 222
25.05.2010, 09:32 3
ошибки - в комментариях

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Command1_Click()
Dim y() As Single
Dim e As Single, x As Single, y(0) As String  'повторное описание y
Dim i As Byte
ReDim y(i) As Single  'i не инициализирована => массив содержит только один элемент y(0)
x = Val(InputBox("x", "Данные"))
e = Val(InputBox("e", "Данные"))
y(o) = Val(InputBox("y(0)", "Данные"))  'индекс задан буквой o вместо цифры 0
i = o  'присвоение буквы o вместо цифры 0
y(i + 1) = (1 / 2) * y(i) + (1.5 * x) / (2 * (y(i) ^ 2) + (x / y(i)))  'в массиве y есть _
        только 0-й элемент (см. выше) => обращение к несуществующему элементу y(i + 1)
Do While Abs(y(i + 1) - y(i)) <= e
'цикл выполняется по заданному условию, при этом не проверяется конец массива
y(i + 1) = (1 / 2) * y(i) + (1.5 * x) / (2 * (y(i) ^ 2) + (x / y(i)))
Print "i="; i, "y(i)="; y(i)
i = i + 1
Loop
End Sub
1
Анастасия К
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 6
25.05.2010, 20:34  [ТС] 4
исправляю, все равно чушь какая-то... помогите, пожалуйста!!!!
0
petr-sev
494 / 128 / 19
Регистрация: 30.03.2010
Сообщений: 222
26.05.2010, 09:34 5
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Command1_Click()
Dim X As Double
X = Val(InputBox("x", "Данные"))
 
Dim E As Double
E = Val(InputBox("e", "Данные"))
 
Dim Yi As Double
Yi = Val(InputBox("y(0)", "Данные"))
 
Dim Yi1 As Double
Dim I As Long
Dim tmp As Double
 
Do
Yi1 = (1 / 2) * Yi + ((1.5 * X) / (2 * Yi ^ 2 + (X / Yi)))
tmp = Abs(Yi1 - Yi)
I = I + 1
Yi = Yi1
Loop Until tmp <= E
 
MsgBox "i=" & CStr(I) & " y(i)=" & CStr(Yi)
End Sub
1
Анастасия К
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 6
28.05.2010, 01:39  [ТС] 6
ооочень благодарна!!!!!!
0
28.05.2010, 01:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2010, 01:39

Цикл с известным числом повторений
Здравствуйте, форумчане. Язык Pascal, к сожалению, подзабыл из-за изучения высокоуровневых языков...

Цикл с заданным числом повторений
Здравствуйте, пожалуйста, помогите написать программу, нужно найти сумму n элементов при помощи...

Цикл с заранее известным числом повторений
Помогите исправить программу { Программа решает следующую задачу: Дано целое N. Найти сумму и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru