powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите найти ошибку , пишет invalid procedure call or argument
10 сообщений из 10, страница 1 из 1
помогите найти ошибку , пишет invalid procedure call or argument
    #39655397
igorazanov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
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.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
Sub Тонколистовая_прокатка()
'объявление переменных
Dim i As Integer 'номер сечения
Dim ii As Integer 'номер нейтрального сечения
Dim n As Integer 'число разбиений очага деформации
Dim h0 As Double 'начальная толщина листа
Dim hn As Double 'конечная толщина листа
Dim h() As Double 'толщина листа в i-том сечении (массив)
Dim St0 As Double 'начальный предел текучести
Dim Stn As Double 'конечный предел текучести
Dim St() As Double 'предел текучести в i-том сечении (массив)
Dim q0 As Double 'уровень заднего натяжения
Dim qn As Double 'уровень переднего натяжения
Dim R As Double 'радиус рабочего валка
Dim a As Double 'коэффициент упрочнения
Dim b As Double 'коэффициент упрочнения
Dim alfa As Double 'угол захвата
Dim fi() As Double 'угол fi (массив)
Dim dx() As Double  'dx (массив)
Dim P1() As Double 'нормальные напряжения в зоне отставания
Dim P2() As Double 'нормальные напряжения в зоне опережения
Dim P() As Double 'напряжения для двух зон очага деформации
Dim PP As Double 'сумма нормальных напряжений
Dim PPP As Double 'полное усилие прокатки
Dim K0 As Double 'предел текучести на сдвиг начальный
Dim Kn As Double 'предел текучести на сдвиг конечный
Dim K() As Double 'предел текучести на сдвиг в i-том сечении
Dim m As Double 'коэффициент трения
Dim W As Double 'ширина листа

'присвоение переменным числовых значений из ячеек листа Excel
h0 = Range("D3").Value 'значение начальной толщины листа
hn = Range("D4").Value 'значение конечной толщины листа
W = Range("D5").Value 'значение ширины листа
St0 = Range("D6").Value 'значение начального предела текучести
q0 = Range("D7").Value 'значение уровня заднего натяжения
qn = Range("D8").Value 'значение уровня переднего натяжения
m = Range("D9").Value 'значение коэффициента трения
a = Range("D10").Value 'значение коэффициента упрочнения a
b = Range("D11").Value 'значение коэффициента упрочнения b
R = Range("D12").Value 'значение радиуса рабочего валка
n = Range("D13").Value 'число разбиений очага деформации

'объявление массива
ReDim fi(0 To n) As Double
ReDim h(0 To n) As Double
ReDim dx(0 To n) As Double
ReDim St(0 To n) As Double
ReDim K(0 To n) As Double
ReDim P1(0 To n) As Double
ReDim P2(0 To n) As Double
ReDim P(0 To n) As Double

Stn = St0 + a * ((h0 - hn) / h0) ^ b 'формула(22)
Kn = Stn / Sqr(3) 'формула(21)
K0 = St0 / Sqr(3) 'формула(19)
alfa = 2 * Atn(Sqr((h0 - hn) / (4 * R - (h0 - hn)))) 'формула (8)

i = 1 'расчет для зоны отставания от i=1 до i=n
1: fi(i) = alfa * (n - i) / n 'формула(7)
   h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6)
   fi(0) = alfa
   dx(i) = R * (Sin(fi(i - 1)) - Sin(fi(i))) 'формула(5)
   St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12)
   K(i) = St(i) / Sqr(3) 'формула(11)
   P1(0) = 2 * K0 - q0 * St0 'формула (18)
   h(0) = h(0)
   K(0) = K(0)
   P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i)) - 2 * m * dx(i)) 'формула(14)
   If m * P1(i) <= K(i) Then
   P1(i) = P1(i)
   Else
   P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i))) 'формула (15)
   End If
   If i < n Then
   i = i + 1
   GoTo 1
   End If
   i = n - 1 'расчет для зоны опережения от i=n-1 до i=ii
2: fi(n) = 0
   fi(i) = alfa * (n - i) / n 'формула(7)
   h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6)
   dx(i) = R * (Sin(fi(i)) - Sin(fi(i + 1))) 'формула(5)
   St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12) <------ [color=red]ПИШЕТ ЧТО ТУТ ОШИБКА[/color]  
   St(n) = Stn
   K(i) = St(i) / Sqr(3) 'формула(11)
   P2(n) = 2 * Kn - qn * Stn 'формула(20)
   h(n) = hn
   K(n) = Kn
   dx(n) = 0
   P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * m * dx(i + 1)) + 2 * K(i) + h(i) - 2 * K(i + 1) * h(i + 1)) / h(i) 'формула(16)
   If m * P2(i) <= K(i) Then
   P2(i) = P2(i)
   Else
   P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * K(i) * h(i) - 2 * K(i + 1) * (h(i + 1) - dx(i + 1)))) / h(i) 'формула(17)
   End If
   If P1(i) - P2(i) <= 0 Then
   ii = i
   Else
   i = i - 1
   GoTo 2
   End If
   
   PP = 0
   For i = o To n
   If i < ii Then
   P(i) = P1(i)
   Else
   P(i) = P2(i)
   End If
   PP = PP + P(i)
   Next i
   PPP = PP * W * alfa * R / n * 10 / 1000000 'полное усидие в МН
   
   'вывод результатов расчета на лист Excel
   For i = 0 To n
   Cells(3 + i, 7).Value = i
   Cells(3 + i, 8).Value = Sqr(R * (h0 - hn)) * i / n 'длина очага деформации
   Cells(3 + i, 9).Value = P(i) 'контактные нормальные напряжения
   Next i
   Cells(3, 11).Value = PPP 'полное усилие
End Sub
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655410
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorazanov1,

авторпишет invalid procedure call or argument

на какой строке
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655412
igorazanov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

на 84 , формула 12
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655449
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorazanov1ПЕНСИОНЕРКА,

на 84 , формула 12используйте тэг SRC. Читать же неудобно.
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655474
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorazanov1, а почему сюда? есть же подфорум для Excel
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655488
Это выражение выполняется в цикле. Ошибка на первом же проходе?
Какие значения имеют переменные в момент возникновения ошибки?
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655553
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где сам файл? По одному тексту без исходных ориентироваться трудно.
Да и какая ошибка? Её код? Описание?
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655560
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorazanov1,

Вот тут после метки 2 глянь
Код: vbnet
1.
2.
3.
4.
5.
6.
If P1(i) - P2(i) <= 0 Then
   ii = i
Else
   i = i - 1
   GoTo 2
 End If



Поставь хоть перед GoTo 2 что то типа
Код: vbnet
1.
If i<=5 Then MsgBox i



возможно i без контрольно упирается в ноль...
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655561
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorazanov1пишет invalid procedure call or argument
Тривиально. Попытка возведения в нецелую степень отрицательного числа.
...
Рейтинг: 0 / 0
помогите найти ошибку , пишет invalid procedure call or argument
    #39655869
igorazanov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я разобрался , спасибо всем кто не остался равнодушным
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите найти ошибку , пишет invalid procedure call or argument
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]