КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Dim I As Integer, J As Integer
Do Loop Do Loop Loop Do End If Else < операторы2>] Конструкции в квадратных скобках могут отсутствовать.
Оператор выбора: Select Case <.переменная> Case <значение1>: <операторы1> ... Case <значениеN – 1>: <операторыN – 1> [ Case Else: <операторыN> ]: End Select
Операторы цикла:
For < параметр цикла > = < Нач.Зн > To < Кон.Зн. > [ Step < Зн.Ш >] < операторы> Next < параметр цикла > (Зн.Шага по умолчанию равно +1, Exit For – преждевременное прерывание цикла).
<операторы> (повторяется до тех пор, пока не встретится оператор: Exit Do)
Do While < условие > < операторы > < операторы> Loop While < условие > Do Until < условие > < операторы > < операторы> Loop Until < условие >
ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ (ПОЛЬЗОВАТЕЛЬСКИЕ)
Среди процедур различают процедуры обработки событий и процедуры общего назначения. Имя процедуры обработки событий должно состоять из имени объекта и имени события, разделенные символом подчеркивания. Заголовок описания пользовательской процедуры содержит имя или имя и список формальных параметров. При передаче параметров по значению используется ключевое слово: By Val, при этом передается копия переменной и процедура не изменяет оригинальную переменную. Передача переменных по ссылке дает процедуре доступ к оригиналу переменной, что позволяет изменить ее значение. Sub <имя>(<список формальных параметров>) <оператор1> <оператор2> ... End Sub Обращение происходит при помощи оператора – Call<имя>, если процедура не содержит формальных параметров, или Call<имя>(<список фактических параметров>)
Заголовок пользовательской функции содержит кроме имени и списка формальных параметров, еще и тип имени функции. Function <имя>(<список формальных параметров>) As <тип> <оператор1> <оператор2> ... имя = выражение End Function
Обращение происходит при помощи указателя функции - <имя>(<список фактических параметров>).
ФАЙЛЫ
Реализуется три типа доступа к файлам: · последовательный – для чтения и записи текстовых файлов, · произвольный – для чтения и записи текста или структурированных двоичных файлов с записями фиксированной длины, · двоичный - для чтения и записи произвольно структурированных файлов.
Открытие файла произвольного доступа: Open <.имя файла> For Random Access ДОСТУП As # <номер файла> Len= <длина записи>, где параметр Access задает режим доступа к файлу: Read – чтение, Write - запись, номер файла (от 1 до 255) определяется с помощью функции FreeFile().
Для записи используется оператор: Put #<номер файла>, <номер записи>, <переменная> Для чтения используется оператор: Get #<номер файла>, <номер записи>, <переменная>
Закрытие файла: Close #<номер файла>.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ Требуется разработать блок-схему или словесное описание алгоритма, создать проект в VBA
Первое задание. Линейное программирование.
1. Вычислить величину Y:
2. Вычислить величину Y:
3. Вычислить величины U и V:
4. Вычислить величину Y:
5. Вычислить площадь треугольника по формуле Герона:
где - стороны треугольника.
6. Вычислить расстояние между двумя точками М1(х1,y1) и М2(х2,y2) на плоскости:
7. Вычислить сумму, разность, произведение, частное двух чисел.
8. Вычислить объем правильной треугольной пирамиды: , где h – высота, а – сторона основания пирамиды.
9. Найти координаты вершины параболы
10. По двум катетам найти гипотенузу и площадь прямоугольного треугольника.
11. Поменять местами переменные, находящиеся в двух текстовых полях экранной формы.
12. В трех текстовых полях экранной формы находятся фамилия, имя, отчество. Получить в четвертом поле фамилия с инициалами.
13. В текстовом поле экранной формы находится дата рождения. Получить в трех текстовых окнах день, месяц, год рождения.
Пример8. Создать проект для задачи примера1: Вычислить среднее арифметическое и среднее геометрическое двух неотрицательных чисел: А, В.
Код
Private Sub CommandButton1_Click() Dim A As Single, B As Single Dim X As Single, Y As Single A = Val(TextBox1) B = Val(TextBox2) X = (A + B) / 2 Y = Sqr(A*B) TextBox3 = Str(X) TextBox4 = Str(Y) End Sub -------------------------------------- Private Sub CommandButton2_Click() TextBox1 = “ “ TextBox2 = “ “ TextBox3 = “ “ TextBox4 = “ “ End Sub
Свойство Caption изменено у элементов Label1, Label2, Label3, Label4, CommandButton1,CommandButton2. Пример9. Спроектируйте приложение, которое выдает три числа, количество суток оставшихся до ближайших критических точек трех биоритмов человека: физического (период 23 дня), эмоционального (период 28 дней), интеллектуального (период 33 дня).
Код
Private Sub CommandButton1_ Click()
Dim TD As Date ‘ TD – текущая дата Dim DR As Date ‘ DR – день рождения Dim PD As Long ‘ PD – количество прожитых дней TD = Date DR = TextBox1 PD = TD – DR TextBox2 = Str(22 – PD Mod 23) + “дней” TextBox3 = Str(27 – PD Mod 28) + “дней” TextBox4 = Str(32 – PD Mod 33) + “дней” Label1.Caption = Str(TD)
End Sub
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3,TextBox4, CommandButton1, Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10. Свойство Caption изменено у элементов: Label2, Label3, Label4, Label5, Labe6, Label7, Label8, Label9, Label10, CommandButton1.
Второе задание. Программирование ветвлений. 1. Вычислить величину Y:
2. Рассчитать заработную плату сотруднику с учетом подоходного налога:
Р = Зарп – Н, где Зарп – зарплата без учета подоходного налога (начислено) Н - подоходный налог Р - зарплата с учетом подоходного налога (к выдаче)
3. Рассчитать коэффициент К, изменяющего премиальное вознаграждение работника в зависимости от выполнения плана работы Р:
4. Вычислить площадь геометрических фигур:
5. Вычислить величину Y:
где z = x2+5x.
6. Вычислить величину Y:
7. Вычислить величину Z:
8. Вычислить величину Y:
9. Если X, Y, Z упорядочены по возрастанию, то удвоить каждое из них, иначе заменить числа их модулями.
10. Если X, Y, Z упорядочены по убыванию, то заменить числа их модулями, иначе каждое из чисел разделить на 3.
11. Найти среди заданных чисел a, b, c, d количество положительных и количество отрицательных.
12. Если остаток при делении заданного числа на 3 больше 1, то утроить это число, иначе оставить без изменения.
13. Даны три произвольные стороны треугольника, Выдать сообщение, можно ли такой треугольник построить.
Пример10. Вычислить величину Т:
Блок – схема алгоритма задачи:
Private Sub CommandButton1_Click()
Dim X As Single, Y As Single Dim A As Single, T As Single X = Val(TextBox1) Y = Val(TextBox2) A = Val(TextBox3) If A = 1 Then If X > Y Then T = X Else T = Y End If Else If A > 1 Then T = X * X + Y * Y Else T = Abs(X + Y) End If End If TextBox4 = Str(T)
End Sub --------------------------------------- Private Sub CommandButton2_Click() Text Box1 = “ “ Text Box2 = “ “ Text Box3 = “ “ Text Box4 = “ “
End Sub
Свойство Caption изменено у элементов: Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.
Третье задание Программирование циклов. 1. Вычислить величину Y:
Y = n! (n! = n)
2. Дано натуральное n. Вычислить значение функции:
для x = 1, 1.1, 1.2,…, 1+0.1n
3. Вычислить Y:
4. Вычислить число , пользуясь рядом Грегори:
(100 членов)
5. Определить число Фибоначчи с номером к. (используются формулы ; ; )
6. Вычислить значение по формуле:
,
7. Вычислить с точностью Е, используя итерационную формулу
,
8. Вычислить значение ряда с заданной точностью Е
9. Вычислить сумму S = 1 + 2 + 3 + ….. Вычисления прекратить, если значение S превысит заданное значение А.
10. Вычислить значения функции в заданном интервале
Пример11. Вычислить величину:
Блок – схема алгоритма
+ -
Код
Private Sub СommandButton1_Click()
Dim p As Single, i As Integer Dim y As Single, n As Integer n = Val(TextBox1) p = 1 For i = 1 To n p = p*i / (i + 1) Next i y = 1 + p TextBox2 = Str(y)
End Sub
Private Sub CommandButton2_Click()
TextBox1 = “ “ TextBox2 = “ “
End Sub
Свойство Caption изменено у элементов Label1, Label2, CommandButton1, CommandButton2.
Пример12. Вычислить значение ряда с точностью Е
Блок – схема алгоритма
Код
Private Sub CommandButton1_Click()
Dim х As Single, E As Single, U As Single Dim n As Integer, Z As Single, Y As Single x = InputBox(“введи x”) E = InputBox(“введи E“) Y = 0: U = 1: n = 1 Do While abs(U)> E Y = Y + U: U = U*x / n: n = n +1 Loop Z = exp(x) Text Box1 = Str(Y) Text Box2 = Str(Z)
End Sub
Свойство Caption изменено у элементов Label1, Label2, CommandButton1.
Четвертое задание. Одномерные массивы (векторы). 1. Даны два вектора А и В размерности N. Вычислить косинус угла между ними.
2. Дан одномерный массив А размерности N. Найти сумму положительных элементов, произведение отрицательных элементов.
3. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В.
4. Дан одномерный массив А размерности N. Найти отношение максимального элемента к минимальному.
5. Дан одномерный массив А размерности N. Поменять местами максимальный и минимальный элементы.
6. Дан одномерный массив А размерности N. Найти сумму элементов, расположенных между максимальным и минимальным.
7. Дан одномерный массив А размерности N. Найти произведение элементов, расположенных до максимального, и количество после минимального.
8. Дан одномерный массив А размерности N. Найти среднее арифметическое элементов, расположенных между максимальным и минимальным.
9. Дан одномерный массив А размерности N. Если первый элемент массива неотрицателен, то умножить все элементы на минимальный, в противном случае – на максимальный.
10. Вычислить значение многочлена, используя формулу Горнера:
11. Дан одномерный массив А размерности N. Получить массив В, записанный в обратном порядке.
12. Дан одномерный массив А размерности N. Получить массив В, элементы которого расположены в порядке возрастания.
Пример13. Создать проект для задачи примера4. Код
Dim N As Integer, i As Integer Dim X() As Single, Y As Single --------------------------------------- Private Sub CommandButton1_Click()
N = Val(TextBox1) Redim X(1 to N) For i = 1 To N X(i) = InputBox(“введи исходные данные – массив”) Next i Y = 0 For i = 1 To N Y = Y + X(i) Next i Y = Y / N ТextBox2 = Str(Y)
End Sub .
CommandButton1. Свойство Caption изменено у элементов Label1, Label2. . Пример14. Дан одномерный массив А размерности N. Найти наибольший элемент и его индекс.
Блок-cхема алгоритма
Код
Dim A() As Single, MAX As Single Dim N As Integer, K As Integer, I As Integer -------------------------------------------- Private Sub CommandButton1_Click()
N = Val(TextBox1) Redim A(1 To N) For I = 1 To N A(I) = InputBox (“введи массив A”) Next I MAX = A(1): K = 1 For I = 1 To N If A(I) > MAX Then MAX = A(I): K = I End If Next I TextBox1 = Str(MAX) TextBox2 = Str(K)
End Sub
Свойство Caption изменено у элементов Label1, Label2, Label3.
Пятое задание. Двумерные массивы (матрицы). 1. Вычислить сумму элементов каждой строки матрицы А размерности N*M. Результат получить в виде вектора В. M Вi = ∑ Aij, i:= 1, 2, …, N J=1
2. Вычислить произведение элементов каждой строки матрицы А размерности N*M. Результат получить в виде вектора В.
M Вi = ∏ Aij, i:= 1, 2, …, N J=1
3. Вычислить сумму элементов каждого столбца матрицы А размерности N*M. Результат получить в виде вектора В. N Вj = ∑ Aij, j = 1, 2, …, M i=1
4. Вычислить произведение элементов каждого столбца матрицы А размерности N*M. Результат получить в виде вектора В.
N Вj = ∏ Aij, j = 1, 2, …, M i=1
5. Вычислить произведение матрицы А размерности N*M на вектор В. Результат получить в виде вектора С.
M Ci = ∑ Aij * Bj, i = 1, 2, …, N J=1
6. Вычислить сумму двух матриц А и В размерности N*M. Результат получить в виде матрицы С.
Cij = Aij + Bij, i = 1,2, …, N j = 1,2, …, M
7. Найти максимальный элемент и его индексы в матрице А размерности N*M.
8. Найти минимальный элемент и его индексы в матрице А размерности N*M.
9. Найти среднее арифметическое элементов матрицы A размерности N*M.
10. К элементам K-й строки прибавить элементы L-й строки, умноженные на число В, матрицы А размерности N*M. Результат получить в виде вектора С.
Cj = Akj + B*Alj, J = 1,2, …, M
11. К элементам K-го столбца прибавить элементы L-го столбца, умноженные на число В, матрицы А размерности N*M. Результат получить в виде вектора С.
Ci = Aik + B*Ail, i = 1,2, …, N
12. Вычислить произведение двух матриц А и В размерности N*M. Результат получить в виде матрицы С. p Сij = ∑ Aik*Bkj, i = 1,2, …, N i:=1 J = 1, 2, …, M
Пример14. В каждой строке матрицы А размерности N*M вычислить сумму положительных элементов. Результат получить в виде вектора В.
Словесное описание алгоритма
Начало
1. Задать (N, M, A(1:N, 1:M))
2. Для I:= 1 до N выполнить B(I):= 1 Для J:=1 до M выполнить Если A(I,J) > 0 то B(I):= B(I) + A(I,J)
3. Выдать B(1:N)
Конец
Код
Dim A() As Single, B() As Single, N As Integer, M As Integer ------------------------------------------------------------------------- Private Sub CommandButton1_ Click()
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
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
Свойство 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
Свойство 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
Свойство 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
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, Label1, Label2, Label3, CommandButton1. Свойство Caption изменено у элементов: Label1, Label2, Label3, CommandButton1.
Пример19. Каким прилагательным можно охарактеризовать тот или иной возраст человека.
Субъективное представление отражает следующая таблица
Код
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
На форму нанесены элементы управления: Label1, Label2, TextBox1, TextBox2, CommandButton1. Свойство Caption изменено у элементов Label1, Label2, CommandButton1. Пример20 Найти сумму ряда с заданной точностью Е, общий член которого .
Для нахождения рекуррентной формулы вычислим отношение следующего члена ряда к предыдущему:
. Отсюда . Найдем первый член ряда .
Блок схема алгоритма
Код Private Sub CommandButton1_Click() Dim Е 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
На форму нанесены элементы управления: Label1, Label2, TextBox1, TextBox2, CommandButton1. Свойство Caption изменено у элементов Label1, Label2, CommandButton1. Пример21 Дан массив. Упорядочить его элементы по убыванию. Применим сортировку массива методом пузырька.
Сортировка методом пузырька - самый простой алгоритм сортировки.
Сортировка методом пузырька (по убыванию) работает следующим образом: в итерации цикла берётся самый первый элемент и сравнивается со следующим. Если первый элемент меньше, то элементы меняются местами. Затем происходит сравнение второго с третьим и т.д. После первой итерации цикла в конце оказывается наименьший элемент. После второй итерации на предпоследней позиции оказывается второй по величине элемент. Всего в цикле необходимо произвести на одну итерацию меньше количества элементов в массиве.
Блок-схема алгоритма
Код
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
На форму нанесены элементы управления: 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. Вычислите значение функции 2. Найдите координаты вершины параболы 3. Вычислите расстояние между двумя точками, лежащими в пространстве и . 4. Вычислите время t, за которое физическое тело пройдет расстояние S с постоянной скоростью V. 5. Вычислите время свободного падения тела с высоты h (h>0). 6. Вычислите площадь круга по заданному значению диаметра d. 7. Вычислите объем параллелепипеда, если известны все его измерения. 8. Вычислите значение функции . 9. По координатам трех вершин некоторого треугольника найти его периметр. 10. Вычислите значение функции .
Третье задание
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г.
Дата добавления: 2014-12-07; Просмотров: 2802; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |