powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Хочу разобраться с задачей
13 сообщений из 13, страница 1 из 1
Хочу разобраться с задачей
    #38903602
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задали решить нелинейное уравнение методом итераций в pascal и basic(+построить график)
Ln(x)-x+1.8 = 0 На отрезке [2;3]
Pascal решил дабы изучал его, а вот в visual basic не бум бум
Помогите пожалуйста привести Basic к нормальному виду(вывод) и как мне добавить вывести результат на графике(basic)
Решение мат методом
x = ln(x) + 1,8;
f ’(x) = (ln(x) + 1,8)’ = 1/x;
f ’(x) = 1/2 = 0,5;
f ’(x) = 1/3 = 0,3333333;
f ’(x) <1;
xo = 2;
x k F(x k+1 )2 2.4931471812.493147181 2.713545842.71354584 2.7982562082.798256208 2.828996442.82899644 2.8399220342.839922034 2.8437765992.843776599 2.8451329572.845132957 2.84560982.8456098 2.8457773862.845777386 2.8458362772.845836277 2.845856972.84585697 2.8458642422.845864242 2.8458667972.845866797 2.8458676952.845867695 2.8458680112.845868011 2.8458681212.845868121 2.845868162.84586816 2.8458681742.845868174 2.8458681792.845868179 2.845868181


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Паскаль
Program pr1;
var x0,x1,a,b,e:real; 
 iteraz:integer; 
function fun(x:real):real; 
 begin 
 fun:=ln(x)+1.8; 
 end; 
begin 
 write('Введите приближённое(1) значение X='); 
 readln(x1); 
 write('Введите точность(0.0001) e='); 
 readln(e); 
 iteraz:=0; 
 repeat 
 iteraz:=iteraz+1; 
 x0:=x1; 
write(x1:7:4); 
 x1:=fun(x0); 
write(x1:7:4); 
writeln; 
 until (abs(x1-x0)<=e); 
 writeln('Решение уравнения ln(x)+1.8=0:'); 
 writeln('Вычисленное значение корня…',x1:6:5); 
 writeln('Число итераций..…………....',iteraz); 
 readln; 
 end.


А вот то что получилось в Basic
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub Command1_Click()
Dim x0 As Double, x1 As Double, a As Double, b As Double, e As Double
Dim iteraz As Integer, s As String
x1 = Text3
e = Text4
iteraz = 0
Do
iteraz = iteraz + 1
x0 = x1
x1 = fun(x0)
s = s & "x(k) = " & x0 & vbTab & "F(x(k+1)) = " & x1 & vbCrLf
Loop Until (Abs(x1 - x0) <= e)
s = s & "&#208;&#229;&#248;&#229;&#237;&#232;&#229; &#243;&#240;&#224;&#226;&#237;&#229;&#237;&#232;&#255; ln(x)+1.8=0:" & vbCrLf
s = s & "&#194;&#251;&#247;&#232;&#241;&#235;&#229;&#237;&#237;&#238;&#229; &#231;&#237;&#224;&#247;&#229;&#237;&#232;&#229; &#234;&#238;&#240;&#237;&#255;…" & x1 & vbCrLf
s = s & "&#215;&#232;&#241;&#235;&#238; &#232;&#242;&#229;&#240;&#224;&#246;&#232;&#233;..…………...." & iteraz
Picture2.Print s
End Sub

Private Function fun(x As Double) As Double
fun = Log(x) + 1.8
End Function


...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903619
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dikeyПомогите пожалуйста привести Basic к нормальному виду(вывод)В чем вопрос?
Сама программа правильно работает? (правильно считает?) Проблема только с отображением результатов?
Какой вид хотелось бы получить?

Что касается графика, тут различные варианты могут быть, но вы, по идее, ограничены рамками, которые вам преподавали (обрисуйте их).
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903642
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Программа работает правильно. Хотелось бы вывод в виде таблицы результатов x(k) и F(x(k+1))
По счет графика, дело в том что преподаватель не коснулся графиков, поэтому я даже не знаю как ответить на ваш вопрос.
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903688
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем один и тот же вопрос на разных форумах? http://www.cyberforum.ru/visual-basic/thread1393932.html
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903692
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dikeyХотелось бы вывод в виде таблицы результатов x(k) и F(x(k+1))Через Components добавьте в проект Microsoft FlexGrid
Добавьте на форму контрол MSFlexGrid
Задайте количество столбцов и строк через свойства Rows и Cols
Заполните ячейки нужными значениями через свойство TextMatrix
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903693
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходник
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903697
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dikeyПо счет графика, дело в том что преподаватель не коснулся графиков, поэтому я даже не знаю как ответить на ваш вопрос.тогда рисуйте график с помощью Line прямо на форме или в PictureBox
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903833
43210
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dikey,

препод снизит оценку хотя бы за то, что в заголовке указано одно уравнение, а в распечатке решения - другое.
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903930
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
43210, Ln(x)-x+1.8 = 0 представим через x: x=Ln(x)+1.8
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903945
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно про график как нибудь поподробнее
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38903986
43210
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dikey43210, Ln(x)-x+1.8 = 0 представим через x: x=Ln(x)+1.8Я это прекрасно понимаю. В программе же 'Решение уравнения ln(x)+1.8=0:'. Минус балл за невнимательность.
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38904004
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dikeyМожно про график как нибудь поподробнеенеужто в яндексе забанили? http://informatika-1332.ru/progr/progr_16.html
...
Рейтинг: 0 / 0
Хочу разобраться с задачей
    #38904791
dikey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос
Для сохранения данных по кнопке в excel есть следующий код, задан диапазон и заголовки...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub mnuFileSave_Click()
 Dim oExcel As Object
   Dim oBook As Object
   Dim oSheet As Object
   Set oBook = WorkBooks.Open("C:\Book1.xls")
   Set oSheet = oBook.Worksheets(1)
   oSheet.Range("A1:B1").Value = Array("x(k)", "F(x(k+1))")
   oSheet.Range("A2").Resize(100, 3).Value = x1
   oBook.SaveAs "C:\Book1.xls"
   oExcel.Quit
End Sub 


Как мне его применить к своей программе? чтобы результаты x0 и x1 сохранялись в excel в заданном диапазоне
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Хочу разобраться с задачей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]