Basic (Помогите с программой)

Модератор: Модераторы разделов

Ответить
DnaiCCER
Сообщения: 2

Basic

Сообщение DnaiCCER »

Народ, делал программу для курсовой, но во время расчета p(n) выдает ошибку, если записываю как p(n)=k то ответ k, если p(n)=k*t то выскакивает ошибка, помогите решить проблему

Код: Выделить всё

REM ***** BASIC *****
Option Explicit
Sub Main


const u1="Ввод исходных данных"
const u2="Количество клетей"
const u3="Толщина полосы на входе в 1 клеть "
const u4="Радиус валка "
const u5="Толщина полосы на выходе из "
const u6="Ширина полосы "
const u7="Коэффициент "
const u8="Температура полосы перед "
const u9="Скорость валков в "

Dim n,i as integer
Dim r,b,k,q,s,w,a,c,dq,ds,dw,m as string

n=Val(inputbox(u2,u1,"1")
r=Val(inputbox(u4,u1,"600")
b=Val(inputbox(u6,u1,"1850")
k=Val(inputbox(u7+"k",u1,"6.94")
q=Val(inputbox(u7+"q",u1,"0.731")
S=Val(inputbox(u7+"S",u1,"-0.299")
w=Val(inputbox(u7+"w",u1,"0.567")
a=Val(inputbox(u7+"a",u1,"0.135")
c=Val(inputbox(u7+"c",u1,"-2.80")


dim h(n),t(n),v(n),dh(n),x(n),hsr(n),l(n),j(n),p(n) as string

h(0)=Val(Inputbox(u3,u1,"250")

For i=1 to n
h(i)=Val(Inputbox(u5+i+" клети",u1,"185")
t(i)=Val(Inputbox(u8+i+" клетью",u1,"1200")
v(i)=Val(Inputbox(u9+i+" клети",u1,"1.2")

Next i

For i=1 to n
l(i)=sqr(r*h(i))
dh(i)=h(i-1)-h(i)
hsr(i)=((h(i-1)+h(i))/2)
j(i)=(v(i)*30)/(3.14*r)
x(i)=l(i)/hsr(i)
IF 1.3<x(i)<5 then
dq=0.28
ds=-0.56
dw=0.28
m=1

p(n)=m*k*(dh(n)^(q+dq))*(h(0)^(s+ds))*(r^(w+dw))*(n^a)*b*((t(n)/1000)^c)
print p(n)
end if
next i
End Sub
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Basic

Сообщение devilr »

Кто на ком стоял? Совершенно непонятно, где "выскакивает" ошибка и, самое главное, зачем?! :)
t определяется, как t(n), тогда p(n)=k*t будет явно неправильно и понятно, что будет "выскакивать ошибка". А вообще, лучше привыкать сразу давать осмысленные имена переменным.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Basic

Сообщение yars »

И комментарии в коде лишними не будут. И лучше уж сразу на C идти, ну или на Pascal. Бесик, все-таки, на мой взгляд, сегодня уже не стоит затраченных на него сил и времени...
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
DnaiCCER
Сообщения: 2

Re: Basic

Сообщение DnaiCCER »

yars писал(а):
25.03.2016 20:47
И комментарии в коде лишними не будут. И лучше уж сразу на C идти, ну или на Pascal. Бесик, все-таки, на мой взгляд, сегодня уже не стоит затраченных на него сил и времени...

Я бы с радостью, но мне курсач в бейсике нужен


devilr писал(а):
25.03.2016 14:09
Кто на ком стоял? Совершенно непонятно, где "выскакивает" ошибка и, самое главное, зачем?! :)
t определяется, как t(n), тогда p(n)=k*t будет явно неправильно и понятно, что будет "выскакивать ошибка". А вообще, лучше привыкать сразу давать осмысленные имена переменным.

Это грубый пример был

yars писал(а):
25.03.2016 20:47
И комментарии в коде лишними не будут. И лучше уж сразу на C идти, ну или на Pascal. Бесик, все-таки, на мой взгляд, сегодня уже не стоит затраченных на него сил и времени...

оможешь с программой?
Спасибо сказали:
Ответить