ПОЛНОЕ ЗАДАНИЕ В ДЕМО ФАЙЛЕ,
ЧАСТЬ ДЛЯ ПОИСКА ДУБЛИРУЮ НИЖЕ
Варианты заданий для экзамена по алгоритмизации.
Задания выполняются в ericIDE для Python с использованием графического интерфейса.
За основу берёте алгоритмы из учебника «Алгоритмы. Разработка и применение» авторов Дж. Клейнберг и Е. Тардос
Для задания 2 постарайтесь заготовить несколько готовых примеров для решения разных размерностей (не менее пяти)
Во всех примерах необходимо выводить время выполнения расчётов
Задание 1. Разминка
1. Построить интерполяционный полином Лагранжа для функции
в узлах интерполирования
.
Построить графики полинома Лагранжа и аппроксимируемой функции.
2. Для функции
, заданной таблично на точках (см. таблицу), приближённо вычислить определённый интеграл на отрезке
, используя формулы Ньютона-Котеса, прямоугольников, трапеций и Симпсона.
0.271
3.16957
0.273
3.18420
0.275
3.19889
0.277
3.21366
0.279
3.22821
3. Решить дифференциальное уравнение методом Рунге-Кутта 4го порядкана отрезке
.
Построить графики аналитического и численного решений.
Задание 2. Основное
1. Дан файл с координатами точек на плоскости (в качестве примера можно взять файлы a280.tsp и att48.tsp со страницы http://elib.zib.de/pub/mp-testdata/tsp/tsplib/tsp/index.html; также попробуйте загрузить другие файлы схожего формата). Необходимо найти пару самых близких точек по расстоянию алгоритмом Шамоса-Хоуи и рандомизированным методом.
Визуализировать результат.
2. Дан файл с координатами точек на плоскости (в качестве примера можно взять файлы a280.tsp и att48.tsp со страницы http://elib.zib.de/pub/mp-testdata/tsp/tsplib/tsp/index.html; также попробуйте загрузить другие файлы схожего формата).
Осуществить кластеризацию вершин по заданному пользователем расстоянию.
Визуализировать результат.
3. Дан файл с координатами точек на плоскости (в качестве примера можно взять файлы a280.tsp и att48.tsp со страницы http://elib.zib.de/pub/mp-testdata/tsp/tsplib/tsp/index.html; также попробуйте загрузить другие файлы схожего формата). Каждая точка обозначает небольшой город.
Требуется выбрать k местдля строительства больших торговых комплексов. Принцип подбора мест описан в стр. 605 учебника. kзадаётся пользователем.
Визуализировать результат.
_
По Python
https://github.com/pyqt/examples
Сборник разных примеров – обязательно посмотреть на возможности открываемые с помощью pyqt
Установка
1. Установить 64 битную версиюPython3.7+ (https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe). Выбирайте Customizeinstallation и указывайте папку C:\Python\Python37\ (ни одного кириллического символа)
2. СкачатьEric Python IDE (http://eric-ide.python-projects.org/eric-download.html). Распаковать в любую папку, установить через запуск install.py. На все вопросы отвечать Y (да)
3. После установки, в командной строке windows (https://www.youtube.com/watch?v=Z9bBPmsAMGc) ввести команды:
py -m pip install pyqt5-tools –pre
py -m pip install pyglet --pre
py -m pip install matplotlib --pre
Задание 1.
Написать программу на Python, в которой:
1. В окне программы выводится два случайных числа от 1 до 20 (н-р, «2» и «17»)
2. Имеется поле ввода чисел пользователем
3. Кнопка, по нажатию которой проверяется, соответствует ли введённый пользователем ответ, результатом умножения указанных сверху чисел (для «2» и «17» необходимо ввести «34»). Если ответ неправильный – вывести сообщение «Верный ответ» и вывести новую пару чисел. Если ответ неверный – вывести сообщение «Неверный ответ».
Задание 2.
Написать программу на Python, в которой:
1. Пользователю предлагается ввести в три отдельных поля параметры a, b и c
2. По нажатию кнопки на экран выводятся корни квадратного уравнения, причём, также должны выводиться иррациональные корни (н-р, 5+3i, 5-3i). Обязательно предусмотрите возможные ошибки - деление на ноль, незаполненные поля и т.д.
3. Добавьте два переключателя (RadioButton), "линейное уравнение" и "квадратное уравнение". Если пользователь выбирает линейное уравнение, то третье поле, c, должно стать неактивным и при нажатии кнопки будет решаться линейное уравнение
, а при выборе квадратного, оно станет активным и по кнопке будет решаться квадратное уравнение
.
Задание 3.
В окне находится две кнопки "Числа Фибоначчи" и "Простые числа".
Когда пользователь нажимает на "Числа Фибоначчи", то открывается новое окно, в котором находятся textEdit и кнопка. По нажатию данной кнопки открывается небольшое диалоговое окно, в котором пользователя спрашивают, сколько чисел надо вывести. В диалоговом окне должны быть label, lineedit и кнопка. Как только пользователь вводит значение и нажимает на кнопку, диалоговое окно закрывается, а textedit заполняется столбиком чисел Фибоначчи по порядку в указанном количестве, начиная с 0, 1, 1, и т. д.
Когда пользователь нажимает на "Простые числа", то открывается новое окно, в котором находятся textEdit и кнопка. По нажатию данной кнопки открывается небольшое диалоговое окно, в котором пользователя спрашивают, сколько чисел надо вывести. В диалоговом окне должны быть label, lineedit и кнопка. Как только пользователь вводит значение и нажимает на кнопку, диалоговое окно закрывается, а textedit заполняется столбиком простых чисел по порядку в указанном количестве, начиная с 2.