Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157

Создать цикл без GoTo

01.01.2016, 17:02. Показов 2262. Ответов 21
Метки c, qbasic (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется код написанный на старом бейсике:

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2205 X2=0:PP=1:EEE=.0001
2215 PP=PP/10
2220 X2=X2+PP
 
2245 X1=EXP(N1*(1-T1*(1-LOG(X2)/N2)/T2))
2247 X3=EXP(N3*(1-T3*(1-LOG(X2)/N2)/T2))
2250 Y=X1+X2+X3-1
2260 IF ABS(Y)<EEE THEN GOTO 2355 ELSE GOTO 2270
 
2270 IF Y<0 THEN GOTO 2220 ELSE GOTO 2290
2290 X2=X2-PP:GOTO 2215
 
2355 TE123=T1/(1-LOG(X1)/N1)
2370 X1123=X1:X2123=X2:X3123=X3
2400 RETURN
Тут GOTO я так понимаю используется в качестве циклов, но я в них запутался.
Помогите это все привести к структуре кода VB.NET.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.01.2016, 17:02
Ответы с готовыми решениями:

Превращение кода с goto в код без goto
Помогите переписать это код без goto и потери производительности.А то мне кажется написано совершенно не оптимально.if(f&gt;0) { ...

Бесконечный цикл ( goto )
Здравствуйте! Есть вот такой код. procedure TForm1.sButton1Click(Sender: TObject); label StartHere; begin StartHere: Beep; if...

Goto заменить на цикл
замените пожалуйста goto на цикл program dihotomia; Label 1,2; var a,b,e,d,C,x1,x2,xmin,fmin: real; function f(x:real):...

21
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
01.01.2016, 17:58
~Jack~, это более похоже на обычный цикл Do...Loop в теле которого о бычные операторы if...then...else

Вместо цифровых меток и GoTo вставляйте конкретнре усоовие из метки и заключите все в цикл Do...Loop
2
 Аватар для Sklifosofsky
1085 / 915 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
01.01.2016, 18:50
Хочу добавить. А то без литра водки не разберетесь...

Старом бейсике GOTO [номер строки]. Переход к исполнению кода на конкретной строке
А в современном есть нечто похожее

if [условие] then GoTo [индификатор]
...

[индификатор]:
[исполняющий код]

Последнюю конструкцию размещают в конце процедуры и может иметь бесчисленное количество блоков (в рамках разумного конечно)


VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub MyProgram()
Dim primer as Boolean
 
primer=true
 
if primer=true then
GoTo a
else
GoTo b
end if
 
a:
msgbox("A")
b:
msgbox("B")
end sub
1
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
01.01.2016, 18:57  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
Вместо цифровых меток и GoTo вставляйте конкретнре усоовие из метки и заключите все в цикл Do...Loop
Как-то так?

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
        While Not Math.Abs(Y) < EEE
            If Not Y < 0 Then
                X2 = X2 - PP
                PP = PP / 10
            End If
 
            X2 = X2 + PP
            X1 = Math.Exp(N1 * (1 - T1 * (1 - Math.Log(X2) / N2) / T2))
            X3 = Math.Exp(N3 * (1 - T3 * (1 - Math.Log(X2) / N2) / T2))
            Y = X1 + X2 + X3 - 1
 
        End While
Или не верно?
0
 Аватар для Sklifosofsky
1085 / 915 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
01.01.2016, 19:38
Про в конце процедуры размещения блока не верьте мне) Короче можно в точности повторить старый код, только вместо цифр использовать индификаторы

Не по теме:

Уж очень много залито

0
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
01.01.2016, 19:45  [ТС]
Цитата Сообщение от Sklifosofsky Посмотреть сообщение
Про в конце процедуры размещения блока не верьте мне) Короче можно в точности повторить старый код, только вместо цифр использовать индификаторы
Хотелось бы отойти от старого и привести к новому, и попутно разобраться в коде.
0
 Аватар для Sklifosofsky
1085 / 915 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
01.01.2016, 19:49
Не все новое есть лучше старого. Боюсь без goto можно наворотить очень большой код
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
01.01.2016, 20:37
Лучший ответ Сообщение было отмечено ~Jack~ как решение

Решение

Если дословно, не вникая в смысл, то как то так.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        X2 = 0
        PP = 1
        EEE = 0.0001
        Do
            PP = PP / 10
var:        X2 = X2 + PP
            X1 = EXP(N1 * (1 - T1 * (1 - LOG(X2) / N2) / T2))
            X3 = EXP(N3 * (1 - T3 * (1 - LOG(X2) / N2) / T2))
            Y = X1 + X2 + X3 - 1
            If ABS(Y) < EEE Then Exit Do
            If Y < 0 Then GoTo var
            X2 = X2 - PP
            loop true
        TE123 = T1 / (1 - LOG(X1) / N1)
        X1123 = X1
        X2123 = X2
        X3123 = X3
Добавлено через 5 минут
Подправьте
VB.NET
1
2
3
Do
'....
Loop While True
1
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
01.01.2016, 21:09  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
Если дословно, не вникая в смысл, то как то так.
При расчете зависает.

Вот полная программа на QBasic
Кликните здесь для просмотра всего текста
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
70 REM        //         Ввод исxодныx данныx         //
80 S1$="BaSO4":S2$="CaCl2":S3$="CaSO4":   REM // Формулы соединений //
110 T1=1853:T2=1045:T3=1723   :   REM // Темперaтуры плaвления соединений //
120 N1=6:N2=3:N3=6:EEE=.0001  :   REM // Число aтомов в молекуле //
127 REM       //  Haчaло рaсчетa   Тэ12, Тэ13, Тэ23        //
130 TT1=T1:TT2=T2:NN1=N1:NN2=N2:GOSUB 1010:TE12=TE1:X112=X1:X212=X2
140 TT1=T1:TT2=T3:NN1=N1:NN2=N3:GOSUB 1010:TE13=TE1:X113=X1:X313=X2
150 TT1=T2:TT2=T3:NN1=N2:NN2=N3:GOSUB 1010:TE23=TE1:X223=X1:X323=X2
160 GOSUB 2010:REM   // рaсчет Тэ123 //
170 GOSUB 3010:REM   // Построение конц. треугольникa и погрaн. кривыx //
180 GOSUB 3300:REM   // Вывод дaнныx нa экрaн //
200 END
 
 
1010 REM Опред. состaвa и темп. плaвления эвтектики в 2-х комп.сист.
1205 X2=0:PP=1:EEE=.0001
1215 PP=PP/10
1220 X2=X2+PP
1245 X1=EXP(NN1*(1-TT1*(1-LOG(X2)/NN2)/TT2))
1250 Y=X1+X2-1
1260 IF ABS(Y)<EEE THEN GOTO 1355 ELSE 1270
1270 IF Y<0 THEN GOTO 1220 ELSE 1290
1290 X2=X2-PP:GOTO 1215
1355 TE1=TT1/(1-LOG(X1)/NN1)
1400 RETURN
 
2010 REM Опред. состaвa и темп. плaвления эвтектики в 3-х комп.сист.
2205 X2=0:PP=1:EEE=.0001
2215 PP=PP/10
2220 X2=X2+PP
 
 
2245 X1=EXP(N1*(1-T1*(1-LOG(X2)/N2)/T2))
2247 X3=EXP(N3*(1-T3*(1-LOG(X2)/N2)/T2))
2250 Y=X1+X2+X3-1
2260 IF ABS(Y)<EEE THEN GOTO 2355 ELSE GOTO 2270
 
 
2270 IF Y<0 THEN GOTO 2220 ELSE GOTO 2290
2290 X2=X2-PP:GOTO 2215
 
2355 TE123=T1/(1-LOG(X1)/N1)
2370 X1123=X1:X2123=X2:X3123=X3
2400 RETURN

Прорисовку графика я убрал из кода, мне нужен только расчет.

Вот то, что переделано на основе вашего кода

VB.NET
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
     
Dim X2, PP, EEE, X1, X3, T1, T2, T3, N1, N2, N3, TE123, TE1, X1123, X2123, X3123, Y As Integer
   T1 = 2248
        T2 = 2323
        T3 = 2083
        N1 = 8
        N2 = 5
        N3 = 21
 
        X2 = 0
        PP = 1
        EEE = 0.0001
        Do
            PP = PP / 10
var:        X2 = X2 + PP
            X1 = Math.Exp(N1 * (1 - T1 * (1 - Math.Log(X2) / N2) / T2))
            Y = X1 + X2 - 1
            If Math.Abs(Y) < EEE Then Exit Do
            If Y < 0 Then GoTo var
            X2 = X2 - PP
        Loop While True
 
        TE1 = T1 / (1 - Math.Log(X1) / N1)
 
 
        X2 = 0
        PP = 1
        EEE = 0.0001
        Do
            PP = PP / 10
var1:       X2 = X2 + PP
            X1 = Math.Exp(N1 * (1 - T1 * (1 - Math.Log(X2) / N2) / T2))
            X3 = Math.Exp(N3 * (1 - T3 * (1 - Math.Log(X2) / N2) / T2))
            Y = X1 + X2 + X3 - 1
            If Math.Abs(Y) < EEE Then Exit Do
            If Y < 0 Then GoTo var1
            X2 = X2 - PP
        Loop While True
 
        TE123 = T1 / (1 - Math.Log(X1) / N1)
        X1123 = X1
        X2123 = X2
        X3123 = X3
 
        Label1.Text = X1
        Label2.Text = X2
        Label3.Text = X3
        Label4.Text = TE123
В моем примере кода ответ должен получится TE123=~1976, (X1=40,1, X2=22,3, X3=37,6)=100

Формула по которой все это рассчитывается

1
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
01.01.2016, 22:32
Лучший ответ Сообщение было отмечено ~Jack~ как решение

Решение

Определите
VB.NET
1
Dim X2, PP, EEE, X1, X3, T1, T2, T3, N1, N2, N3, TE123, TE1, X1123, X2123, X3123, Y As Integer
как Double и результат получите. Остается вопрос, насколько он верен.
2
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
01.01.2016, 23:00  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
как Double и результат получите. Остается вопрос, насколько он верен.
Результат получил. Ответ: Te123 очень похож на правду, а вот X1,X2,X3 не очень.

Название: Снимок.PNG
Просмотров: 69

Размер: 2.5 Кб
0
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
01.01.2016, 23:12  [ТС]
Сверил с другими данными и примером - там все совпало, наверно в книге где было решение с примером, была опечатка. Спасибо за помощь!
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
01.01.2016, 23:54
Лучший ответ Сообщение было отмечено ~Jack~ как решение

Решение

VB.NET
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
Imports System.Math
'…
'…
Private EEE As Double = 0.0001
Private Sub solutionMain()
    'Dim T1 As Double = 1853, T2 As Double = 1045, T3 As Double = 1723 'Темперaтуры плaвления соединений 
    'Dim N1 As Integer = 6, N2 As Integer = 3, N3 As Integer = 6 'Число aтомов в молекуле
    Dim T1 As Double = 2248, T2 As Double = 2323, T3 As Double = 2083 'Темперaтуры плaвления соединений 
    Dim N1 As Integer = 8, N2 As Integer = 5, N3 As Integer = 21 'Число aтомов в молекуле
    Dim TE12, X112, X212 As Double
    solution1010(T1, T2, N1, N2, TE12, X112, X212)
    Dim TE13, X113, X313 As Double
    solution1010(T1, T3, N1, N3, TE13, X113, X313)
    Dim TE23, X223, X323 As Double
    solution1010(T2, T3, N2, N3, TE23, X223, X323)
    Dim X1123, X2123, X3123, TE123 As Double
    solution2010(N1, N2, N3, T1, T2, T3, X1123, X2123, X3123, TE123)
    Label6.Text = X1123
    Label7.Text = X2123
    Label8.Text = X3123
    Label9.Text = TE123
End Sub
Private Sub solution1010(ByVal TT1 As Double, ByVal TT2 As Double, _
                         ByVal NN1 As Integer, ByVal NN2 As Integer, _
                         ByRef TE1 As Double, ByRef X1 As Double, ByRef X2 As Double)
    'Опред. состaвa и темп. плaвления эвтектики в 2-х комп.сист.
    X2 = 0
    Dim PP As Double = 1, y As Double
    Do
        PP = PP / 10
        X2 = X2 + PP
        X1 = Exp(NN1 * (1 - TT1 * (1 - Log(X2) / NN2) / TT2))
        y = X1 + X2 - 1
        If Abs(y) < EEE Then Exit Do
        If y < 0 Then GoTo cnt
        X2 = X2 - PP
    Loop While True
    TE1 = TT1 / (1 - Log(X1) / NN1)
End Sub
Private Sub solution2010(ByVal N1 As Integer, ByVal N2 As Integer, ByVal N3 As Integer, _
                         ByVal T1 As Double, ByVal T2 As Double, ByVal T3 As Double, _
                         ByRef X1123 As Double, ByRef X2123 As Double, ByRef X3123 As Double, _
                         ByRef TE123 As Double)
    'Опред. состaвa и темп. плaвления эвтектики в 3-х комп.сист.
    Dim X2 As Double = 0, PP As Double = 1
    Dim X1, X3, Y As Double
    Do
        PP = PP / 10
        X2 = X2 + PP
        X1 = Exp(N1 * (1 - T1 * (1 - Log(X2) / N2) / T2))
        X3 = Exp(N3 * (1 - T3 * (1 - Log(X2) / N2) / T2))
        Y = X1 + X2 + X3 - 1
        If Abs(Y) < EEE Then Exit Do
        If Y < 0 Then GoTo var
        X2 = X2 - PP
    Loop While True
    TE123 = T1 / (1 - Log(X1) / N1)
    X1123 = X1
    X2123 = X2
    X3123 = X3
End Sub
PS. Обратите внимание если сложить X1, X2, X3 то получим 1, т.е. 100%

Добавлено через 10 минут
Почему то метки пообрезались. Вставьте
cnt – строка 31
var – строка 49
2
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
03.01.2016, 00:38  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
Почему то метки пообрезались. Вставьте
cnt – строка 31
var – строка 49
Программа работает, но часто зависает (скорей всего уходит в бесконечный цикл), особенно если вбить большие числа в разные поля (N1,N2,N3, T1, T2, T3). Не знаете как ее можно дополнить/исправить, чтобы не было зависаний?

В код добавил InputBoxы

VB.NET
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
Imports System.Math
Public Class Form1
 
    '…
    '…
    Private EEE As Double = 0.0001
    Private Sub solutionMain()
        'Dim T1 As Double = 1853, T2 As Double = 1045, T3 As Double = 1723 'Темперaтуры плaвления соединений 
        'Dim N1 As Integer = 6, N2 As Integer = 3, N3 As Integer = 6 'Число aтомов в молекуле
        Dim T1 As Double, T2 As Double, T3 As Double 'Темперaтуры плaвления соединений 
        Dim N1 As Integer, N2 As Integer, N3 As Integer 'Число aтомов в молекуле
        T1 = TextBox1.Text
        T2 = TextBox2.Text
        T3 = TextBox3.Text
        N1 = TextBox4.Text
        N2 = TextBox5.Text
        N3 = TextBox6.Text
        Dim TE12, X112, X212 As Double
        solution1010(T1, T2, N1, N2, TE12, X112, X212)
        Dim TE13, X113, X313 As Double
        solution1010(T1, T3, N1, N3, TE13, X113, X313)
        Dim TE23, X223, X323 As Double
        solution1010(T2, T3, N2, N3, TE23, X223, X323)
        Dim X1123, X2123, X3123, TE123 As Double
        solution2010(N1, N2, N3, T1, T2, T3, X1123, X2123, X3123, TE123)
        Label6.Text = X1123
        Label7.Text = X2123
        Label8.Text = X3123
        Label9.Text = TE123
 
 
 
    End Sub
    Private Sub solution1010(ByVal TT1 As Double, ByVal TT2 As Double,
                         ByVal NN1 As Integer, ByVal NN2 As Integer,
                         ByRef TE1 As Double, ByRef X1 As Double, ByRef X2 As Double)
        'Опред. состaвa и темп. плaвления эвтектики в 2-х комп.сист.
        X2 = 0
        Dim PP As Double = 1, y As Double
        Do
            PP = PP / 10
cnt:        X2 = X2 + PP
            X1 = Exp(NN1 * (1 - TT1 * (1 - Log(X2) / NN2) / TT2))
            y = X1 + X2 - 1
            If Abs(y) < EEE Then Exit Do
            If y < 0 Then GoTo cnt
            X2 = X2 - PP
        Loop While True
        TE1 = TT1 / (1 - Log(X1) / NN1)
    End Sub
    Private Sub solution2010(ByVal N1 As Integer, ByVal N2 As Integer, ByVal N3 As Integer,
                         ByVal T1 As Double, ByVal T2 As Double, ByVal T3 As Double,
                         ByRef X1123 As Double, ByRef X2123 As Double, ByRef X3123 As Double,
                         ByRef TE123 As Double)
        'Опред. состaвa и темп. плaвления эвтектики в 3-х комп.сист.
        Dim X2 As Double = 0, PP As Double = 1
        Dim X1, X3, Y As Double
        Do
            PP = PP / 10
var:        X2 = X2 + PP
            X1 = Exp(N1 * (1 - T1 * (1 - Log(X2) / N2) / T2))
            X3 = Exp(N3 * (1 - T3 * (1 - Log(X2) / N2) / T2))
            Y = X1 + X2 + X3 - 1
            If Abs(Y) < EEE Then Exit Do
            If Y < 0 Then GoTo var
            X2 = X2 - PP
        Loop While True
        TE123 = T1 / (1 - Log(X1) / N1)
        X1123 = X1
        X2123 = X2
        X3123 = X3
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        solutionMain()
    End Sub
End Class
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
03.01.2016, 12:51
Конкретные алгоритмы имеют ограничения, которые следуют из постановки задачи. Возможно вы задаете входные данные выходящие за область определения задачи. Возможно, сам код недостаточно корректен.
Для начала нужно определить, где именно в каком месте кода происходит зацикливание. Определить какие данные инициируют это событие. И уже дальше делать выводы.
Самое простое это вставить в подозреваемый цикл счетчик и по достижении некоторого заданного максимального значения организовать аварийный выход из цикла.
1
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
03.01.2016, 16:12  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
Для начала нужно определить, где именно в каком месте кода происходит зацикливание. Определить какие данные инициируют это событие. И уже дальше делать выводы.
Спасибо за отклик. Особой закономерности появления ошибки найти не смог.
Удается воспроизвести при следующих значениях:
T1=324
T2=13
T3=2422
N1=34
N2=21
N3=37

Проверил работу программы в qBasic, там тоже появляется ошибка, qBasic ссылается с ошибкой на этот участок кода:
QBasic/QuickBASIC
1
TE1=TT1/(1-LOG(X1)/NN1)
Был бы благодарен в помощи нахождении ошибки и ее решения. Хотя бы сделать заглушку на неправильный ввод данных.
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
03.01.2016, 16:46
Для начала, исходя из смысла задачи, определите диапазоны допустимых значений N и T, тогда можно говорить и об организации проверки данных при вводе. Например, N1 должно быть в интервале [5,35] и т.д. (вот вы поставили T2=13, но по смыслу это "Темперaтуры плaвления соединений" – это реально?)
При некоторых значениях параметров возможно зацикливание в обеих процедурах (solution1010, solution2010). При вычислениях значения X и PP становятся равными 0, что и приводит к зацикливанию. Нужно предусмотреть аварийный выход из процедуры в такой ситуации.
1
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
03.01.2016, 16:58  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
Например, N1 должно быть в интервале [5,35] и т.д.
Интервал значений в полях T1,T2,T3 = 200-3000, N1,N2,N3 = 1-99
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
03.01.2016, 19:14
С учетом обсуждения.
Вложения
Тип файла: zip solutionNET.zip (67.7 Кб, 5 просмотров)
0
 Аватар для ~Jack~
12 / 12 / 3
Регистрация: 30.11.2010
Сообщений: 157
03.01.2016, 19:31  [ТС]
Цитата Сообщение от ovva Посмотреть сообщение
С учетом обсуждения.
В вашем решении, у меня отказывается ввод данных в некоторые поля, окно по крестику не закрывается, кнопка вычислить не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.01.2016, 19:31
Помогаю со студенческими работами здесь

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

Реализовать цикл с помощью оператора goto
Помогите,пожалуйста, переделать текст программы через goto. Заранее спасибо. Текст программы: #include &lt;vcl.h&gt; #include...

Останавливается цикл, если использовать goto в цикле
вообщем в цикле вместо break использую goto для перехода к другому действию,вот я опасаюсь если я перехожу то цикл останавливается или...

Решить 2 способами: используя цикл с параметром и goto
Есть некоторая зависимость у(х). Х . Задача: вывести для каждого х соответствующий у. Х с шагом 0,05. Как написано в заголовке- надо...

Создать цикл из запроса или как выкрутиться без знаний
Здравствуйте Уважаемые Гуру, Посвященные, Сведующие и просто смертные ставшие на путь к Истине!!! Опять требуется ваша...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru