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

3курс 1 сем / TP_Ianysheva_lr_5

.docx
Скачиваний:
9
Добавлен:
16.04.2021
Размер:
96.72 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

кандидат тех. наук, доцент

А.В. Аграновский

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ № 5

СМЕШАННЫЕ АЛГОРИТМЫ

по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР. №

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург

2019

  1. Постановка задачи

Полученное задание:

Дана последовательность слов из строчных русских букв, разделенных запятыми. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят ни в одно слово.

Требования к программе:

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

Ограничения на входные данные: от пользователя требуется ввести набор слов через запятую.

Ограничения на выходные данные: в результате программа выводит список, не встречающихся в водимых словах, глухих согласных букв.

Дополнительные требования к программе: Отсутствуют

Математическая модель:

Введённые данные записываются в список, при этом каждое слово разбивается посимвольно. Полученный список сравнивается со списком, в котором в алфавитном порядке записаны глухие согласные буквы. Если символ встречается в обоих списках то он удаляется из списка глухих букв.

  1. Описание разработанной программы

Список входных данных представлен в таблице №1.

Таблица №1 - Список входных данных

Имя переменной

Тип переменной

Назначение

x

string

Аргумент функции

x1

string

Переменная для теста

x2

string

Переменная для теста

x3

string

Переменная для теста

x4

float

Переменная для теста

x5

string

Переменная для теста

x6

string

Переменная для теста

Вычислительная сложность программы:

Сложность алгоритма

А лгоритм программы:

  1. Листинг программы

    def check_input(x): # Проверка введённого значения x на ошибки

    try: # Проверка на флоатовское значение

    float(x)

    except ValueError:

    return ('Ok')

    x = float(x)

    return x

    def LAB5_VAR_4(x):

    k = check_input(x)

    gluh = ['к', 'п', 'с', 'т', 'ф', 'ш', 'ч', 'щ', 'ц', 'х']

    stroka = []

    if check_input(k) == 'Ok':

    stroka += x

    z = len(stroka)

    for i in range(0, z):

    if stroka[i] in gluh:

    gluh.remove(stroka[i])

    print(gluh)

    else:

    print('Ошибка. Введено числовое значение')

    def TEST_LAB5_VAR_4():

    print('Тест 1')

    print('x1 = скажи-ка, дядя, ведь, не, даром')

    x1 = 'скажи-ка, дядя, ведь, не, даром'

    LAB5_VAR_4(x1)

    print('----------------------------')

    print('Тест 2')

    print('x2 = москва, спаленная, пожаром')

    x2 = 'москва, спаленная, пожаром'

    LAB5_VAR_4(x2)

    print('----------------------------')

    print('Тест 3')

    print('x3 = французу, отдана')

    x3 = 'французу, отдана'

    LAB5_VAR_4(x3)

    print('----------------------------')

    print('Тест 4')

    print('x4 = 8.000(заданно как число)')

    x4 = 8.000

    LAB5_VAR_4(x4)

    print('----------------------------')

    print('Тест 5')

    print('x5 = 8.000 (заданно как строка)')

    x5 = '8.000'

    LAB5_VAR_4(x5)

    print('----------------------------')

    print('Тест 6')

    print('x6 = воссемь')

    x6 = 'восемь'

    LAB5_VAR_4(x6)

    print('----------------------------')

    TEST_LAB5_VAR_4()

  2. Описание тестового набора

Тестирование будет производится на следующих данных, представленных в таблице №2.

Таблица №2 – Тестовый набор

Входные данные

Ожидаемый результат

Результат теста

x = скажи-ка, дядя, ведь, не, даром

['п', 'т', 'ф', 'ш', 'ч', 'щ', 'ц', 'х']

Пройден

x = москва, спаленная, пожаром

['т', 'ф', 'ш', 'ч', 'щ', 'ц', 'х']

Пройден

x = французу, отдана

['к', 'п', 'с', 'ш', 'ч', 'щ', 'х']

Пройден

x = 8

Ошибка. Введено числовое значение

Пройден

x = 8.000

Ошибка. Введено числовое значение

Пройден

x = восемь

['к', 'п', 'т', 'ф', 'ш', 'ч', 'щ', 'ц', 'х']

Пройден

Ожидаемые результаты работы программы получены ручным расчетом.

Первый, второй и третий тест направлен на определение корректности работы программы.

Четвертый и пятый тест направлен на выявление ошибки при вводе числового значения.

Шестой тест направлен на определение корректности работы программы.

  1. Пример работы программы

На рисунке 1 представлен пример работы программы.

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

  1. Вывод

Выполняя данную лабораторную работу, я закрепила навык работы со списками и повторила синтаксис циклов.

Соседние файлы в папке 3курс 1 сем