Лекция 11(7) Примеры программирования задач
.pdfПроцедура кнопки Закрыть
Private Sub CommandButton3_Click() fmArray.Hide ' Закрытие формы End Sub
Лекция 11 Информатика,часть2 |
21 |
Результат выполнения
При запуске Формы выходит окно «Размер массива»
Введено n=7 это значение отразится в Форме
Лекция 11 Информатика,часть2 |
22 |
Алгоритм подсчета количества элементов массива, удовлетворяющих заданному условию
•Подсчитать количество
элементов массива А размерностью М, удовлетворяющих условию A(I)>T.
•Входные данные: M, A(M), T.
Задание начального значения переменной количества K=0. Формула в цикле(количество) К=К+1.
|
Выходные данные: K – количество |
K=0 |
||
|
элементов массива, |
|||
|
|
|||
|
удовлетворяющих условию. |
I=1,M,1 |
||
|
Вспомогательные данные: I |
|||
• |
|
|||
Математическая постановка |
Нет |
|||
|
задачи |
|
|
A(I)>T |
|
|
|
Да |
|
|
|
|
|
|
|
M |
где |
A(I) > T |
K=K+1 |
|
K = å 1 |
|
||
|
I = 1 |
|
|
|
Например: M=5, Т= 2, А(1)=3, А(2)=2, А(3)=-3, А(4)=7, А(5)=1 , тогда К=2
Алгоритм формирования массива из элементов другого массива, удовлетворяющих условию
•Сформировать новый массив В из элементов массива А размерностью N, удовлетворяющих условию A(I)<T.
•Входные данные: N, A(N), T.
Выходные данные: B(J), J – массив В и количество элементов массива.
Вспомогательные данные: I
•Математическая постановка задачи
J = J + 1, B(J ) = åN A(I ) åñëè A(I) < T
I = 1
Задание начального значения индекса нового массива J=0. Формулы в цикле: J=J+1 и В(J)=A(I), если А(I)<T
J= 0 |
I=1,N |
Нет |
A(I)<T |
Да |
J=J+1 |
B(J)=A(I) |
Например: N=5, Т= 2, Массив А: 3, 2, -3, 7,1 , тогда массив В(1)=-3, В(2)=1
Использование типовых алгоритмов и программ для постановки и решения задач
Лекция 11 Информатика,часть2 |
25 |
Задача. Разработать программу определения среднего
балла по экзаменационным дисциплинам. список студентов, получивших в сессию «неуд», количество студентов, сдавших сессию
Последовательность разработки
•Предусмотреть ввод данных: Фамилию, оценки.
•Записать их в ListBox1 ( в столцбы 0, 1, 2).
•Найти сумму элементов по 1 и 2 столбцам ListBox1 и вычислить среднее.
•Если в столбцах 1 и 2 ListBox1 есть оценки «2», соответствующие значения из 0 столбца (фамилии) переписать в ListBox2.
•Подсчитать количество строк ListBox1, в которых нет оценки «2».
•Вывести результаты расчета: средние значения оценок и количество студентов, сдавших сессию, в поля формы.
Лекция 11 Информатика,часть2 |
26 |
Разработка интерфейса
Лекция 11 Информатика,часть2 |
27 |
Текст программы инициализации формы выполняется при загрузке формы.
В ListBox1 (Список1) вводятся заголовки.
Private Sub UserForm_Initialize() With ListBox1
.Clear
.ColumnCount = 3
.ColumnWidths = "50;30;30"
.AddItem "Фамилия"
.List(i, 1) = "Инф"
.List(i, 2) = "Матем" End With
End Sub
Лекция 11 Информатика,часть2 |
28 |
Программа кнопки «Заполнить Список»
Dim N As Integer
Private Sub CommandButton1_Click() fam = TextBox1.Text
inf = TextBox2.Text matem = TextBox3.Text i = TextBox4.Value With ListBox1
.AddItem fam
.List(i, 1) = inf
.List(i, 2) = matem End With
i = i + 1 TextBox4.Value = i End Sub
Лекция 11 Информатика,часть2 |
29 |
Программа кнопки « Вычислить»
Вычисляются суммы баллов по информатике и математике и затем средние оценки
Private Sub CommandButton2_Click()
With ListBox1
N = .ListCount
SumInf = 0: SumMatem = 0
For i = 1 To N - 1
SumInf = SumInf + Val(.List(i, 1))
SumMatem = SumMatem + Val(.List(i, 2))
Next
SrInf = SumInf / N
SrMatem = SumMatem / N
End With
Label9.Caption = Str(SrInf)
Label10.Caption = Str(SrMatem)
End Sub
Лекция 11 Информатика,часть2 |
30 |