testy / информатика
.docРОСЖЕЛДОР
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Ростовский государственный университет путей сообщения»
(ФГБОУ ВПО РГУПС)
ОТЧЕТ
по лабораторным работам
по дисциплине: «Информатика»
Выполнил: Бургелова К.М. (ДПС 1- 023)
Проверил: Панасов В.Л.
Ростов-на-Дону
2012 год
Лабораторная работа №1.
Тема: Линейный алгоритм.
Задание:
Разработать программу для вычисления значения функции, и вывода его на экран. Аргументы вводить с клавиатуры.
Программа:
-
Sub Lab1()
-
x = Val(InputBox("Введите x:"))
-
а = Val(InputBox("Введите а:"))
F = 8/(x+3)* (x-3)/2.4-log((a^(1/2)-1)/(a^(3/4)-a^1/4))+5a^(1/4)
-
Debug.Print "Результат ="; f
-
End Sub
Результат=51,2043595393755
Блок-схема:
F = 8/(x+3)* (x-3)/2.4-log((a^(1/2)-1)/(a^(3/4)-a^1/4))+5a^(1/4)
Лабораторная работа №2.
Тема: Разветвляющийся алгоритм.
Задание:
Разработать программу для вычисления значения составной функции, и вывода его на экран. Аргументы вводить с клавиатуры.
Программа:
Sub Lab2()
x = Val(InputBox("Введите x:"))
If x < 0
y = -x / 2 Else
y = x / 2
End If
Debug.Print "Результат ="; y
End Sub
Результат = 25
Результат = 2
Блок-схема
да нет
Лабораторная работа №3.
Тема: Цикл с параметром (FOR).
Задание:
Вычислить
где f=2 a ln x; x =[3, 9]; a, d, y – произвольные числа.
Программа:
Sub лаб_3_()
d = Val(InputBox("Введите d:"))
a = Val(InputBox("Введите a:"))
y = Val(InputBox("Введите y:"))
For x = 3 To 9
f = 2 * a * Log(x)
z = Sqr(Sin(x) + x ^ 2)
Else
z = d * x - exp (y)
End If
Debug.Print "x ="; x; "z="; z
Next x
End Sub
Результат:
x = 3 z = 3.02342851876142
x = 4 z = 3.90425377052928
x = 5 z = 4.9031699670047
x = 6 z = 5.97667001781101
x = 7 z = 7.04677135990084
x = 8 z = 8.06159774775592
x = 9 z = 9.0228664228859
Блок-схема:
Да Нет
Лабораторная работа №4.
Тема: Циклы DO-LOOP и WHILE-WEND.
Задание:
Разработать программу для вычисления бесконечного ряда с точностью 0 < p < 1, вводимой с клавиатуры, с использованием цикла WHILE-WEND.
Программа
Sub Lab4()
p = Val(InputBox("Введите точность:"))
s = 0
n = 1
A=1
While Abs(A)>p
A = (-1)^(n+1) / (n ^ log(abs(x)))
s = s + A
n = n + 1
Wend
Debug.Print "Сумма ряда="; s
End Sub
Результат
Сумма ряда =-0,416666666666667
Блок-схема
S = 0
n = 1
A=1
да
A = (-1)^(n+1)
/ (n ^ log(abs(x)))
S = S+A
n = n+1
По тому же заданию, разработать программу с использованием цикла DO-LOOP с постусловием
Программа DO-LOOP
Sub Lab4()
p = Val(InputBox("Введите точность:"))
s = 0
n = 1
Do
A = (-1)^(n+1)/ (n ^ (log(abs(x)))
s = s + A
n = n + 1
Loop While Abs(A) > p
Debug.Print "Сумма ряда="; s
End Sub
Результат:
Сумма ряда = -0,416666666666667
Блок-схема
S = 0
n = 1
S = S + A
n = n + 1
A = (-1)^(n+1)/(n
^ log(abs(x)))
Лабораторная работа №5.
Тема: Одномерные массивы.
Задание
Среднюю величину отрицательных элементов.
Программа:
Sub Lab5()
n = Val(InputBox("Введите количество элементов?"))
ReDim x(n)
For i = 1 To n
x(i) = Val(InputBox("Введите элемент " + Str(i) + "?"))
Next i
s = 0
k = 0
For i = 1 To n
If x(i) < = 0 Then
s = s + x(i)
k=k+1
End If
Next i
Debug.Print " Среднюю величину отрицательных элементов=”; s/k
End Sub
Результат:
Итог = -1,5
Блок-схема
s=0, k=0
S=s+x(i);k=k+1
s/k
Лабораторная работа №6.
Тема: Одномерные массивы и вложенные циклы.
Задание:
10. Для функции
найти сумму значений функции V, меньших 2 и больших 6.
Sub Lab6()
Dim x(5)
x(1) = 1.1
x(2) = 1.3
x(3) = 1.4
x(4) = 1.7
x(5) = 1.8
s = 0
For k = 1 To 5
For y = 2 To 10 Step 2
W = 0.9
For I = 1 To 6
v = ((x(k) ^ 2 + Log(y)) / Abs(Cos(w))) ^ (1 / 3)
If v < 2 Or v > 6 Then
s = s + v
End If
w = w * 2.3
Debug.Print "y="; y; "w="; w; "v="; v
Next I
Next y
Next k
Debug.Print "сумма="; s
End Sub
Результат
сумма= 100,485407250421
Блок-схема
Заполнение массива X
s = 0
Да