Методические указания по организации подготовки, выполнению и защите курсовой работы по дисциплине высокоуровневые методы программирования
Скачать 1.64 Mb.
|
определению цели работы. Как правило, целью исследования является разработка предложений 11 или методических рекомендаций на основе анализа существующей ситуации и полученных практических результатов анализа объекта исследования. Задачи указывают на основные направления работы и начинаются с со- вершенных глаголов: рассмотреть…, охарактеризовать…, проанализиро- вать…, оценить…, выявить…, разработать…, спроектировать…, автоматизи- ровать…, разработать рекомендации…, предложить методику…, повысить экономическую эффективность… и т.п. Основные разделы курсовой работы – четыре главы (по одной на каж- дое задание) и параграфы, которые содержат систематизированное изложение и результаты решения поставленной задачи. В главах и параграфах излагают- ся теоретические аспекты задачи, приводятся алгоритмы, за счет которых ре- ализуется требуемый функционал. Приводятся тестовые примеры и результа- ты их выполнения в реализованных приложениях. Представляются основные скриншоты, показывающие работу приложений. В каждом разделе обязатель- но выкладывается исходный код, решающий поставленную задачу, так как задания сформулированы таким образом, чтобы их возможно было решить в рамках одного модуля, без использования внешних бинарных ресурсов. Ре- комендуется логическое разбиение модуля на функции и классы согласно требованиям PEP8, однако работоспособность кода каждого приложения при переносе в один файл должна сохраняться. В случае использования среды разработки PyCharm код модулей при копировании в файл формата Word со- храняет исходное форматирование и подсветку, что повышает его читаемость в тексте пояснительной записки. Заключение представляет собой краткое последовательное, логически стройное изложение полученных и описанных в основной части результатов, выводов исследования, построенных на анализе соотношения полученных ре- зультатов с общей целью и конкретными задачами исследования. Число выво- дов не должно быть большим, обычно оно определяется количеством постав- ленных задач. Список литературы представляет собой оформленный в соответствии с установленными правилами перечень использованных в процессе исследова- ния избранной темы: законов и подзаконных нормативных правовых актов, учебной и научной литературы, материалов периодической печати, материа- лов юридической практики, электронных ресурсов. Список литературы дол- жен иметь следующую структуру: – нормативные правовые акты; – учебники, учебные пособия, монографии, комментарии к за- конодательству, словари, энциклопедии; – научные статьи, материалы из периодических изданий; – диссертации, авторефераты диссертаций; – материалы юридической практики, справочно- статистические материалы; – электронные ресурсы. При использовании в тексте курсовой работы положений, цитат, заим- ствованных из литературы, обучающийся обязан делать ссылки на них в со- 12 ответствии с установленными правилами. Заимствования текста без ссылки на источник не допускаются. Содержание курсовой работы должно соответствовать следующим ос- новным требованиям: – самостоятельность исследования; – наличие анализа специальной литературы и интернет- источников по предметной области; – наличие работоспособного файла конфигурации 1С; – логичность изложения содержания курсовой работы, по- дробное описание процесса разработки конфигурации, аргументиро- ванность выводов и предложений; – научно-практическая значимость курсовой работы. 3.2 Задания для выполнения в рамках курсовой работы. 3.2.1 Задание № 1 Работа с набо- рами данных БЕЗ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА (GUI) формулировка Во внешнем файле resourse_1.txt дан текст. Выведите все слова, встреча- ющиеся в тексте, по одному на каждую строку, через пробел укажите ко- личество повторений. Слова должны быть отсортированы по убыванию их количества появления в тексте, а при одинаковой частоте появле- ния — в лексикографическом порядке. Вывод должен осуществляться в текстовый файл result_1.txt. При необходимости можно продублировать вывод в консоль. Методические указания После того, как вы создадите словарь всех слов, необходимо отсортиро- вать его по частоте встречаемости слова. Желаемого можно добиться, если создать список, элементами которого будут кортежи из двух эле- ментов: частота встречаемости слова и само слово. Например, [(2, 'hi'), (1, 'what'), (3, 'is')] . Тогда стандартная сортировка будет сортировать список кортежей, при этом кортежи сравниваются по первому элементу, а если они равны — то по второму. Знаки препинания не должны учитываться. Программу сохранить под именем exercise_1.py Входные дан- ные Преподаватель вводит текст в текстовый файл resourse_1.txt (5-6 абзацев) и сохраняет его. hi hi what is your name my name is bond james bond my name is damme van damme claude van damme jean claude van damme Выходные данные Выведите ответ на задание № 1 в текстовый файл result_1.txt. Damme 4 Is 3 Name 3 13 Van 3 Bond 2 claude 2 hi 2 my 2 james 1 jean 1 what 1 14 3.2.2. Задание № 2 Разработка экспертной системы С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (GUI) формулировка Некоторый банк хочет внедрить систему управления счетами клиентов, поддерживающую следующие операции: 1. Пополнение счета клиента. 2. Снятие денег со счета. 3. Запрос остатка средств на счете. 4. Перевод денег между счетами клиентов. 5. Начисление процентов всем клиентам. Методические указания Необходимо реализовать такую систему. Первоначально у банка 1 кли- ент. Клиент(ы) банка идентифицируются именами (уникальная строка, не содержащая пробелов). Вам необходимо задать в качестве имени клиента – свою фамилию на английском языке с большой буквы. На вашу фами- лию должен быть открыт счет с суммой равной вашему ID. Ivanov 70121903 В отдельном поле должна быть предусмотрена возможность ввода про- стых команд, которые поддерживают следующие операции: DEPOSIT name sum Зачислить сумму sum на счет клиента name. Если клиента нет, то он создает- ся и на него заводится счет с указан- ной суммой. WITHDRAW name sum Снять сумму sum со счета клиента name. Если клиента, то счет создается. Баланс при выполнении такой опера- ции у вновь созданного клиента дол- жен быть отрицательный. BALANCE name Узнать остаток средств на счету кли- ента name. Для каждого запроса BALANCE программа должна вывести остаток на счету данного клиента. Ес- ли же у клиента с запрашиваемым именем не открыт счет в банке, выво- дится сообщение «NO CLIENT». Если пользователь не указал имя клиента – то выводится баланс всех существую- щих клиентов. TRANSFER name1 name2 sum Перевести сумму sum со счета клиента name1 на счет клиента name2. Если у какого-либо клиента, то он заводится в системе и ему создается счет с переве- 15 денной суммой. INCOME p Начислить всем клиентам, у которых открыты счета, p% от суммы счета. Проценты начисляются только клиен- там с положительным остатком на сче- ту, если у клиента остаток отрицатель- ный, то его счет не меняется. После начисления процентов сумма на счету остается целой, то есть начисляется только целое число денежных единиц. Дробная часть начисленных процентов отбрасывается. ПРОГРАММА ДОЛЖНА ОБРАБАТЫВАТЬ ТЕКСТОВЫЕ КОМАНДЫ ИЗ ЛЕВОГО ПОЛЯ ТОЛЬКО ПОСЛЕ НАЖАТИЯ КНОПКИ «Calculate». То есть, пользователь СНАЧАЛА вводит желаемые команды, при этом каждая новая команда вводится с новой строки, а ПОТОМ нажимает на кнопку «Calculate». Результат должен быть выведен в поле справа. Количество команд, которые может ввести пользователь за один раз – не более 20. При необходимости следует предусмотреть прокрутку в поле. Пользователю допускается вводить «пустые строки» - несколько раз нажимать на кнопку «enter». При нажатии клавиши ввода «enter», фокус не должен переходить на кнопку «Calculate». Формат и внешний вид окна определяет разработчик. Для «очистки» ле- вого и правого полей можно предусмотреть кнопку «Clear», при этом данные о ранее введенных клиентах не должны быть потеряны. ВАЖНО: 1. Команды вводятся пользователем только большими буквами. Сама ко- манда, имя клиента, суммы (числа) разделяются пробелами. 2. Предполагается, что пользователь такой системы грамотный и коман- ды с аргументами вводит без ошибок в рамках их вышесформулирован- ного синтаксиса. 3. Как только для несуществующего ранее клиента проводится операция пополнения (DEPOSIT), снятия (WITHDRAW) или перевода денег (TRANSFER), он вносится в систему, ему заводится счет с указанным балансом. Все дальнейшие операции проводятся только с этим счетом. Сумма на счету может быть как положительной, так и отрицательной, при этом всегда является целым числом. Программу сохранить под именем exercise_2.py Входные дан- ные Преподаватель вводит текст в текстовый файл resourse_2.txt (5-6 абзацев) и сохраняет его. Выходные Выведите ответ на задание № 1 в текстовый файл result_2.txt. 16 данные Damme 4 Is 3 Name 3 Van 3 Bond 2 claude 2 hi 2 my 2 james 1 jean 1 what 1 17 3.2.3. ЗАДАНИЕ № 3 Разработка аналитической системы С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (GUI) формулировка Разработать калькулятор со стандартным и расширенным функционалом. Стандартный функционал 1. Арифметические действия + - * /. 2. Возможность ввода отрицательного числа 3. Возведение в степень. 4. Извлечение квадратного корня. 5. Работа с памятью, состоящей из одной ячейки. 6. Должна быть кнопка сброса и кнопка «=» (равно). Расширенный функционал 1. Наличие кнопки/меню перехода в расширенный режим 2. Возможность работы с несколькими ячейками памяти. Количество ячеек памяти выбирается согласно методическим указаниям. 3. Отображение последовательности математических операций и цифр в n-строчном «дисплее», с возможностью «прокрутки». Количество строк «дисплея» калькулятора выбирается согласно методическим указаниям. 4. Реализация «инженерных» функций расширенного режима. Кон- кретный перечень функций выбирается согласно методическим ука- заниям. Методические указания Необходимо разработать программу и GUI для реализации стандартных функций калькулятора. Примерный вид внешнего интерфейса представлен на рисунке. 18 Конкретная компоновка элементов интерфейса, внешний вил, цветовая па- литра, максимальное количество отображаемых цифр, число отображаемых строк на «дисплее» калькулятора могут отличаться от представленного ри- сунка и должны согласовываться с руководителем курсовой работы. Функционал «инженерного» режима работы калькулятора добавляется при нажатии на кнопку перехода в расширенный режим, либо выбора соответ- ствующего пункта меню. Расширенный режим работы определяется внешним видом «цифрового дисплея», количеством ячеек памяти (кнопки M+, M-, MS, MR, MS) и кнопками, отвечающими за дополнительные функции. Количество строк «цифрового дисплея» должно определяться как после- довательная сумма всех цифр ID студента. Суммирование отдельных цифр числа должно осуществляться до получения однозначного числа, состоя- щей из 1-й цифры. Данный процесс рекомендуется реализовать с помощью рекурсивной функции. Для данной функции должна быть предусмотрена специальная кнопка 19 Например: обучающийся Иванов Иван Иванович, имеет ID 80121986 Сумма всех цифр равна: 8+0+1+2+1+9+8+6=35; 3+5=8 Следовательно, «цифровой дисплей» калькулятора должен иметь 8 строк. Если после последовательного суммирования ID получилась цифра «1», например, для ID=82121986: 8+2+1+2+1+9+8+6=37; 3+7=10 1+0=1 В этом случае количество строк «цифрового дисплея» должно быть равно 10. Таким образом, в зависимости от ID число «цифровых строк» дисплея калькулятора может варьироваться от 2-х до 10. Количество ячеек памяти калькулятора должно определяться как после- довательная сумма последних 3-х чисел ID. Суммирование отдельных цифр числа должно осуществляться до получения однозначного числа, со- стоящей из 1-й цифры. Данный процесс также рекомендуется реализовать с помощью рекурсивной функции. Например: обучающийся Иванов Иван Иванович, имеет ID 80121986 Сумма последних трёх цифр равна: 9+8+6=23; 2+3=5 Следовательно, должно быть предусмотрено 5 ячеек памяти для работы с (M+, M-, MС, MR, MS). 20 Если после последовательного суммирования 3-х цифр ID получилась цифра «1», например, для ID=82121001: 0+0+1=1; В этом случае количество ячеек памяти должно быть равно 2. Таким образом, в зависимости от ID число ячеек памяти (и соответствую- щих кнопок, реализующий данный функционал) калькулятора может варь- ироваться от 2-х до 9. Дополнительные функции расширенного режима, которые должны быть реализованы определяются в соответствие с таблицей по первой бук- ве Фамилии обучающегося Первая буква фамилии Наименова- ние функ- ции Описание функции А Pi, sin,tan,exp, n!, Frac Число Пи, синус, тангенс, экспонента, факто- риал; отсекает целую часть, оставляет дроб- ную Б asin, acos, atg, log_xy, n! Арксинус, арккосинус, арктангенс, логарифм по основанию, факториал В //, ctg, 10 х , asin, acos Целочисленное деление, котангенс, 10 в сте- пени х, арксинус, арккосинус Г F – E, y √x, lg 10 переключает ввод чисел в экспоненциальном представлении и обратно, y-ый корень числа x, где y обычно является положительным це- лым числом, десятичный логарифм Д gcd(a, b); tanh, Ln, X 3 Возвращает наибольший общий делитель a и b; гиперболический тангенс, натуральный ло- гарифм по основанию «e»; возвести в степень 3 Е hypot(x, y), isqrt(), Sinh, Mod функция вычисляет гипотенузу треугольника c катетами x и y; Возвращает целочисленный квадратный корень аргумента, округлённый вниз; гиперболический синус, вычислить остаток от деления одного числа на другое Ж tanh, Ln, X 3 , гиперболический тангенс, натуральный лога- 21 Frac рифм по основанию «e», возвести в степень 3; отсекает целую часть, оставляет дробную З sinh -1 , exp, asin, acos обратный гиперболический синус, экспонен- та, арксинус, арккосинус И Mod, tanh, asin, acos вычислить остаток от деления одного числа на другое, гиперболический тангенс; арксинус, арккосинус К Ln, X 3 , Dms, sin натуральный логарифм по основанию «e», возвести в степень 3; переводит из десятично- го вида в формат в градусы, минуты, секунды; синус Л Х 3 , asin, acos Возведение в куб, арксинус, арккосинус М Sinh, Mod, y √x, lg 10 гиперболический синус, вычислить остаток от деления одного числа на другое; y-ый корень числа x, где y обычно является положитель- ным целым числом, десятичный логарифм Н deg, y √x, lg 10 , sin, cos перевод угла в градусах, минутах и секундах в десятичные доли градуса; y-ый корень числа x, где y обычно является положительным це- лым числом, десятичный логарифм; синус, косинус О Int, Pi, tanh, Ln, X 3 отображает целую часть десятичного числа, число Пи, выдает значение Pi для расчетов; гиперболический тангенс, натуральный лога- рифм по основанию «e», возвести в степень 3 П Inv, sin, cos, tan обратная функция для sin, cos, tan, переключа- ет интерфейс на другие функции; синус; коси- нус; тангенс Р Dms, sin, cos, tan переводит из десятичного вида в формат в градусы, минуты, секунды; синус; косинус; тангенс С Dms, 10^x, Pi, tanh, Ln переводит из десятичного вида в формат в градусы, минуты, секунды; возведение десяти в произвольную степень, число Пи, гипербо- лический тангенс, натуральный логирифм Т F – E, acos, atg, log_xy, n! переключает ввод чисел в экспоненциальном представлении и обратно; арккосинус, арктан- генс, логорифм по основанию, факториал У Pi, sin,tan,exp, asin, acos Число Пи, синус, тангенс, экспонента, аркси- нус, арккосинус Ф Mod, tanh, Ln, X 3 , exp, asin, acos вычислить остаток от деления одного числа на другое, гиперболический тангенс, натураль- ный логарифм по основанию «e», возвести в степень 3, экспонента, арксинус, арккосинус Х pow(a, b), n!, F – E, acos функция выполняет возведение числа a в сте- пень b и возвращает затем вещественный ре- зультат; вычисление факториала; переключа- ет ввод чисел в экспоненциальном представ- лении и обратно; арккосинус Ц Pi, sin,tan, Число Пи, синус, тангенс; Округляет число до 22 floor() ближайшего целого, но в меньшую сторону Ч sin, cos, tan, Ln, X 3 синус; косинус; тангенс; натуральный лога- рифм по основанию «e», возвести в степень 3 Ш Mod, tanh, F – E, acos вычислить остаток от деления одного числа на другое, гиперболический тангенс, переключа- ет ввод чисел в экспоненциальном представ- лении и обратно; арккосинус Щ F – E, acos, tanh, Ln, X 3 переключает ввод чисел в экспоненциальном представлении и обратно; арккосинус; гипер- болический тангенс, натуральный логарифм по основанию «e», возвести в степень 3 Э tanh, Ln, X 3 , log_xy, n! гиперболический тангенс, натуральный логи- рифм, возведение в куб, логорифм по основа- нию, факториал Ю X 3 , 10^x, Pi, tanh возведение в куб, возведение десяти в произ- вольную степень, число Пи, гиперболический тангенс Я tanh, asin, acos, F – E гиперболический тангенс; арксинус, арккоси- нус, переключает ввод чисел в экспоненци- альном представлении и обратно Примерный внешний вид, реализующий данный функционал может быть следующим: 23 ВАЖНО: 1. Программа должна использовать распространенные библиотеки. Если с согласия руководителя предполагается для реализации дополнительных функций и отрисовки интерфейса использование сторонних библиотек, то в пояснительной записке к курсовой работе должно быть представлено обоснование и подробное их описания. 2. При разработке программы следует использовать принципы объектно- ориентированного программирования. 3. Калькулятор должен работать и корректно выдавать результат. 4. Размер кнопок, цветовая палитра, расположение и т.п. определяется са- мостоятельно. Внешний вид калькулятора не оценивается, однако следует придерживаться традиционных компоновок. 5. При намеренном выполнении некорректных операций, например, извле- чение квадратного корня из отрицательного числа, калькулятор должен на цифровой дисплей выдавать соответствующее сообщение об ошибке. Если же программу останавливает интерпретатор – то проверяемая функция считается не до конца отработанной. |