Dim I As Integer, J As Integer

N = Val(TextBox1)

M = Val(TextBox2)

Redim A(1 To N, 1 To M)

For I = 1 To N

For J = 1 To M

A(I, J) = InputBox(“A(“ + Str(I) +”,” + Str(J) + “)=”)

Next J

Next I

End Sub

------------------------------------------

Private Sub CommandButton2_ Click()

Dim I As Integer, J As Integer

Redim B(1 To N)

For I = 1 To N

B(I) = 0

For J = 1 To M

If A(I, J) > 0 Then B(I) = B(I) + A(I, J)

Next J

Next I

End Sub

------------------------------------------

Private Sub CommandButton3_ Click()

Dim I As Integer

For I = 1 To N

ListBox1.Additem B(I) ‘ вывод элементов массива B в ListBox1

Next I

End Sub

Dim I As Integer, J As Integer - student2.ru

 
На форму нанесены элементы управления: ListBox1, TextBox1, TextBox2,

Label1, Label2, Label3, CommandButton1, CommandButton2,

CommandButton3.

Свойство Caption изменено у элементов Label1, Label2, Label3,

Commandbutton1, CommandButton2, CommandButton3.

Шестое задание. Пользовательские процедуры и функции.

Задачи заданий 1 – 5 выполнять с использованием пользовательских процедур и функций.

Пример15. Вычислить площадь треугольника со сторонами a, b, c.

Код

Dim a As Single, b As Single

Dim c As Single, y As Single

Private Function PLT(st1 As Single, st2 As Single, st3 As Single) As Single

Dim pp As Single

pp = (st1 + st2 + st3)/2

pp = pp * (pp – st1) * (pp – st2) * (pp – st3)

If pp <= 0 Then

MsgBox “Неверно заданы значения параметров”, 16, “ошибка”

Else

PLT = Sqr(pp)

End If

End Function

--------------------------------------

Private Sub CommandButton1_Click()

a = Val(TextBox1)

b = Val(TextBox2)

c = Val(TextBox3)

y = PLT(a, b, c)

TextBox4 = Str(y)

End Sub

Private Sub Commandbutton2_Click()

TextBox1 = “ “

TextBox2 = “ “

TextBox3 = “ “

TextBox4 = “ “

End Sub

Dim I As Integer, J As Integer - student2.ru

 
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, TextBox4, Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

Пример16. Вычислить сумму двух векторов A и B размерности N.

Результат получить в виде вектора С.

ci = ai + bi

Код

Dim A() As Single, B() As Single, I As Integer

Dim C() As Single, N As Integer

Private Sub Vvod(A() As Single, N As Integer)

For I = 1 to N

A(I) = InputBox(“Введите исходный массив”)

Next I

End Sub

Private Sub Racshet(A() As Single, B() As Single, C() As Single, N As Integer)

For I = 1 to N

C(I) = A(I) + B(I)

Next I

End Sub

Private Sub Viwod(C() As Single, N As Integer)

For I = 1 to N

ListBox1.Additem C(I)

Next I

End Sub

Private Sub CommandButton1_Click()

N = Val(TextBox1)

ReDim A(1 To N) : ReDim B(1 To N) : ReDim C(1 To N)

Call Vvod(A(), N)

Call Vvod(B(), N)

Call RaschetA(), B(), C(), N)

Call Viwod(C(), N)

End Sub

Dim I As Integer, J As Integer - student2.ru

 
На форму нанесены элементы управления: ListBox1, TextBox1, TextBox2, Label1, Label2, Label3, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, Label3,

CommandButton1.

Седьмое задание. Файлы.

1. Создать файл, каждая запись которого имеет структуру: название товара, количество товара, цена за единицу. Выдать ведомость товара, количество которого меньше заданного значения А.

2. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, профессия, стаж в годах. Выдать ведомость сотрудников, стаж которых больше заданного значения А.

3. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, наличие детей, зарплата. Выдать ведомость сотрудников, не имеющих детей.

4. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер курса, проживание. Выдать ведомость студентов, проживающих в общежитии.

5. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, экзаменационные оценки. Выдать ведомость отличников.

6. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, экзаменационные оценки. Выдать ведомость неуспевающих студентов.

7. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, аттестация дисциплин. Выдать ведомость не аттестованных студентов

8. Создать файл, каждая запись которого содержит информацию о компьютере: марка, объем винчестера, объем оперативной памяти, быстродействие. Выдать список компьютеров с заданным быстродействием.

9. Создать файл, каждая запись которого содержит информацию об автомобиле: название модели, год выпуска, цена, цвет. Выдать список автомобилей, цена которых превышает заданную цену А.

10. Создать файл, каждая запись которого содержит информацию о лекарствах, хранящихся на аптечном складе: название, количество, стоимость. Выдать список лекарств, стоимость которых не превышает заданную цену А.

11. Создать файл, каждая запись которого содержит информации о лекарствах, хранящихся в аптеках города: номер аптеки, названия, срок годности. Выдать список просроченных лекарств.

12. Создать файл, каждая запись которого содержит информацию о рейсах самолетов: номер рейса, пункт назначения, время прибытия, время отправления. Выдать информацию о рейсах самолетов, время отправления которых находится в заданном промежутке времени.

Пример17. Создать файл, каждая запись которого имеет структуру:

фамилия, имя, отчество, стаж, наличие детей.

Выдать ведомость сотрудников, имеющих двух детей.

Код

Private Type B

Fam As String *30

Name As String *15

Ots As Striing *15

Stag As Integer

Deti As Integer

End Type

Dim I As Integer

Dim N As String *3

Dim A As B

Dim Fih As Integer

Dim Fim As String *40

---------------------------------------

Private Sub CommandButton1_Click()

Fih = FreeFile()

Fim = InputBox(“Введите физическое имя файла”)

Open Fim for Random Access Write As #Fih Len = Len(A)

I = 0

Do

N = InputBox(“введи N”)

If N = “***” Then Exit Do

I = I + 1

A.Fam = InputBox(“введи фамилию”)

A.Name = InputBox(“введи имя”)

A.Ots = InputBox(“введи отчество”)

A.Stag = IuputBox(“введи стаж”)

A.Deti = InputBox(“введи количество детей”)

Put #Fih, I, A

Loop

Close #Fih

End Sub

--------------------------------------

Private Sub CommandButton2_Click()

Fih = FreeFile()

Fim = InputBox(“Введи физическое имя файла”)

Open Fim for Random Access Read As #Fih Len = Len(A)

I = 0

Do While Not Eof(Fih)

I = I + 1

Get #Fih, I, A

If A.Deti = 2 Then

ListBox1.Additem A.Fam ‘ вывод фамилии в окно ListBox1

Listbox2.Additem A.Name ‘ вывод имени в окно ListBox2

ListBox3.Additem A.Ots ‘ вывод отчества в окно ListBox3

End If

Loop

Close #Fih

End Sub

Dim I As Integer, J As Integer - student2.ru

 
На форму нанесены элементы управления: ListBox1, ListtBox2, ListtBox3, Label1, Label2, Label3, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, Label3, CommandButton1, CommandButton2.

РАЗНЫЕ ЗАДАЧИ

Пример18. Вычислить сумму и количество цифр целого числа.

Код

Private Sub CommandButton1_Click()

Dim S As Integer, D As Integer, K As Integer

Dim I As Integer, N As Integer, C As String*1

N = Len(TextBox1)

S = 0 : K = 0

For I = 1 To N

C = Mid(TextBox1, I, 1)

D = Val(C)

S = S + D

K = K +1

Next I

TextBox2 = Str(S)

TextBox3 = Str(K)

End Sub

Dim I As Integer, J As Integer - student2.ru

На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3,

Label1, Label2, Label3, CommandButton1.

Свойство Caption изменено у элементов: Label1, Label2, Label3,

CommandButton1.

Пример19. Каким прилагательным можно охарактеризовать тот или иной

возраст человека.

Субъективное представление отражает следующая таблица

менее 15 лет 15 – 30 лет 31 – 45 лет 46 – 60 лет больше 60 лет
детский молодой средний пожилой преклонный

Код

Private Sub CommandButton1_Click()

Dim let As Integer, vozrast As String

let = Val(TextBox1)

Select Case let

Case Is < 15 : vozrast = “детский”

Case 15 To 30 : vozrast = “молодой”

Case 31 To 45 : vozrast = “средний”

Case 46 To 60 : vozrast = “пожилой”

Case Is > 60 : vozrast = “преклонный”

End Select

TextBox2 = vozrast

End Sub

Dim I As Integer, J As Integer - student2.ru

На форму нанесены элементы управления: Label1, Label2, TextBox1,

TextBox2, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2,

CommandButton1.

Пример20 Найти сумму ряда с заданной точностью Е, общий член которого Dim I As Integer, J As Integer - student2.ru .

Для нахождения рекуррентной формулы вычислим отношение следующего члена ряда к предыдущему:

Dim I As Integer, J As Integer - student2.ru . Отсюда Dim I As Integer, J As Integer - student2.ru . Найдем первый член ряда Dim I As Integer, J As Integer - student2.ru .

Блок схема алгоритма

Dim I As Integer, J As Integer - student2.ru

Код

Private Sub CommandButton1_Click()

Dim Е As Single,
Dim n As Integer
Dim S As Single

Dim An As Single

E= Val(TextBox1)

S=0

n=1

An=1/3

Do While An>E

S=S+An

n=n+1

An=An*(n+1)/2/(2*n+1)

Loop

TextBox2 = Str(S)

End Sub

Dim I As Integer, J As Integer - student2.ru

На форму нанесены элементы управления: Label1, Label2, TextBox1,

TextBox2, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, CommandButton1.

Пример21 Дан массив. Упорядочить его элементы по убыванию. Применим сортировку массива методом пузырька.

Сортировка методом пузырька - самый простой алгоритм сортировки.

Сортировка методом пузырька (по убыванию) работает следующим образом: в итерации цикла берётся самый первый элемент и сравнивается со следующим. Если первый элемент меньше, то элементы меняются местами. Затем происходит сравнение второго с третьим и т.д. После первой итерации цикла в конце оказывается наименьший элемент. После второй итерации на предпоследней позиции оказывается второй по величине элемент. Всего в цикле необходимо произвести на одну итерацию меньше количества элементов в массиве.

Блок-схема алгоритма

Dim I As Integer, J As Integer - student2.ru

Код

Dim A() As Single, I As Integer, N As Integer

Private Sub CommandButton1_Click()

N = Val(TextBox1)

ReDim A(1 To N)

For I = 1 To N

A(I) = Val(InputBox("Введите массив"))

ListBox1.AddItem "A(" + Str(I) + ")=" + Str(A(I))

Next I

End Sub

Private Sub CommandButton2_Click()

For J% = 1 To N - 1

For I = J + 1 To N

If A(I) > A(J) Then

v! = A(I)

A(I) = A(J)

A(J) = v

End If

Next I

Next J

For I = 1 To N

ListBox2.AddItem "A(" + Str(I) + ")=" + Str(A(I))

Next I

End Sub

Dim I As Integer, J As Integer - student2.ru

На форму нанесены элементы управления: ListBox1, ListBox2, TextBox1, Label1, Label2, Label3, CommandButton1, CommandButton2.

Варианты контрольных работ для студентов заочной формы обучения

Контрольная работа состоит из трех заданий:

1. Реферативный ответ на первое задание должен содержать полное раскрытие темы на 8-10 печатных листах формата А4.

2.Задача на составление алгоритма линейной структуры. Решение данного задания должно содержать блок-схему и словесное описание алгоритма, листинг программы и рисунок с формой.

3.Задача на составление алгоритма сложной структуры. Решение данного задания должно содержать блок-схему и словесное описание алгоритма, листинг программы и рисунок с формой. (Для отображения формы используйте клавишу PrtScr, которая позволяет сфотографировать активный рабочий стол).

Выбор варианта для контрольной работы осуществляется по последней цифре зачетки.

Для студентов, в учебном плане которых информатика разбита на два семестра, данная контрольная работа выполняется во втором семестре и состоит из двух заданий – второго и третьего.

Варианты контрольных работ

Первое задание

1. Язык как способ представления информации, двоичная форма представления информации, ее особенности и преимущества.

2. История развития ЭВМ.

3. Современное состояние электронно-вычислительной техники.

4. Ноутбук – устройство для профессиональной деятельности.

5. WWW. История создания и современность.

6. Устройства ввода информации.

7. Игровые программы (виды, влияние на человека, рассмотреть любые три программы, представляющие разные жанры).

8. Офисные программы (системы автоматизированных вводов документов, электронные переводчики).

9. Информатика и законы естественных наук.

10. Правонарушения в сфере информационных технологий.

Второе задание

1. Вычислите значение функции Dim I As Integer, J As Integer - student2.ru

2. Найдите координаты вершины параболы Dim I As Integer, J As Integer - student2.ru

3. Вычислите расстояние между двумя точками, лежащими в пространстве Dim I As Integer, J As Integer - student2.ru и Dim I As Integer, J As Integer - student2.ru .

4. Вычислите время t, за которое физическое тело пройдет расстояние S с постоянной скоростью V.

5. Вычислите время свободного падения тела с высоты h (h>0).

6. Вычислите площадь круга по заданному значению диаметра d.

7. Вычислите объем параллелепипеда, если известны все его измерения.

8. Вычислите значение функции Dim I As Integer, J As Integer - student2.ru .

9. По координатам трех вершин некоторого треугольника найти его периметр.

10. Вычислите значение функции Dim I As Integer, J As Integer - student2.ru .

Третье задание

1. Дан одномерный массив А размерности N. Найти сумму положительных элементов и их количество.

2. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В и их произведение.

3. Дан одномерный массив А размерности N . Найти отношение максимального элемента к минимальному.

4. Дан одномерный массив А размерности N. Поменять местами максимальный и минимальный элементы.

5. Дан одномерный массив А размерности N. Найти сумму отрицательных элементов, расположенных между максимальным и минимальным.

6. Дан одномерный массив размерности N. Найти произведение элементов, расположенных до максимального и количество элементов после него.

7. Дан одномерный массив А размерности N. Найти максимальный и минимальный элементы и их индексы.

8. Дан одномерный массив А размерности N. Найти среднее арифметическое элементов, расположенных между максимальным и минимальным.

9. Дан одномерный массив А размерности N. Найти произведение положительных элементов, расположенных между максимальным и минимальным.

10. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В, расположенных между максимальным и минимальным.

ЛИТЕРАТУРА

1. Басков Н.Н., Лебединская А.Р. Visual Basic for Applications. Учебный практикум. Ростов – на - Дону, 2008г.

2. Волченков Н.Г. Программирование на Visual Basic 6. Части 1, 2, 3. М.: ИНФРА-М, 2000г.

3. Стефен Моррис. Visual Basic 5. Ростов – на – Дону: Феникс, 1977г.

4. Алиев В.К. Visual Basic for Application. Информатика в задачах,

примерах, алгоритмах. СОЛОН-Р, Москва, 2001г.

Наши рекомендации