Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sbornik_zadach_-mogut_prigoditsya_pri_sdache_ek...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
714.03 Кб
Скачать

69. Массив. Найти максимум в одномерном массиве

Option Base 1

Dim a(10) As Single

Private Sub Command1_Click()

n = Val(Text1.Text)

av = Split(Text2.Text, " ")

For i = 1 To n

a(i) = val(av(i - 1))

Next

Max = a(1)

k = 1

For i = 1 To n

If a(i) > Max Then

Max = a(i)

k = i

End If

Next i

Picture1.Print "Максимальный элемент "; Max

Picture1.Print "Его номер "; k

End Sub

70. Сортировка массива.

Const n = 10

Dim a(1 To n) As Byte

Private Sub Command1_Click()

Randomize

For i = 1 To n

a(i) = Int(Rnd * 40)

Picture1.Print a(i)

Next i

End Sub

Private Sub Command2_Click()

Dim r As Byte

For i = 1 To n

For j = 1 To n - 1

If a(j) > a(j + 1) Then

r = a(j)

a(j) = a(j + 1)

a(j + 1) = r

End If

Next j

Next i

For i = 1 To n

Picture2.Print a(i)

Next i

End Sub

71. Массив. Вычислить произведение положительных элементов матрицы

Dim a(50,50) As Single

Private sub command1_click()

n=val(text1.text)

m=val(text2.text)

P=1

For i=0 to n-1

For j=0 to m-1

Txt=”задайте элемент из строки ” & str(i+1) & “ и столбца “ & str(j+1)

A(i,j)=val(inputbox(txt))

Picture1.Print Format (a(i,j), “##.#”);

If a(i,j)>0 then p=p*a(i,j)

Next j

Picture1.print

Next i

Picture1.Print “Произведение положительных”; p

End sub

72. Массив. Транспонирование матрицы (перемены местами строк и столбцов)

Dim a(1 To 2, 1 To 3), b(1 To 3, 1 To 2) As Single

Dim i As Integer, j As Integer

For i = 1 To 2

For j = 1 To 3

a(i, j) = Rnd * 10 + 1

b(j, i) = a(i, j)

Next j

Next i

For i = 1 To 3

For j = 1 To 2

Print b(i, j);

Next j

Print

Next i

73. Вычислить сумму где f={5;-3;1;2}.

Sub proizv(k,z,p)

Dim i as integer

p=1

For i=1 to k

p=p*z(i)

Next

End sub

Private Sub Command1_click()

Dim F(4), F1(4), S,p,p1 as single

Dim i as integer

For i=1 to 4

F(i)=val(inputbox(“Введите f”))

F1(i)=sin(f(i))

Next

Proizv 4,f,p1

Proizv 3,f1,p2

S=p1+p2

Print “Сумма произведений равна”; s

End sub

74. Вычислить выражение c=m!n!/(m+n)!

Процедура-функция для вычисления факториала

Использование функции

Function f(k as integer) as long

Dim I as integer

F=1

for I=1 to k

F=f*I

Next I

End function

Dim c as single

Dim n as integer

Dim m as integer

M=val(inputbox(“Введите M”))

N=val(inputbox(“Введите N”))

C=f(m)*f(n)/f(m+n)

Print “c=”;c

75. Дан текст. Определить количество предложений. Найти количество слов, начинающихся с буквы «п».

На форме в поле Text1 – располагается исходный текст, в поле Text2 – количество предложений, в поле Text3 – количество слов, начинающихся на букву п.

Private Sub Command1_Click()

s1$ = "Привет, Поль! С праздником! С наилучшими пожеланиями Питер."

Text1.Text = s1

ns = Len(s1)

ks = 0 : kp = 0

For i = 1 To ns

a$ = Mid(s1, i, 1)

If (a = ".") Or (a = "?") Or (a = "!") Then kp = kp + 1

Next i

For i = 1 To ns - 2

Select Case i

Case Is = 1

If Mid(s1, i, 1) = "П" Or Mid(s1, i, 1) = "п" Then ks = ks + 1

Case Else

If Mid(s1, i, 2) = " П" Or Mid(s1, i, 2) = " п" Then ks = ks + 1

End Select

Next i

Text2.Text = Str(kp)

Text3.Text = Str(ks)

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

76. даны стороны прямоугольника: a=27018, b=3954. Вычислить его площадь и периметр

Private Sub Command1_Click()

a = 27018

b = 3954

S = a * b 'Площадь

p = 2 * a + 2 * b 'Периметр

Debug.Print S, p

End Sub

77. Компьютер должен перемножить два числа - 167 и 121. Если их произведение превышает 2000, то компьютер должен напечатать текст ПРОИЗВЕДЕНИЕ БОЛЬШОЕ, иначе текст ПРОИЗВЕДЕНИЕ МАЛЕНЬКОЕ. После этого компьютер в любом случае должен напечатать само произведение.

Dim a As Integer

Dim b As Integer

Dim y As Integer

Private Sub Form_Load()

a = 167

b = 121

y = a * b

If y > 20000 Then Debug.Print "ПРОИЗВЕДЕНИЕ БОЛЬШОЕ" _

Else Debug.Print "ПРОИЗВЕДЕНИЕ МАЛЕНЬКОЕ"

Debug.Print y

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]