0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 19

На 40 строке выдает ошибку "Неверный вызов функции"

27.04.2011, 19:58. Показов 692. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема состоит в том, что машина на 40 строке выдает ошибку "Неверный вызов функции".Подскажите из-за чего такая бяка и как ее исправить.
QBasic/QuickBASIC
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
CLS
PRINT " Ras4et xolodnou prokatku na stane 2030 no MeToduke KopoLeBa"
FOR i = 1 TO 80
PRINT "=";
NEXT i
 
PRINT " napametpbl staHa:"
DIM n AS INTEGER
INPUT "N=", n
DIM r, sigma0, sigma1, sigma02, a1, n1, b
INPUT "R=", r
INPUT "sigma0(nepednee Hat9}|{EHue)=", sigma0
INPUT "sigma1(3adHee Hat9}|{EHue)=", sigma1
 
PRINT ""
PRINT " napametpbl ctaJIu:"
INPUT "sigma02(ucxodHoe)=", sigma02
INPUT "a=", a1
INPUT "n1=", n1
INPUT "b=", b
 
DIM h(n), dh(n), hcp(n), esum(n), sigmat(n), Tcp(n), Dz(n), l(n), mvh(n), mvuh(n), Ksi(n), Pcp(n), P(n)
 
INPUT "h0(Ha4aJIbHa9 ToJIshina)=", h(0)
PRINT "O6}|{aTu9 no KJIeT9M:"
FOR i = 1 TO n
INPUT "E=", E(i)
NEXT i
 
PRINT "koef treHu9 no kJIeT9M"
FOR i = 1 TO n
INPUT "mu=", mu(i)
NEXT i
 
FOR i = 1 TO n
h(i) = h(i - 1) * E(i)
dh(i) = h(i - 1) - h(i)
hcp(i) = (h(i) + h(i - 1)) / 2
esum(i) = (h(0) - h(i)) * 100 / h(0)
sigmat(i) = sigma02 + (a1 * esum(i) ^ n1)
NEXT i
 
FOR i = 1 TO n
sigmat(0) = sigma02
Tcp(i) = 1.15 * (sigmat(i) + sigmat(i - 1)) / 2
sigmat(0) = sigma02
Dz(i) = sigmat(i - 1) / sigmat(i)
 
p0 = 0
x2 = 0
10 : l(i) = SQR(r * dh(i) + x2(i) ^ 2) + x2(i)
mvh(i - 1) = 2 * mu(i) * l(i) / (h(i - 1))
mvuh(i) = 2 * mu(i) * l(i) / (h(i))
Ksi(i) = .5 * (1 - E(i)) / (1 - .5 * E(i)) * (1 - (1 / mvh(i - 1)) * ln(Dz(i) - ((sigma1) / (Tcp(i))) / (1 - (sigma0) / (Tcp(i)))))
Pcp(i) = Tcp(i) * ((Dz(i) - ((sigma1) / (Tcp(i))) * (1 / mvuh(i)) * (EXP(mvuh(i) * (Ksi(i))) - 1) + (1 - (sigma0) / (Tcp(i))) * (EXP(mvh(i - 1) * (1 - Ksi(i)) - 1))))
 
IF ABS(Pcp(i) - p0) / Pcp(i) > .01 THEN
x2 = Pcp(i) * r / 95000
p0 = Pcp(i): GOTO 10
END IF
P(i) = Pcp(i) * b * l(i) / (10 ^ 6)
NEXT i
 
FOR i = 1 TO 80
PRINT "=";
NEXT i
PRINT ""
 
PRINT " h(mm) dh(mm)"
FOR i = 1 TO n
PRINT ; h(i); dh(i)
NEXT i
PRINT ""
PRINT "      mvh     mvuh      l(mm)     sigmat(H/mm2)    Ksi      Pcp(H/mm2)      P(MH)"
FOR i = 1 TO n
PRINT ; mvh(i - 1); mvuh(i); "     "; l(i); sigmat(i); "      "; Ksi; Pcp(i); P(i)
NEXT i
END
Добавлено через 1 час 24 минуты
P.s. и еще подскажите пожалуйста как реализовать сохранение результатов в отдельном файле.(чтобы например .txt файл сохранила прога результат)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2011, 19:58
Ответы с готовыми решениями:

TransferDatabase VB выдает 'неверная ссылка на базу данных'
aPath = App.Path DoCmd.TransferDatabase acExport, "FoxPro 2.0", aPath, acQuery,...

Выдать сообщение при неверной авторизации в БД
есть подключение к базе с паролем и юзером Если пользователь пишет неправильный пароль или...

В столбец выдается список неверной последовательности соединенных объектов
Доброе утро. У меня возникла небольшая проблема с макросом. В общем на листе несколько объектов,...

5
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
28.04.2011, 05:20
чтобы например .txt файл сохранила прога результат
Получаем свободный идентификатор:
a% = FREEFILE

Открываем файл, имя - любое допустимое для ОС MS-DOS
OPEN "O", a%, "DATA.TXT"

Дальше - я не знаю какие данные вы хотите записать, поэтому 2 варианта:
  1. Массив
    Определим максимальный индекс массива
    MaxI = UBOUND( Ваш массив )
    Заместо "Ваш массив" ставим, имя массива, только имя, без скобок и индексов.
    Выводим информацию в файл:
    FOR i = 1 TO MaxI
    PRINT #a%, Ваш массив(i)
    NEXT

    Тут тоже ставим имя массива.
  2. Непосредственное значение
    Со значением проще, вы где-то в цикле считаете знчение. Можно сразу после вычисления скидывать его в файл допустим:
    FOR i = ... TO ...
    MyValue = формула для вычисления
    PRINT #a%, MyValue
    NEXT
    Т.е. указывате границы цикла, пишете формулу для вычисления MyValue и можно передавать данные в файл.
После всех операций файл требуется закрыть:
CLOSE a%
Всё.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
28.04.2011, 05:21
"Неверный вызов функции"
Ахаха, ни за что бы не понял пока сам не глянул, нормальный интерпретатор говорит мне "overflow" т.е. переполнение. Переполнение происходит, когда вычисляемое значение, выходит за пределы, определённые архитектурой ПК вкупе с форматом хранения чисел с плавающей запятой.
Попробуйте поставить везде, где это может произойти тип переменных(и масивов)DOUBLE. Если ошибка снова возникнет, тогда проблема в алгоритме или исходных тестовых данных.
0
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 19
28.04.2011, 19:04  [ТС]
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Ахаха, ни за что бы не понял пока сам не глянул, нормальный интерпретатор говорит мне "overflow" т.е. переполнение. Переполнение происходит, когда вычисляемое значение, выходит за пределы, определённые архитектурой ПК вкупе с форматом хранения чисел с плавающей запятой.
Попробуйте поставить везде, где это может произойти тип переменных(и масивов)DOUBLE. Если ошибка снова возникнет, тогда проблема в алгоритме или исходных тестовых данных.
Неверный вызов исправил сам.( некоторые параметры небыли описаны в dim) ,а насчет сохранения конечно попробую, вроде бы принцип понял. А сохранить мне надо то, что выводиться в конце программы принтом 69 и 71; 74 и 76 строки (желательно виде таблицы ну или в виде упорядоченных столбцов).

Добавлено через 4 часа 17 минут
Что то не очень получается сохранить >Quiet Snow< или кто нибудь подскажите как сохранить в файл с именем допустим data.txt параметры h(i); dh(i); mvh(i - 1); mvuh(i); l(i); sigmat(i); Ksi; Pcp(i); P(i) желательно отредактировать код моей проги, а не в виде примера зарание спс.
P.S. ну или строки куда вставить нужно необходимые операторы.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
28.04.2011, 20:09
Вот ваш кусок кода
PureBasic
1
2
3
4
5
6
7
8
9
PRINT " h(mm) dh(mm)"
FOR i = 1 TO n
PRINT ; h(i); dh(i)
NEXT i
PRINT ""
PRINT "      mvh     mvuh      l(mm)     sigmat(H/mm2)    Ksi      Pcp(H/mm2)      P(MH)"
FOR i = 1 TO n
PRINT ; mvh(i - 1); mvuh(i); "     "; l(i); sigmat(i); "      "; Ksi; Pcp(i); P(i)
NEXT i
Берём и делаем по указанному рецепту:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
a% = FREEFILE
OPEN "O", a%, "DATA.TXT"
PRINT #a%, " h(mm) dh(mm)"
FOR i = 1 TO n
PRINT #a%, ; h(i); dh(i)
NEXT i
PRINT #a%, ""
PRINT #a%, "      mvh     mvuh      l(mm)     sigmat(H/mm2)    Ksi      Pcp(H/mm2)      P(MH)"
FOR i = 1 TO n
PRINT #a%, ; mvh(i - 1); mvuh(i); "     "; l(i); sigmat(i); "      "; Ksi; Pcp(i); P(i)
NEXT i
CLOSE a%
2
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 19
28.04.2011, 20:56  [ТС]
>Quiet Snow< огромное СПАСИБО ошибку понял, исправлюсь!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2011, 20:56
Помогаю со студенческими работами здесь

Протокол MODBUS. Не работает вызов вызов функции из подключенной библиотеки DLL внутри функции purebasic
Доброго дня всем. Задача определить ip подключенного устройства. При работе непосредственно из...

Вызов Excel из VB выдает ошибку automation error : -2147417848
Dim ExcelApplication As New excel.Application Dim ExcelWorkbooks As Object Dim ExcelSheets As...

Ошибка "Неверное число размерностей"
Объясните пожалуйста, где у меня ошибка, програма не хотит запускаться с коментарием &quot;неверное...

Тип ошибки: ADODB.Recordset (0x800A0BB9) Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или ...
Народ здравствуй! Проблема не могу добавить запись в базу! Открываю соединение Set Cnxn2 =...

Ошибка с Recordset: 'Неверное использование ключевого слова NEW'
Привет собравшимся! Столкнулся со странной ошибкой (VB6rus). На выражение 'Dim record as...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru