
Осень 13-весна 14 курс 1-2 ОрТОР (сейчас это называют ТОЛААД) / Информатика / РАСПЕЧАТАТЬ
.docxSub zadacha1()
Dim m(1 To 5) As Integer
Randomize Timer
For i = 1 To 5
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 5
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv1(m())
End Sub
Sub cv1(m1() As Integer)
max = -10000
For i = 1 To 5
If m1(i) < 0 And m1(i) > max Then max = m1(i): k = i
Next i
If max = -10000 Then Debug.Print "вмассивенетотрицательныхчисел" Else Debug.Print "Максимальноеотрицательное "; max; " местовмассиве"; k
End Sub
Sub zadacha2()
Dim m(1 To 5) As Integer
Randomize Timer
For i = 1 To 5
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 5
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv2(m())
End Sub
Sub cv2(m1() As Integer)
s = 0
For i = 1 To 5
If m1(i) < 0 Then Debug.Print "отрицательноечисломассва "; m1(i): s = s + m1(i)
Next i
Debug.Print "ихсумма "; s
EndSub
Sub zadacha3()
Dim m(1 To 5) As Integer
Randomize Timer
For i = 1 To 5
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 5
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv3(m())
End Sub
Sub cv3(m1() As Integer)
s = 0
For i = 1 To 5
If m1(i) > 0 And m1(i) Mod 2 = 0 Then Debug.Print "четноеположительноечисломассва "; m1(i): s = s + m1(i)
Next i
Debug.Print "ихсумма "; s
EndSub
Sub zadacha4()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv4(m())
End Sub
Sub cv4(m1() As Integer)
For i = 1 To 10
For j = 1 To 10
If (m1(i) / 2) <>Int(m1(i) / 2) And (m1(j) / 2) <>Int(m1(j) / 2) Then
If m1(i) < 0 And m1(j) < 0 And m1(i) < m1(j) Then
x = m1(i)
m1(i) = m1(j)
m1(j) = x
End If
End If
Next j
Next i
Debug.Print" массив"
For i = 1 To 10
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha5()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv5(m())
End Sub
Sub cv5(m1() As Integer)
s = 0
a = InputBox("Задайтедиапазон [a;b] Введите a-")
b = InputBox("Задайтедиапазон [a;b] Введите b-")
Debug.Print "a="; a, "b="; b
For i = 1 To 10
If m1(i) >= a And m1(i) <= b Then
d = m1(i)
s = s + d
Debug.Print "Число из диапазона [a;b] - "; d
End If
Next i
Debug.Print "сумма "; s
EndSub
Sub zadacha6()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv6(m())
End Sub
Sub cv6(m1() As Integer)
p = 1
a = InputBox("Задайтедиапазон [a;b] Введите a-")
b = InputBox("Задайтедиапазон [a;b] Введите b-")
Debug.Print "a="; a, "b="; b
For i = 1 To 10
If m1(i) >= a And m1(i) <= b And m1(i) Mod 2 = 0 Then
d = m1(i)
p = p * d
Debug.Print "Число из диапазона [a;b] - "; d
End If
Next i
Debug.Print "произведение "; p
EndSub
Sub zadacha7()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv7(m())
End Sub
Sub cv7(m1() As Integer)
k = 0
For i = 1 To 8
If m1(i) Mod 2 <> 0 Then k = k + 1
If m1(i) Mod 2 <> 0 And k = 2 Then m1(i) = m1(i) * 2: k = 0
Next i
Debug.Print "Получившийся массив"
For i = 1 To 8
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha8()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv8(m())
End Sub
Sub cv8(m1() As Integer)
k = 0
For i = 1 To 8
If m1(i) Mod 2 <> 0 And m1(i) < 0 Then k = k + 1
If m1(i) Mod 2 <> 0 And m1(i) < 0 And k = 2 Then m1(i) = m1(i) * 3: k = 0
Next i
Debug.Print "Получившийся массив"
For i = 1 To 8
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha9()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv9(m())
End Sub
Sub cv9(m1() As Integer)
k = 0
a = 0
s = -1000
p = -1000
For i = 1 To 8
If m1(i) > 0 Then k = k + 1
If m1(i) > 0 And k = 2 Then s = m1(i)
If m1(i) < 0 Then a = a + 1
If m1(i) < 0 And a = 2 Then p = m1(i)
Next i
If s = -1000 Or p = -1000 Then Debug.Print "нетнеобходимыхданныхдлявычисления" Else pr = s * p: Debug.Print "Произведение "; pr
EndSub
Sub zadacha10()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv10(m())
End Sub
Sub cv10(m1() As Integer)
k = 0
While k <> 2
n = m1(8)
For i = 8 To 2 Step -1
m1(i) = m1(i - 1)
Next i
m1(1) = n
k = k + 1
Wend
Debug.Print "Конечный массив"
For i = 1 To 8
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha11()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv11(m())
End Sub
Sub cv11(m1() As Integer)
k = 0
While k <> 3
n = m1(1)
For i = 2 To 8
m1(i - 1) = m1(i)
Next i
m1(8) = n
k = k + 1
Wend
Debug.Print "Конечный массив"
For i = 1 To 8
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha12()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv12(m())
End Sub
Sub cv12(m() As Integer)
For i = 1 To 10
For j = i + 1 To 10
If m(i) Mod 2 <> 0 And m(j) Mod 2 <> 0 And m(j) < m(i) Then
a = m(i)
m(i) = m(j)
m(j) = a
End If
Next j
Next i
Debug.Print "Конечныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha13()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv13(m())
End Sub
Sub cv13(m() As Integer)
For i = 1 To 9
For j = i + 1 To 10
If m(i) < 0 Then
If m(j) < 0 Then
If m(j) > m(i) Then
a = m(i)
m(i) = m(j)
m(j) = a
End If
End If
End If
Next j
Next i
Debug.Print "Конечныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha14()
Dim m(1 To 10) As Integer
Randomize Timer
For i = 1 To 10
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 10
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv14(m())
End Sub
Sub cv14(m1() As Integer)
For i = 1 To 9
For j = i + 1 To 10
If m1(i) > 0 And m1(i) Mod 2 <> 0 Then
If m1(j) > 0 And m1(j) Mod 2 <> 0 Then
If m1(j) < m1(i) Then
a = m1(i)
m1(i) = m1(j)
m1(j) = a
End If
End If
End If
Next j
Next i
Debug.Print "Конечныймассив"
For i = 1 To 10
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha15()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv15(m())
End Sub
Sub cv15(m1() As Integer)
max = -10000
For i = 1 To 8
If m1(i) Mod 2 = 0 And m1(i) > max Then max = m1(i): k = i
Next i
If max = -10000 Then Debug.Print "нетучетныхчиел" Else Debug.Print "Максимальноечетное "; max, "егоместо"; k
Sub zadacha16()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv16(m())
End Sub
Sub cv16(m1() As Integer)
max = -10000
maxi = -10000
For i = 1 To 8
If m1(i) Mod 2 = 0 And m1(i) > max Then max = m1(i)
If m1(i) Mod 2 <> 0 And m1(i) > maxi Then maxi = m1(i)
Next i
If max = -10000 Or maxi = -10000 Then Debug.Print "нетутребуемыхчисел" Else p = max * maxi: Debug.Print "Произведение "; p
EndSub
Sub zadacha17()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv17(m())
End Sub
Sub cv17(m1() As Integer)
max = -10000
maxi = -10000
For i = 1 To 8
If m1(i) Mod 2 = 0 And m1(i) > max Then max = m1(i): k = i
If m1(i) Mod 2 <> 0 And m1(i) > maxi Then maxi = m1(i): Z = i
Next i
If max = -10000 Or maxi = -10000 Then Debug.Print "нетутребуемыхчисел" Else
d = m1(k): m1(k) = m1(Z): m1(Z) = d
Debug.Print" массив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha18()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv18(m())
End Sub
Sub cv18(m1() As Integer)
max = 10000
maxi = -10000
For i = 1 To 8
If m1(i) > 0 And m1(i) < max Then max = m1(i)
If m1(i) Mod 2 <> 0 And m1(i) > maxi And m1(i) < 0 Then maxi = m1(i)
Next i
If max = -10000 Or maxi = -10000 Then Debug.Print "нетутребуемыхчисел" Else p = max * maxi: Debug.Print "Произведение "; p
EndSub
Sub zadacha19()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv19(m())
End Sub
Sub cv19(m1() As Integer)
k = 0
y = 0
p = 0
h = 0
For i = 1 To 8
If m1(i) < 0 Then k = k + 1
If m1(i) < 0 And k = 2 Then p = p + m1(i): k = 0
If m1(i) > 0 Then y = y + 1
If m1(i) > 0 And y = 2 Then h = h + m1(i): y = 0
Next i
Debug.Print "сумма отрицательных "; p, "сумма положительных"; h
EndSub
Sub zadacha20()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv20(m())
End Sub
Sub cv20(m1() As Integer)
k = 0
y = 0
p = 0
h = 0
For i = 1 To 8
If m1(i) Mod 2 = 0 Then k = k + 1
If m1(i) Mod 2 = 0 And k = 2 Then p = p + m1(i): k = 0
If m1(i) Mod 2 <> 0 Then y = y + 1
If m1(i) Mod 2 <> 0 And y = 2 Then h = h + m1(i): y = 0
Next i
Debug.Print "суммачтных "; p, "сумманечетных "; h
EndSub
Sub zadacha21()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv21(m())
End Sub
Sub cv21(m1() As Integer)
k = 0
y = 0
p = 1
For i = 1 To 8
If m1(i) Mod 2 = 0 And m1(i) < 0 Then k = k + 1
If m1(i) Mod 2 = 0 And k = 2 Then p = p * m1(i): k = 0
Next i
Debug.Print "произведение "; p
EndSub
Sub zadacha22()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv22(m())
End Sub
Sub cv22(m1() As Integer)
k = 0
y = 0
p = 1
с = 0
For i = 1 To 8
If m1(i) Mod 2 <> 0 And m1(i) > 0 Then k = k + 1
If m1(i) Mod 2 <> 0 And k > 2 Then p = p * m1(i): k = 0: c = c + 1
Next i
If c = 0 Then Debug.Print "нетунужныхчисел" Else Debug.Print "произведение "; p
EndSub
Sub zadacha23()
Dim m(1 To 7) As Integer
Randomize Timer
For i = 1 To 7
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 7
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv23(m())
End Sub
Sub cv23(m1() As Integer)
k = 7
c = 1
For i = 1 To k
For j = k To i Step -1
If i <> j And i <> j - 1 And m1(i) > 0 And m1(j) > 0 Then k = j - 1: s = m1(i): m1(i) = m1(j): m1(j) = s: Exit For
Next j
Next i
Debug.Print "Новыймассив"
For i = 1 To 7
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha24()
Dim m(1 To 7) As Integer
Randomize Timer
For i = 1 To 7
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 7
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv24(m())
EndSub
Sub cv24(m1() As Integer)
k = 7
c = 1
For i = 1 To k
For j = k To i Step -1
If i <> j And i <> j - 1 And m1(i) Mod 2 = 0 And m1(j) Mod 2 = 0 Then k = j - 1: s = m1(i): m1(i) = m1(j): m1(j) = s: Exit For
Next j
Next i
Debug.Print "Новыймассив"
For i = 1 To 7
Debug.Printm1(i);
Next i: Debug.Print: Debug.Print
EndSub
Sub zadacha25()
Dim m(1 To 8) As Integer
Randomize Timer
For i = 1 To 8
m(i) = Int(Rnd() * 100) + 1 - 50
Next i
Debug.Print "Исходныймассив"
For i = 1 To 8
Debug.Printm(i);
Next i: Debug.Print: Debug.Print
Call cv25(m())
EndSub
Sub cv25(m1() As Integer)
For i = 1 To 8
If m1(i) > 0 Then l = m1(i): Exit For
Next i
For i = 1 To 8
If m1(i) < 0 Then g = m1(i): Exit For
Next i
p = l * g
Debug.Print "произведение "; p
EndSub