![]() КАТЕГОРИИ: Архитектура-(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) + “дней”
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! =
2. Дано натуральное n. Вычислить значение функции:
для x = 1, 1.1, 1.2,…, 1+0.1n
3. Вычислить Y:
4. Вычислить число
5. Определить число Фибоначчи с номером к. (используются формулы
6. Вычислить значение
7. Вычислить
8. Вычислить значение ряда с заданной точностью Е
9. Вычислить сумму S = 1 + 2 + 3 + ….. Вычисления прекратить, если значение S превысит заданное значение А.
10. Вычислить значения функции в заданном интервале
Блок – схема алгоритма
+ -
Код
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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |