Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Программа зацикливается (подсчет интеграла)

Автор: klem4 22.11.2005 12:16

Олег :
FreeBasic на этом зацикливается, а QBasc нет, интересно почему, как попробуешь напиши тут.

Код

rem v4lab34

dim y, x, h, a, b, maxX, minX as single
dim n as integer

cls

input "a=";a
input "b=";b
input "n=";n

h = (b-a)/(n-1)

x=a
print "    x      y    "
do
    y=5*(cos(x))^2 + 2 * x - 1
    rem print "    ";x;"    ";y;
    print x
    x=x+h
    
loop until x>b+h/2

input e

end


М
не забываем, что тег для подсветки Паскаля не подсветит Бейсик smile.gif
Altair


Автор: klem4 22.11.2005 12:21

Народ, может кто знает как в бейсике делать нормальный форматный вывод ? а-ля x:3:1

Автор: volvo 22.11.2005 15:20

klem4,
PRING USING
?

Автор: Altair 22.11.2005 16:23

Блин.. x не изменяется... blink.gif blink.gif blink.gif

Автор: Altair 22.11.2005 16:25

потому что h вычисляется как 0

Автор: Altair 22.11.2005 16:27

Код
input "a=";a!
input "b=";b!
input "n=";n!

h! = (b!-a!)/(n!-1)
x!=a!
print "    x!     y!    "
while x!<b!+h!/2
   y!=5*(cos(x!))^2 + 2 * x! - 1
   'print "    ";x;"    ";y;
   print x!
   x!=x!+h!

   
wend



end

работает

причина в том что на стадии вычисления h бейсик длумал что h это целое... и окрглял до нуля все время.... ТИПИЗИРОВАТЬ надо переменные! smile.gif good.gif

Автор: diakin 27.12.2005 22:00

Цитата(klem4 @ 22.11.2005 8:16) *

Олег :
FreeBasic на этом зацикливается, а QBasc нет, интересно почему, как попробуешь напиши тут.



Там переменные по умолчанию в одном случае integer а в другом - single.
<а вот реклама у нас запрещена...>