Uploaded by Андрей Ермаков

Итоговая работа (4)

advertisement
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ГОРОДА МОСКВЫ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ ЦЕНТР ПРОФЕССИОНАЛЬНЫХ КВАЛИФИКАЦИЙ И
СОДЕЙСТВИЯ ТРУДОУСТРОЙСТВУ «ПРОФЕССИОНАЛ»
ОТЧЕТ О ВЫПОЛНЕНИИ ИТОГОВОЙ АТТЕСТАЦИОННОЙ
РАБОТЫ
на тему
«Разработка программного приложения с использованием инструментов
языка программирования Python»
слушателя Ермакова Андрея Игоревича №: 0888-ГЗ
программы повышения квалификации
«Программирование на языке Python»
Москва, 2021
Основная часть.
1. Постановка задачи.
Задача итоговой аттестационной работы: разработка программного
приложения посредством языка программирования Python.
Назначение приложения: генерация адресов электронной почты,
генерация паролей безопасности, сохранения сгенерированной информации.
Программа должна обеспечивать возможность выполнения следующих
функций:
- считывание данных из файла, содержащего сведения о сотрудниках
организации,
- формирование на основе данных файла адресов корпоративной
электронной почты для сотрудников организации,
- генерация паролей безопасности для входа в корпоративную
электронную почту,
- внесение изменений в файл данных и его перезапись.
2. Основная часть.
2.1. Этапы разработки программного приложения.
Разработка
программного
приложения
заданного
функционала
включала следующие последовательные этапы:
1)
Анализ и исследование задачи.
Подбор
переменных,
определение
последовательности
применения
операторов и функций.
2)
Разработка или выбор алгоритма решения задачи.
Определение типа алгоритма, выбор формы записи, проектирование
алгоритма.
3)
Разработка программы.
Запись
алгоритма
на
языке
Python.
Выполнение
последовательностей операторов и функций на языке Python.
4)
Тестирование работоспособности программы (отладка).
компоновки
Проверка программного кода на работоспособность, с последующим
устранение ошибок программного кода при их выявлении.
5)
Анализ результатов.
Выявление соответствия функционала разрабатываемого программного
приложения поставленной задаче.
В ходе выполнения данных этапов был разработан нижеследующий код
программы.
Листинг 1. Исходный программный код.
# Подключение модулей
import random
import re
#Процедура генерации пароля
def pass_gen(length):
digits = '1234567890'
leters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
leters_2 = 'abcdefghijklmnopqrstuvwxyz'
symbols = '!@#$%^&*()-+'
password = ''
var = [digits, leters, leters_2, symbols]
if length < 12:
return print('Ошибка! Пароль должен иметь не менее
12 символов')
else:
password+=random.choice(digits)
password+=random.choice(leters)
password+=random.choice(leters_2)
password+=random.choice(symbols)
while len(password) < length:
password+=random.choice(var[random.randint(0,3)])
return password
def email_gen(list_of_names):
emails = []
for i in list_of_names:
letter = 1
while i[1] + '.' + i[0][0:letter] + '@company.io' in
emails:
letter+=1
emails.append(i[1] + '.' + i[0][0:letter] +
'@company.io')
return emails
strings = []
failed = []
list_of_names = []
n = 0
k = 1
p = 1
f = open('task_file.txt', 'r')
for i in f:
strings.append(i.split(','))
f.close()
for i in range(len(strings)):
for j in range(len(strings[i])):
strings[i][j]=strings[i][j].replace(' ','')
for i in range(len(strings)):
if re.findall(r'^$|\W|\d|NAME', strings[i][1]) or
re.findall(r'[wrtplkhgfdszxcvbnm][wrtplkhgfdszxcvbnm][wrtplkhgfd
szxcvbnm][wrtplkhgfdszxcvbnm]', strings[i][1]) or
re.findall(r'^$|\W|\d|NAME', strings[i][2]) or
re.findall(r'0......|\D|^$', strings[i][3]) or
len(strings[i][3]) != 7 or re.findall(r'\W+\n$|\d|^$',
strings[i][4]):
failed.append(i)
else:
list_of_names.append([strings[i][1],strings[i][2]])
emails = email_gen(list_of_names)
f_1 = open('task_file.txt', 'w')
f_2 = open('task_file_1.txt', 'w')
f_1.write('
' + 'EMAIL, PASSWORD, LAST_NAME, TEL, CITY\n')
for i in range(len(strings)):
if i not in failed:
f_1.write(str(k)+'. ' + emails[n]+',
'+pass_gen(12)+', '+strings[i][1]+', '+strings[i][2]+',
'+strings[i][3]+', '+strings[i][4])
f_1.write("_" * 85+'\n')
k+=1
n+=1
else:
f_2.write(str(p)+'. ' + strings[i][1]+',
'+strings[i][2]+', '+strings[i][3]+', '+strings[i][4])
p+=1
f_2.write("_" * 85+'\n')
f_1.close()
f_2.close()
2.2.. Вывод о работоспособности программного приложения..
По результату выполнения этапа отладки программного кода сделан
вывод, что разработанный исходный программный код работоспособен,
выполнен без синтаксических, семантических и логических ошибок.
Список литературы.
1. Гуриков, С.Р. Основы алгоритмизации и программирования на Python.
Учебное пособие. Гриф МО РФ / С.Р. Гуриков. - М.: Инфра-М, Форум, 2018.
- 707 c.
2. Гэддис Т. Начинаем программировать на Python. – 4-е изд.: Пер. с англ. –
СПб.: БХВ-Петербург, 2019. – 768 с.
3. Любанович Билл Простой Python. Современный стиль программирования. –
СПб.: Питер, 2016. – 480 с.
4. Федоров, Д. Ю. Программирование на языке высокого уровня Python :
учебное пособие для прикладного бакалавриата. – Москва : Издательство
Юрайт, 2019. – 161 с.
Download