ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ № 1

ВЫПОЛНЕНИЕ И ОФОРМЛЕНИЕ КОНТРОЛЬНЫХ РАБОТ

 

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