Здравствуйте, гость ( Вход | Регистрация )
| savedata |
19.1.2011, 12:59
Сообщение
#1
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент |
Дано действительное число x. Вычислить с точностью до 10^(-6).
(IMG:http://cs11003.vkontakte.ru/u31707030/122083267/x_03b7c476.jpg) program z758g; uses crt; var a,k:integer; S,x,y:real; begin clrscr; writeln('введите действительное число x - '); readln(x); a:=0; S:=0; k:=1; while (a<4) do begin y:=1/(sqrt(abs(x))+(k*k)); S:=S+y; k:=k+1; write(y:0:8); writeln(' - ',a:0); if abs(y)<0.000001 then a:=a+1 else a:=0; end; writeln('сумма вычислений с точностью до 10^(-6) равна',S:0:3); readln; end. |
![]() ![]() |
| Тролль |
19.1.2011, 13:05
Сообщение
#2
|
|
Доцент ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
Не могу понять - программа какая-то странная. Она по-моему вообще ничего не считает. Что такое g?
|
| savedata |
19.1.2011, 13:07
Сообщение
#3
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент |
g я уже убрал...это я чисто для себя вводил переменную, чтобы отследить сколько циклов программа сделала
исправил код |
| Тролль |
19.1.2011, 16:11
Сообщение
#4
|
|
Доцент ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
И в чем заключается ее неработа? Ничего не выводит? Или неправильно считает?
|
| savedata |
19.1.2011, 17:54
Сообщение
#5
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент |
Цитата Дано действительное число x. Вычислить с точностью до 10^(-6). ничего не выводит и k суммирует почему то неправильно... с каждым циклом k должно увеличиваться на 1, а мне паскаль такой бред выдает |
| Тролль |
19.1.2011, 18:09
Сообщение
#6
|
|
Доцент ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
А что это значит?
write(y:0:8); writeln(' - ',a:0); Сейчас попробую эту программу в другой язык забить. Хм, программа работает. Правда я убрал фразу else a = 0 А можно и ещё проще: k:=1; y:=1; while (y > 0.000001) do begin y:=1/(sqrt(abs(x))+(k*k)); S:=S+y; k:=k+1; end; writeln('сумма вычислений с точностью до 10^(-6) равна',S:0:3); readln; end. Вот и всё. Тоже вроде работает. |
| savedata |
19.1.2011, 19:07
Сообщение
#7
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 64 Регистрация: 8.1.2011 Из: Красноярск Город: Krasnoyarsk Учебное заведение: СибГТУ Вы: студент |
Цитата А что это значит? write(y:0:8); writeln(' - ',a:0); это я на экран выводил результаты промежуточных вычислений |
| Тролль |
19.1.2011, 19:10
Сообщение
#8
|
|
Доцент ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
Попробуйте сделать, как я сказал.
|
![]() ![]() |
|
Текстовая версия | Сейчас: 19.4.2026, 7:53 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru