Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ
Факультет «Радио и телевидение»
Кафедра «Системы и сети радиосвязи и телерадиовещания»
Лабораторная работа № 3
по дисциплине «Информационные технологии и программирование»
«Циклические алгоритмы»
Выполнил:
Вариант №13
Цель работы
Овладеть навыками создания циклических алгоритмов на языке Python с применением инструкций цикла на примере алгоритмов работы с последовательностями чисел.
Задание
Задание
1. Используя вариант задания из Таблицы
1 написать программу для вычисления
,
где число членов последовательности n
задается пользователем (вводится с
клавиатуры). На экран должны быть
выведены: число членов последовательности,
введенное пользователем, все члены
последовательности от 0 до n включительно,
а также значение суммы А с точностью до
4 знаков после запятой.
Задание
2. Для того же варианта написать программу
для вычисления выражения
с точностью до ε, значение ε задается
пользователем. Сумма вычисляется до
тех пор, пока не выполнится условие
.
На экран должны быть выведены: значение
ε, введенное пользователем, значение
суммы А, а также номер и значение первого
члена последовательности, для которого
выполняется условие
.
Задание 3. Для того же варианта написать программу, которая выводит на печать n членов последовательности {𝑎𝑖}, исключая из неё каждый k-ый член. Числа n и k вводятся пользователем. При написании программы учесть, что число выводимых членов последовательности n не может быть меньше k. На экран должны быть выведены: числа n и k, задаваемые пользователем, результат проверки n>k, члены последовательности от 0 до n, исключая каждый k -й член последовательности.
Выполнить задания с помощью двух вариантов записи цикла: for и while. Для исключения члена последовательности используйте оператор continue.
Ход работы
Программа для выполнения задания 1:
n=int(input('Введите число членов последовательности:')) #Зададим число членов последовательности
print('Число членов последовательности – ‘,n) #Выведем число членов последовательности
def a(n): #Зададим n-член последовательности
return ((-1)**n)/((2**n)*(n+2))
for i in range(0, n+1): #Выведем все члены последовательности
print('a’,i,’=',a(i))
sum=0
for k in range(0, n): #Посчитаем сумму членов от 0 до n-1
sum=sum+a(k)
print('Сумма последовательности:', round(sum,4)) #Выведем сумму членов последовательности
Рисунок 1 – результат выполнения программы
Программа для выполнения задания 2:
e=float(input('Введите эпсилон:'))
print('эпсилон равен', e)
def a(n): #Зададим n-член последовательности
return ((-1)**n)/((2**n)*(n+2))
sum=0
k=0
while abs(a(k))>e: #Посчитаем сумму
sum=sum+a(k)
k+=1
print('Сумма последовательности:', round(sum,4)) #Выведем сумму членов последовательности
print('Значение первого члена, для когорого |ai|<=E: a',(k), '=',a(k)) #Выведем значение первого члена, для когорого |ai|<=E
Рисунок 2 – результат выполнения программы
Программа для выполнения задания 3 с использованием for:
n=int(input('Введите число членов последовательности:')) #Зададим число членов последовательности
k=int(input('Введите число k:')) #Зададим число k
if n<k: #Выполним сравнение n и k
print('Ошибка: n<k')
exit(0)
print('n>k')
print('n=',n, '; k=',k) #Выведем число членов последовательности и число k
def a(n): #Зададим n-член последовательности
return ((-1)**n)/((2**n)*(n+2))
for i in range(0, n+1): #Выведем все члены последовательности, исключая каждый k-ый
if (i+1)%k==0:
continue
else:
print('a',i, '=',a(i))
Рисунок 3 – результат выполнения (при n>k)
Рисунок 4 – результат выполнения (при n<k)
Программа для выполнения задания 3 с использованием while:
n=int(input('Введите число членов последовательности:')) #Зададим число членов последовательности
k=int(input('Введите число k:')) #Зададим число k
if n<k: #Выполним сравнение n и k
print('Ошибка: n<k')
exit(0)
print('n>k')
print(f'n={n}\nk={k}') #Выведем число членов последовательности и число k
def a(n): #Зададим n-член последовательности
return ((-1)**n)/((2**n)*(n+2))
i=0
while i<=n: #Выведем все члены последовательности, исключая каждый k-ый
if (i+1)%k==0:
i+=1
else:
print('a',i, '=',a(i))
i+=1
Результат выполнения этой программы аналогичен.
Вывод
Для выполнения заданий на языке программирования python применили различные арифметические операции, такие как: умножение, сложение, вычитание, возведение в степень – а также использовали возможность ветвления программы с помощью операторов if, elif и else и циклические операторы for и while для повторения операторов, находящихся в теле цикла.
По результатам выполнения заданий можно сделать вывод, что для повторения операторов заданное количество раз можно использовать операторы повторения, такие как: for или while.
Москва 2024
