Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab1 отчет

.docx
Скачиваний:
38
Добавлен:
28.06.2021
Размер:
62.45 Кб
Скачать

Федеральное агентство связи

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное

учреждение высшего образования

Московский технический университет связи и информатики»

 

Кафедра «Сетевых информационных технологий и сервисов»

 

Отчёт по лабораторной работе №1 по дисциплине «Программирование на языке Python»

 

Выполнил студент группы

Москва, 2020

Задание 1: Написать функцию, которая принимает список чисел и возвращает сумму всех простых чисел из этого списка.

Решение: Разработаем блок-схему работы программы (рисунок 1).

Р исунок 1 – Блок-схема работы программы.

Вынесем определение того, является ли число простым, в отдельную функцию is_prime():

def is_prime(num):

if num <= 1: # отрицательные числа, 0 и 1 не являются простыми

return False

if num % 2 == 0 and num > 2: # четные числа не могут быть простыми

return False

return all(num % i for i in range(3, int(sqrt(num)) + 1, 2))

Функция sum_primes() будет использовать функцию is_prime() для фильтрации входного массива:

def sum_primes(array):

if len(array) == 0:

return "None"

x = sum(list(filter(lambda num: is_prime(num), array)))

if x > 0:

return x

else:

return "None"

Р езультат работы программы представлен на рисунке 2.

Рисунок 2 – Результат работы программы

Задание 2: Написать функцию, которая принимает строку, а затем возвращает строку, закодированную азбукой Морзе.

Решение: Разработаем словарь, где каждому элементу кодируемого алфавита поставлено в соответствие его значение в азбуке Морзе. Далее разделим буквы в исходной строке пробелами и заменить все соответствующие элементы. Исходный код функции encode-morse() представлен ниже:

def encode_morse(string):

morse_dict = {'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.','S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-','Y': '-.--', 'Z': '--..', ' ': ' ', '0': '-----','1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....','6': '-....', '7': '--...', '8': '---..', '9': '----.','&': '.-...', "'": '.----.', '@': '.--.-.', ')': '-.--.-', '(': '-.--.',':': '---...', ',': '--..--', '=': '-...-', '!': '-.-.--', '.': '.-.-.-','-': '-....-', '+': '.-.-.', '"': '.-..-.', '?': '..--..', '/': '-..-.' }

string = string.upper()

for letter in set(string):

try:

string = string.replace(letter, morse_dict[letter])

except KeyError:

raise KeyError

return string

Результат работы программы представлен на рисунке 3.

Рисунок 3 – Результат работы программы

Проведем обратное преобразование строки на сайте https://morsedecoder.com/ (рисунок 4)

Рисунок 4 – Проверка работы программы

Задание 3: Написать функцию, кодирующую строки следующим образом:

  1. Отразить строку

  2. Заменить гласные следующим образом:

    1. a => 0
    2. e => 1
    3. i => 2
    4. о=> 2
    5. u => 3
  3. Добавить «аса» в конец слова

Решение: Разработаем словарь, с помощью которого можно заменить гласные в слове по указанному правилу. Затем отразим его и добавим в конец необходимую последовательность. Исходный код программы представлен ниже:

def encode_str(string):

vowel_encode_dict = {

"a": "0",

"e": "1",

"i": "2",

"o": "2",

"u": "3"

}

for key in vowel_encode_dict.keys():

string = string.replace(key, vowel_encode_dict[key])

return str(string[::-1] + "aca")

Результат работы программы представлен на рисунке 5:

Рисунок 5 – Результат работы программы.

Вывод: В данной лабораторной работе были разработаны

  1. Программа для суммирования элементов массива, являющихся простыми числами.

  2. Программа, шифрующая сообщение азбукой Морзе.

  3. Программа, шифрующая слово по заданному в условии правилу.

Соседние файлы в предмете Программирование на Python