лаба2
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
К.Н.Смирнов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2 |
Циклические конструкции. |
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4616 |
|
|
|
А.В.Павлов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2018
-
ПОСТАНОВКА ЗАДАЧИ
ЗАДАНИЕ 3.2.1:
Задана функция 𝑓(𝑥). Вычислите значение функции на интервале от a до b с шагом h. Значение аргумента, полученное на каждом шаге, и соответствующее значение функции сохраните в массиве.
𝑓(𝑥) = sin(2𝜋𝑥)
Где a=0, b=1, h=0.01
В данной программе х ограничен интервалам, с шагом 0.01. Используем тип данных с плавающей точкой, т.к как икс может принимать любое значение, как целое, так с плавающей точкой
-
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ
У нас есть функция с синусом, которая принимает значения от 0 до 1 с шагом 0.01, воспользуемся формулой sin(2𝜋𝑥)= ЧЕ ТО ТАМ. Для проверки будем использовать x=0.25,x=0.5,x=0.75. Т.к при этих значениях функция имеет -1, 0, 1 соответственно
Псведокод:
Основная функция
Задаем начальные данные а=0,b=1,h=0.01, массив
Цикл работает пока a<=b в этом случаем выполняй уровнение sin(2*pi*a) и прибавляй к a 0.01 пока цикл не будет завершен
Тестовая функция
Задаем тестовый массив
Делаем значение проверки
Цикл выполняет от начального элемента массива до конечного
Если элемент массива есть в тестовом массиви то удали этот элемент, если тестовый массив меньше 0 то написать верно и прекратить цикл
Иначе ошибка
-
ОПИСАНИЕ РАЗРАБОТАННОЙ ПРОГРАММЫ
Код программы:
import math
#Решение
def LAB3_VAR21():
#начальные данные
a=0
b=1
h=0.01
#данные решения
mas=[]
while a<=b:
mas.append(math.sin(2*a*math.pi))
a+=h
return mas
print(LAB3_VAR21())
def TEST_LAB3_VAR21(mas):
#массив проверяеммых данных
mas_proverka=[1,0,-1]
#булево значение проверки есть ли эти значение в массиве
boole=False
#пербираем массив значений
for el in mas:
if el in mas_proverka:
mas_proverka.remove(el)
if len(mas_proverka)<=0:
print("Верно")
break
else:
print("Ошибка")
TEST_LAB3_VAR21([1,0,-1])
Функция LAB31_VAR_21 функция внутри которой производится решение поставленной задачи. Внутри задается начальные значения, а дальше с помощью циклов вычисляется данные для массива. В тесте идет проверка на наличия трех переменных которые должны быть в массиве.
Используемые переменные:
Имя переменной |
Тип переменной |
Назначение |
mas |
Число с плавающей точкой |
Массив данных |
a |
Целое число |
Хранит данные |
b |
Целое число |
Хранит данные |
h |
Целое число |
Хранит данные |
-
ОПИСАНИЕ ТЕСТОВОГО НАБОРА
Описание тестового случая |
Входные данные |
Ожидаемый результат |
Результат теста |
Правильные данные |
1,0,-1 |
Верно |
Пройден |
Неправильные данные |
5,5,5 |
Ошибка |
Пройден |
Ввод текста |
1.2,0,тест |
Ошибка |
Пройден |
-
ПРИМЕРЫ РАБОТЫ ПРОГРАММЫ
-
ВЫВОДЫ
js:location.href='/play/start/?level=12';