ВЫПОЛНЕНИЕ И ОФОРМЛЕНИЕ КОНТРОЛЬНЫХ РАБОТ
1.В соответствии с программой курса предусматривается выполнение в первом семестре контрольной работы №1, во втором семестре – контрольной работы №2.
2.Вариант контрольной работы выбирается в соответствии с последними двумя цифрами номера зачетной книжки.
3.Выполненные контрольные работы оформляются в тетрадях или на формате А4 (дискеты с выполненными заданиями не принимаются).
4.При оформлении практической части контрольной работы указываются номер задачи, формулировка задачи и текст программы на языке программирования Visual Basic for Applications (VBA).
5.При выполнении теоретической части контрольной работы №2 необходимо привести формулировку вопроса и дать сжатый ответ на вопрос в объеме не более 3 страниц. При ответе можно использовать как базовую литературу (приведенную в данных методических указаниях), так и любую другую, включая информацию, взятую из Интернета. В конце ответа на теоретический вопрос необходимо привести список использованной литературы и сайтов, с которых была взята информация.
Образец титульного листа
Министерство образования РФ
Московский государственный строительный университет
Мытищинский филиал МГСУ
Контрольная работа №
по информатике
Вариант №
Выполнил: Студент ФИО
Шифр (по зачетной книжке)
Москва-2010
КОНТРОЛЬНАЯ РАБОТА № 1
Для выполнения контрольной работы необходимо освоить разделы алгоритмизации и программирования: линейный вычислительный процесс, разветвляющийся и циклический процессы, работа с одномерными массивами.
Образец выполнения контрольной работы № 1
Задача №1
Вычислить значение функции Y=F1+F2, где , . Значение аргумента x задать с клавиатуры. Значения задать в разделе констант. Значения A, B задать при помощи оператора присваивания.
Решение
Option Explicit
Sub Zadanie_1() ‘ Заголовок подпрограммы-процедуры
Const Alfa = 0.5, Betta = 0.2 ‘ Описание констант
Dim x as double, A as double, B as double ‘ Описание переменных
Dim F1 as double, F2 as double, Y as double
A = 3.4 ‘ Присвоение значений
B = 12.6
x = Val(InputBox(“Введите x”)) ‘ Ввод x с клавиатуры
F1 = Abs(Alfa+x^2)^B ‘ Вычисление функции
F2 = Exp(Alfa+x)*Cos(Betta-A)
Y = F1 + F2
MsgBox(“F1=” & F1 & “ F2=” & F2) ‘ Вывод результатов в окне
Msgbox(“Y=” & Y)
End Sub ‘ Конец подпрограммы
Задача №2
Вычислить все значения функции
при изменении аргумента x от –2 до 6 с шагом 0,5. Функции F1 и F2 взять из задания № 1.
Решение
Sub Zadanie_2()
Const Alfa = 0.5, Betta = 0.2
Dim x as double, A as double, B as double
Dim Y as double, I as Integer
A = 3.4
B = 12.6
Cells(1,1) = ”X” ‘ Вывод в ячейке A1 буквы X
Cells(1,2) = “Y” ‘ Вывод в ячейке B1 буквы Y
I=2 ‘ Номер строки для вывода результатов
For x=-2 To 6 Step 0.5 ‘ Цикл с параметром для изменения x
If (x>=0) And (x<=2) Then Y = Abs(Alfa+x^2)^B ‘ Проверка условия
If x>2 Then Y = Exp(Alfa+x)*Cos(Betta-A)
Cells(I,1) = x ‘ Вывод значения x в ячейке AI
Cells(I,2) = Y ‘ Вывод значения Y в ячейке BI
I = I + 1 ‘ Номер строки - следующий
Next x
End Sub
Задача №3
В одномерном массиве произвольной длины вычислить среднее арифметическое ненулевых элементов и максимальное значение среди четных элементов.
Решение
Sub Zadanie_3()
Const N=10
Dim A(N) as Integer, I as Integer, S as double, K as Integer
Dim Sr as double, Max as Integer, Imax as Integer
WorkSheets(“Лист2”).Select ‘ Выбор рабочего листа Лист2
Cells(1,1) = “Массив А”
Randomize ‘ Генератор случайных чисел
For I = 1 To N
A(I) = Int(Rnd*20 – 10) ‘ Формир-е случ.числа от –10 до 10
Cells(2,I) = A(I) ‘ Вывод массива во вторую строку
Next I
S = 0: K = 0: Max = -32000 ‘ Начальные значения результатов
For I = 1 To 10
If A(I) <> 0 Then ‘ Выбор элементов, не равных 0
S = S + A(I) ‘ Поиск суммы
K = K + 1 ‘ Поиск количества
End If ‘ Конец условного оператора
If (A(I) >=Max) And (A(I) Mod 2 = 0) Then ‘ Поиск максимума
Max = A(I) ‘ среди четных и
Imax = I ‘ его места
End If
Next I
If K <> 0 Then Sr = S/K Else Sr=0 ‘ Поиск среднего арифм.
Cells(4,1) = “S =” ‘ Вывод результатов
Cells(4,2) = S
Cells(5,1) = “K =”
Cells(5,2) = K
Cells(6,1) = “Sr =”
Cells(6,2) = Sr
Cells(7,1) = “Max =”
Cells(7,2) = Max
Cells(8,1) = “Imax =”
Cells(8,2) = Imax
End Sub
ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ № 1
Задание №1
Вычислить и напечатать значение функции Y = f1+f2+f3+f4. Значение аргумента x задать с клавиатуры. Значения А, В, С, D задать с клавиатуры при помощи оператора присваивания. Значения a, b, g задать в разделе констант.
Последняя цифра номера зачетной книжки |
N | f1 | f3 |
N | f1 | f3 |
Предпоследняя цифра номера зачетной книжки |
N | f2 | f4 |
Задание № 2
Вычислить и напечатать все значения функции
при изменении аргумента X от Хн до Хк с шагом dx. Функции f1, f2, f3, f4 взять из задания №1.
Последняя цифра номера зачетной книжки |
N | Условие _1 | Условие _2 | Условие_ 3 | Условие _4 |
x > 0 | -3 £ x £ 0 | Нет | x < -3 | |
Нет | x > 2 | -1 £ x £ 2 | x < -1 | |
x < -2 | -2 £ x £ 3 | х > 4 | 3 < х < 4 | |
-4 £ x £ -2 | x > 4 | 2 £ x £ 4 | -2 < x < 2 | |
x < 0 | Нет | x > 4 | 0 £ x £ 3 | |
x > 4 | 0 £ x < 1 | Нет | 1 £ x £ 4 | |
x < 2 | -2 £ x £ 2 | Нет | x > 2 | |
x < 0 | Нет | x > 5 | 0 £ x £ 5 | |
0 £ x £ 3 | x < 0 | x > 3 | Нет | |
x > 4 | 0 £ x £ 4 | Нет | x < 0 |
Предпоследняя цифра номера зачетной книжки |
N | Начальное значение аргумента Хн | Конечное значение аргумента Хк | Шаг изменения аргумента dx |
-5 | 0,5 | ||
-2 | 0,4 | ||
-4 | |||
-8 | 0,4 | ||
-3 | 0,3 | ||
0,35 | |||
-5 | 0,5 | ||
-3 | 0,6 | ||
-2 | 0,25 | ||
-1 | 0,25 |
Задание № 3
Последняя цифра номера зачетной книжки | Начало текста |
Определить минимальный элемент среди элементов, попадающих в интервал (-6;6), и его индекс (номер) | |
Заменить каждый элемент, больший 10, на 20 | |
Заменить каждое число, попадающее в отрезок [1;7], на число -2 | |
Определить максимальный элемент среди элементов, меньших –2, и его индекс (номер) | |
Определить минимальный элемент среди положительных и его индекс (номер), уменьшить его на 3 | |
Уменьшить каждое число, большее 4,5, на 1 | |
Определить среднее арифметическое элементов, попавших в интервал (5;15) | |
Определить произведение и количество всех отрицательных элементов | |
Определить сумму и количество элементов, меньших -2 | |
Определить произведение и сумму элементов, больших 3 |
Предпоследняя цифра номера зачетной книжки | Окончание текста |
В первой половине одномерного массива произвольной длины | |
Для элементов, кратных 4, в двух одномерных массивах разной длины | |
Для нечетных элементов в двух одномерных массивах одинаковой длины | |
Во второй половине двух одномерных массивов одинаковой длины | |
Для элементов, стоящих на местах, кратных 4, одномерного массива произвольной длины | |
Для четных элементов одномерного массива произвольной длины | |
Для четных элементов, стоящих на нечетных местах, в одномерном массиве произвольной длины | |
Для элементов, кратных 7, в двух одномерных массивах разной длины | |
Для четных элементов первой половины массива произвольной длины | |
Для элементов, стоящих на местах, не кратных 3, в двух одномерных массивах одинаковой длины |
КОНТРОЛЬНАЯ РАБОТА № 2
Для выполнения теоретической части необходимо кратко изложить ответ на вопрос по своему варианту (последняя цифра номера зачетной книжки).
Для выполнения практической части контрольной работы следует освоить разделы алгоритмизации и программирования: работа с двумерными массивами (матрицами), использование подпрограмм.
В задачах при работе с матрицами используется понятие диагонали матрицы. Приведем схемы диагоналей квадратной матрицы A(N,N) и условия нахождения элементов в областях: на диагоналях, под ними и над ними.
ГлавнаяПобочная
Образец выполнения контрольной работы № 2
Задача №1
Пример 1
Найти минимальный среди нечетных элементов под главной диагональю матрицы произвольного размера одинаковой длины.
Решение
Sub Zadanie_1()
Const N=6 ‘ Размерность матрицы
Dim A(N,N) as Integer, I as Integer, J as Integer
Dim Min as Integer, Imin as Integer, Jmin as Integer
Randomize
For I=1 To N
For J=1 To N
A(I,J) = Int(Rnd*10 – 5) ‘ Формирование матрицы
Cells(I,J) = A(I,J) ‘ случайным образом
Next J,I
Min = 32000
For I=1 To N
For J=1 To N
If (A(I,J)<=Min) And (A(I,J) Mod 2<>0) And (I>J) Then ‘ Поиск
Min = A(I,J) ‘ минимума и его
Imin = I ‘ номера строки и
Jmin = J ‘ номера столбца
End If
Next J,I
Cells(N+2,1) = “Min =” ‘ Вывод результатов
Cells(N+2,2) = Min
Cells(N+3,1) = “IMin =”
Cells(N+3,2) = IMin
Cells(N+4,1) = “JMin =”
Cells(N+4,2) = JMin
End Sub
Пример 2
Определить количество нулевых элементов в каждом столбце матрицы произвольного размера.
Решение
Sub Zadanie_1a()
Const N=6, M=5 ‘ Размерность матрицы
Dim A(N,M) as Integer, I as Integer, J as Integer
Dim K as Integer
For I=1 To N
For J=1 To M
A(I,J) = Int(Rnd*10 – 5)
Cells(I,J) = A(I,J)
Next J,I
For J=1 To M ‘ Цикл по столбцам
K = 0 ‘ Начальное значение
For I=1 To N ‘ Цикл по строкам
If A(I,J) = 0 Then K = K+1 ‘ Поиск количества
Next I ‘ Конец цикла по строкам
Cells(N+2,J) = “K =” & K ‘ Вывод результата в J столбец
Next J ‘ Конец цикла по столбцам
End Sub
Задача №2
Сформировать матрицу B(8,9) следующего вида:
4 5 5 5 5 5 5 5 1
4 0 5 5 5 5 5 2 2
4 0 0 5 5 5 3 3 3
4 0 0 0 5 4 4 4 4
4 0 0 0 5 5 5 5 5
4 0 0 6 6 6 6 6 6
4 0 7 7 7 7 7 7 7
4 8 8 8 8 8 8 8 8
Решение
Sub Zadanie_2()
Const N = 8, M = 9
Dim B(8,9) as Integer, I as Integer, J as Integer
WorkSheets(“Лист2”).Select
For I=1 To N
For J=1 To M
If I+J>M+1 Then B(I,J) = I ‘ Область под побочной диагональю
If (I<J) And (I+J < M+1) Then B(I,J) = 5 ‘ Верхний треугольник – цифра 5
If J = 1 Then B(I,J) = 4 ‘ Первый столбец – цифра 4
Cells(I,J) = B(I,J)
Next J,I
End Sub
Задача №3
Вычислить все значения функции на промежутке от –3 до 5 с шагом h=0,3 с использованием подпрограммы.
Решение
Function f(x as Single) as Single ‘ Подпрограмма-функция
f = (Sin(x+2))^2/(x-6) ‘ вычисления функции
End Function
Sub Zadanie_3()
Dim x as Single, Y as Single
WorkSheets(“Лист3”).Select ‘ Выбор 3-го листа
Cells(1,1) = “X” ‘ Печать заголовков
Cells(1,2) = “Y” ‘ в первой строке
I = 2 ‘ Номер строки для вывода –2
For x = -3 To 5 Step 0.3
Y = f(x) ‘ Вызов функции
Cells(I,1) = x ‘ Вывод значения x
Cells(I,2) = Y ‘ Вывод значения Y
I = I + 1 ‘ Номер строки - следующий
Next x
End Sub