Задания для курсовой работы — Высокоуровневые методы программирования
Задание № 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 Van 3 Bond 2 claude 2 hi 2 my 2 james 1 jean 1 what 1 |
Задание № 2
| Разработка экспертной системы | С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (GUI) | ||||||||||
| формулировка | Некоторый банк хочет внедрить систему управления счетами клиентов, поддерживающую следующие операции:
|
||||||||||
| Методические указания | Необходимо реализовать такую систему. Первоначально у банка 1 клиент. Клиент(ы) банка идентифицируются именами (уникальная строка, не содержащая пробелов). Вам необходимо задать в качестве имени клиента – свою фамилию на английском языке с большой буквы. На вашу фамилию должен быть открыт счет с суммой равной вашему ID.
Ivanov 70121903 В отдельном поле должна быть предусмотрена возможность ввода простых команд, которые поддерживают следующие операции:
ПРОГРАММА ДОЛЖНА ОБРАБАТЫВАТЬ ТЕКСТОВЫЕ КОМАНДЫ ИЗ ЛЕВОГО ПОЛЯ ТОЛЬКО ПОСЛЕ НАЖАТИЯ КНОПКИ «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.
Damme 4 Is 3 Name 3 Van 3 Bond 2 claude 2 hi 2 my 2 james 1 jean 1 what 1 |
Задание № 3
| Разработка аналитической системы | С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (GUI) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| формулировка | Разработать калькулятор со стандартным и расширенным функционалом.
Стандартный функционал
Расширенный функционал 1. Наличие кнопки/меню перехода в расширенный режим 2. Возможность работы с несколькими ячейками памяти. Количество ячеек памяти выбирается согласно методическим указаниям. 3. Отображение последовательности математических операций и цифр в n-строчном «дисплее», с возможностью «прокрутки». Количество строк «дисплея» калькулятора выбирается согласно методическим указаниям. 4. Реализация «инженерных» функций расширенного режима. Конкретный перечень функций выбирается согласно методическим указаниям. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Методические указания | Необходимо разработать программу и GUI для реализации стандартных функций калькулятора. Примерный вид внешнего интерфейса представлен на рисунке.
Конкретная компоновка элементов интерфейса, внешний вил, цветовая палитра, максимальное количество отображаемых цифр, число отображаемых строк на «дисплее» калькулятора могут отличаться от представленного рисунка и должны согласовываться с руководителем курсовой работы.
Функционал «инженерного» режима работы калькулятора добавляется при нажатии на кнопку перехода в расширенный режим, либо выбора соответствующего пункта меню. Расширенный режим работы определяется внешним видом «цифрового дисплея», количеством ячеек памяти (кнопки M+, M-, MS, MR, MS) и кнопками, отвечающими за дополнительные функции.
Количество строк «цифрового дисплея» должно определяться как последовательная сумма всех цифр ID студента. Суммирование отдельных цифр числа должно осуществляться до получения однозначного числа, состоящей из 1-й цифры. Данный процесс рекомендуется реализовать с помощью рекурсивной функции. Для данной функции должна быть предусмотрена специальная кнопка . Например: обучающийся Иванов Иван Иванович, имеет 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).
Если после последовательного суммирования 3-х цифр ID получилась цифра «1», например, для ID=82121001: 0+0+1=1; В этом случае количество ячеек памяти должно быть равно 2. Таким образом, в зависимости от ID число ячеек памяти (и соответствующих кнопок, реализующий данный функционал) калькулятора может варьироваться от 2-х до 9.
Дополнительные функции расширенного режима, которые должны быть реализованы определяются в соответствие с таблицей по первой букве Фамилии обучающегося
Примерный внешний вид, реализующий данный функционал может быть следующим:
ВАЖНО: 1. Программа должна использовать распространенные библиотеки. Если с согласия руководителя предполагается для реализации дополнительных функций и отрисовки интерфейса использование сторонних библиотек, то в пояснительной записке к курсовой работе должно быть представлено обоснование и подробное их описания. 2. При разработке программы следует использовать принципы объектно-ориентированного программирования. 3. Калькулятор должен работать и корректно выдавать результат. 4. Размер кнопок, цветовая палитра, расположение и т.п. определяется самостоятельно. Внешний вид калькулятора не оценивается, однако следует придерживаться традиционных компоновок. 5. При намеренном выполнении некорректных операций, например, извлечение квадратного корня из отрицательного числа, калькулятор должен на цифровой дисплей выдавать соответствующее сообщение об ошибке. Если же программу останавливает интерпретатор – то проверяемая функция считается не до конца отработанной.
Программу «Калькулятор» сохранить под именем exercise_3.py |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Входные данные | Преподаватель с помощью мыши вводит числа и выполняет арифметические операции.
Преподаватель с помощью мыши вводит числа и выбирает заявленные дополнительные функции. Преподаватель вводит намеренно некорректные операции (попытка деления на 0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Выходные данные | На цифровом дисплее должен отображаться результат, либо сообщение об ошибке при некорректной операции.
Проверяется количество строк в «цифровом дисплее» калькулятора и количество ячеек памяти. |
Задание № 4
| Задача о Ханойских башнях |
С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (GUI) |
| формулировка | Модифицированная задача о Ханойских башнях:
Существует 8 шпинделей, пронумерованых от 8 до 1 слева направо. На каждом шпинделе надеты диски, в количестве, равном соответствующей цифре из ID студента. Все диски имеют разные диаметры. Диаметр диска равен M * 10 + N, где М – номер шпинделя, на котором надет диск, а N – это номер диска на шпинделе, считая сверху вниз. 1. Необходимо визуально изобразить предложенную задачу. Диски на шпинделях сделать случайных цветов. На каждом диске отображать цифру, равную его диаметру. Диаметр диска также показывать его фактическим размером в пикселях. 2. Необходимо вычислить, за какое минимальное количество итераций переместятся все диски на шпиндель номер 1 по следующим правилам: а) За одну итерацию можно переместить не более одного диска б) Диски можно класть только с большего на меньший в) Со шпинделя номер 8 можно перекладывать диски только на шпиндели 7 и 6 г) Со шпинделя номер 1 можно перекладывать диски только на шпиндели номер 2 и 3 д) Со шпинделей от 2 по 7 можно перекладывать диски только на два соседних шпинделя. 3. Необходимо отобразить начальное и конечное расположение дисков на шпинделях, для этого под изображением Ханойских башен предусмотреть две кнопки «Начало» и «Окончание». При нажатии на нее, в надписи под схемой должен выводится текст «Итерация ХХ», где ХХ – номер итерации (либо 0, либо номер итоговой итерации, соответственно). 4. Необходимо графически отобразить четыре промежуточные итерации перекладывания дисков. Для этого: а) общее количество итераций признаётся равным 100%, б) ID студента делится на 4 двузначных числа, каждое из которых обозначает итерацию, соответствующую этому проценту выполнения общей задачи. в) Под изображением Ханойских башень предусмотреть четыре поля для ввода цифр с процентами выполнения. По-умолчанию добавить туда числа из п. б) г) Под каждым полем для ввода предусмотреть кнопку, при нажатии на которую схема Ханойской башни отображает расположение дисков на соответствующей итерации. Также в надписи под схемой должен выводится текст «Итерация ХХ», где ХХ – номер итерации 5. Дать возможность пользователю изменять проценты в полях для ввода цифр, и по нажатию соответствующей кнопки просматривать расположение дисков на данной итерации. |
| Методические указания | Так как задача алгоритмически достаточно проста, то основная часть работы над задачей студента сводится к правильной визуализации полученных результатов, а также оптимальному поиску промежуточных результатов. Схема ханойских башен должна выглядеть примерно таким образом:
(В данном примере расположение дисков соответствует ID студента 70256421) Так как размер диска должен соответствовать его номеру на шпинделе и номеру самого шпинделя, умноженного на 10, то как нетрудно догадаться, максимальный диаметр диска может быть 89. Поэтому для правильной визуализации без наложения дисков рекомеднуется выдерживать расстояние между шпинделями примерно в 100-120 пикселей (для окна формата 1280х1024). Поскольку диски близких размеров будут отличаться всего на один пиксель, то для контроля на каждом диске необходимо проставить его диамер в виде цифры. Так как в конце задачи все диски будут находиться на первом шпинделе, а общее количество дисков теоретически может быть равно 72, то рекомендуется сделать толщину одного диска примерно равной 10-12 пикселям, для указанного окна. Остальные элементы управления под схемой Ханойской башни рекомендуется выстраивать в следующем порядке: На данном рисунке также видно, как следует разбивать ID студента для выведения промежуточных итогов. При нажатии на кнопки, нужно показать итерации, соответствующие 70%, 25%, 64% и 21% выполнения задачи. Уточнение Если по какому-либо проценту получается дробная итерация, то необходимо её визуализировать как промежуточный этап переноса диска. При этом диск изобразить в воздухе, между тем шпинделем, с которого он снят, и тем, на который он переносится. Номер итерации в таком случае отображать как дробный, с округлением до 3 цифр после нуля. Программу сохранить под именем exercise_4.py |
| Входные данные | Идентификатор студента.
Промежуточные проценты, вводимые преподавателем в соответсвующие поля над кнопками. |
| Выходные данные | На цифровом дисплее должно отображаться окно с начальным расположением дисков на шпинделях Ханойских башень. Шпиндели пронумерованы, на дисках также обозначены соответствующие диаметры. Под ней отображается шесть кнопок и четыре поля для ввода цифр. В нижней части экрана демонстрируется надпись «Итерация 0»
При нажатии на любую из шести имеющихся кнопок, либо при заполнении поля ввода другими данными и нажатии на кнопку, схема ханойских башень меняется, для отображения соответствующей итерации. Надпись в нижней части экрана также меняется. |
или напишите нам прямо сейчас:




Здравствуйте. Скажите пожалуйста, планирую поступать в магистратуру на факультет Психологии « Психология личности»в РГГУ скажите пожалуйста, есть ли у вас, ответы на вступительные экзамены? так как, планирую, сделать акцент на бюджет. Спасибо.
Арсений, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Дистанционная помощь в защите ВКР
Анастасия, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте. Нужна срочно практическая часть вкр, третья глава. Скину похожие работы, на которые можно ориентироваться
Александр, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
вкр по теме: экологический туризм России : анализ состояния, проблемы и перспективы
Людмила, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте вы защищаете ВКР?
Ольга, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать магистерскую ВКР на тему «Совершенствование логистических бизнес-процессов на примере торговой компании». Не менее 100 страниц.
Миша, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте нужна работа Вкр
Лена, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать ВКР 3 раздела Тема строительство строительство жилого дома с применением каркасно-монолитных технологий Антиплагиат от 75% ПЗ и чертежи
Владимир, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.