![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
rov4 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
Привет всем!
![]() 1. Найти сумму целых положительных чисел, кратных 3 и меньших 200. Вот, что у меня получилось: Код program lab; var sum,i,n:integer; begin sum:=0; n:=1; for i:=1 to 199 do if i/3=0 then begin sum:=sum+i; n:=n+1; writeln('number of elements is=',n); readln(n); end; writeln('Summa is=',sum:7:6); readln; end. Естественно, сумма не может=0, а у меня в результате получается, что она=0, к тому же, комп не считает количество чисел. Не понимаю, в чём проблема... 2.Требуется найти корень уравнения: 3sin(sqrt(x))+0.35x-3.8=0 c точностью е=1/10000. Корень уравнения находится на отрезке [2;3]. Точное значение коня=2.2985. Использовать метод итераций. На печать вывести вычисленное значение корня и для сравнения точное значение корня. У меня получилось следующее: Код program lab; В чём здесь ошибка?uses crt; var x0,x1,x,a,b,e:real; iteraz:integer; function fun(x:real):real; begin fun:=(3.8-(3*sin(sqrt(x))))/0.35; end; begin clrscr; write('x0=2.2'); readln(x1); write('e=0.001'); readln(e); iteraz:=0; repeat iteraz:=iteraz+1; x0:=x1; x1:=fun(x0); until(abs(x1-x0)<=e); writeln('ђҐиҐЁҐ га ўҐЁп......fun='); writeln('’®з®Ґ § 票Ґ Є®ап......2.2985'); writeln('‚лзЁб«Ґ®Ґ § 票Ґ Є®ап x=',x1:6:5); readln(x); writeln('—Ёб«® ЁвҐа жЁ©',iteraz); readln(iteraz); writeln('Џа®Ја § ўҐаиҐ , ¦ЁвҐ ENTER'); readln; end. Очень прошу помочь мне ответить на эти вопросы. Заранее спасибо. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
1.
Цитата Найти сумму целых положительных чисел, кратных 3 и меньших 200 Код var i, s, n: integer; begin i := 0; s := 0; n := 0 repeat inc(s, i); inc(i, 3); inc(n) until i > 200; writeln('s = ', s, ' n = ', n) end. Цитата Не понимаю, в чём проблема... Все просто, вместо того, чтобы делить число на 3 (в строке if i/3=0 then ...) нужно вычислять остаток от деления числа на 3 (if (i mod 3)=0 then ...) Кроме этого неясен смысл вот этих 2-х строк: Код writeln('number of elements is=',n); readln(n); { <--- Зачем еще раз вводить N? } Возможно имелось в виду просто ReadLn; ? Сообщение отредактировано: volvo - 13.01.2005 12:41 |
rov4 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
volvo,
cпасибо ![]() (Вот только i<200, a не i>200.) |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
rov4
Нет, как раз i>200 !!! Я же использую не цикл While а цикл Until - а в нем как только условие начинает выполняться - цикл заканчивается... P.S. Я же говорил, что тестирую программы перед выкладыванием на форум. Неужели я бы не заметил ТАКОЙ ошибки... |
rov4 |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: ![]() ![]() ![]() |
volvo,
Извини, ты, безусловно, прав! Теперь у меня всё, наконец-то, получилось! Огро-о-омное спасибо!!! :flowers: |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 12:36 |