|
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Камская государственная инженерно-экономическая академия
“Массивы на VBA”
Выполнил: студент гр.№3101
Павлова Полина
Проверила:Ахмадуллина Р.М
Г.Набережные Челны
Задание 1.
Блок-схема
да нет
Псевдокод.
Началоmassiv (n, a/ Q)
i,n натуральное
Q вещественное
S вещественное
а() массив вещественное
ввод n
цикл для i=1, n
ввод a(i)
всецикл
S=0
если a(1)>=0 то
циклдля i=1, n
S=S+a(i)
Все цикл
Q=S/n
иначе
Q=a(1)^2+a(n)^2
Все если
вывод Q
Конецmassiv.
| A | B | C | D | E | F | G | H |
|
|
|
|
|
| 4,285714 | ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
Sub prm()
Dim i As Byte
Dim n As Byte
Dim S As Single
Dim a() As Single
Dim Q As Single
Sheets("Лист1").Activate
Range("A1").CurrentRegion.Select
n = Selection.Rows.Count
ReDim a(n)
For i = 1 To n
a(i) = Range("A1").Cells(i, 1).Value
Next i
S = 0
If a(1) >= 0 Then
For i = 1 To n
S = S + a(i)
Next i
Q = S / n
Else
Q = a(1) ^ 2 + a(n) ^ 2
End If
Range("C1:C30").Clear
For i = 1 To n
Range("C1").Cells(i, 1).Value = a(i)
Next i
Range("F1").Value = S
Range("H1").Value = Q
End Sub
Процедуры
Sub Massiv()
Dim i As Byte
Dim n As Byte
Dim a() As Single
Dim S As Single
Dim Q As Single
Sheets("Лист1").Activate
Range("A1").CurrentRegion.Select
n = Selection.Rows.Count
ReDim a(n)
Call vvod(a, n)
Range("B1:B30").Clear
'Нахождение summa
MsgBox ("Q=") & summa(a(), n)
'сумма
Call uvelichenie(a, n)
End Sub
Sub vvod(a() As Single, n As Byte)
For i = 1 To n
a(i) = Range("A1").Cells(i, 1).Value
Next i
S = 0
End Sub
Sub vivod(adr As String, a() As Single, n As Byte)
For i = 1 To n
a(i) = Range(adr).Cells(i, 1).Value
Next i
End Sub
Function summa(a() As Single, n As Byte) As Single
Dim Q As Single
If a(1) >= o Then
For i = 1 To n
S = S + a(i)
Next i
Q = S / n
Range("G1").Value = Q
End If
summa = Q
End Function
Sub uvelichenie(a() As Single, n As Byte)
Dim Q As Single
For i = 1 To n
If a(1) <= 0 Then
Q = a(1) ^ 2 + a(n) ^ 2
End If
Next i
Call vivod("C1", a, n)
End Sub
| A | B | C | D | E | F | G | H |
|
|
|
|
|
|
| 4,285714 | |
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Камская государственная инженерно-экономическая академия
“Строки на VBA”
Выполнил: студент гр.№3101
Павлова Полина
Проверила:Ахмадуллина Р.М
Г.Набережные Челны
Выяснить верно ли,что в дан.строке есть подряд идущие три буквы «л»,большие или маленькие.Если это так,все такие тройки удалить.
Sub pr_1()
Dim s As String
Dim q As String
Dim k As Byte
Dim i As Byte
s = InputBox("ввод ллл")
q = InputBox("ввод строки")
k = 0
For i = 1 To Len(q)-2
If Mid(s, 1, 3) = Mid(q, i, 3) Then k = k + 1
Next i
otvet = otvet & Mid(s, 1, 3) & " - " & k & " " & vbCrLf
q = Replace(q, Mid(s, 1, 3), "")
MsgBox otvet
MsgBox q
End Sub
Дата добавления: 2015-11-04; просмотров: 25 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
(по данным Администрации Великого Новгорода. Список граждан, имеющих право на получение земельных участков) | | | -1 |