Министерство образования и науки РФ
Мытищинский филиал ФГБОУ ВПО «Московский государственный строительный университет»
Самостоятельная работа №
по информатике
Вариант №
Выполнил: Студент ФИО
Шифр (по зачетной книжке)
Москва-2015
САМОСТОЯТЕЛЬНАЯ РАБОТА № 1
Для выполнения контрольной работы необходимо освоить разделы алгоритмизации и программирования: линейный вычислительный процесс, разветвляющийся и циклический процессы, работа с одномерными массивами.
Образец выполнения работы № 1
Задача №1
Вычислить значение функции Y=F1+F2, где , . Значение аргумента x задать с клавиатуры. Значения задать в разделе констант. Значения A, B задать при помощи оператора присваивания.
Решение
Option Explicit
Sub Zadanie_1() ‘ Заголовок подпрограммы-процедуры
Const Alfa = 0.5, Betta = 0.2 ‘ Описание констант
Dim x as integer, 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