Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 11(7) Примеры программирования задач

.pdf
Скачиваний:
19
Добавлен:
03.06.2015
Размер:
274.22 Кб
Скачать

Процедура кнопки Закрыть

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