Файл: Контрольная работа 1 по дисциплине "Введение в программирование" 0 Требования к решению и оформлению результатов.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.11.2023
Просмотров: 49
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Контрольная работа № 1
по дисциплине “Введение в программирование”
v2.0
Требования к решению и оформлению результатов
-
Задачи реализовать на языке Python (версия 3.7+).
-
В обязательном порядке:
-
разработать и применить собственные функции;
-
разработать и применить собственные модули;
-
добавить файл зависимостей requirements.txt для каждой задачи;
-
снабдить код комментариями;
-
Код задач должен быть размещен на платформе gitlab.com
Структура отчета
Титульный лист
Содержание
Для каждой задачи представить:
-
задание;
-
код реализации (в виде ссылки на репозиторий на платформе gitlab.com);
-
графики, рисунки (если требует задание) с пояснениями что на них представлено;
-
выводы по работе и результатам.
Библиографический список
Задачи
Задача 1. Сумма членов ряда последовательности
-
Реализуйте алгоритм вычисления суммы членов ряда вида
где - первое прочитанное из файла число,
- последнее прочитанное из файла число.
-
Текстовый файл с данными должен выглядеть следующем образом:
-
Запуск программы осуществлять командой:
python3 task1.py < data.txt
Результат работы тестовой программы:
Задача 2. Земля в ASCII ART
В файле earth.md находятся кадры анимации вращения земли в виде ASCII ART.
Выведите анимацию в консоле, как на gif-анимации снизу:
Задача 3. SAXPY
BLAS (англ. Basic Linear Algebra Subprograms — базовые подпрограммы линейной алгебры) — стандарт де-факто интерфейса программирования приложений для создания библиотек, выполняющих основные операции линейной алгебры, такие как умножение векторов и матриц.
В данной задаче рассматривается демонстрационная разработка функции SAXPY, входящая в состав библиотеки BLAS, выполняющая поэлементное сложение двух векторов со скалярным умножением на заданную константу одного из слагаемых.
1.1 Реализуйте и протестируйте алгоритм SAXPY.
1.2 Постройте график роста времени вычисления от длины вектора для целочисленной и вещественной реализаций алгоритмов.
Входные данные:
-
вектор x, y
-
скаляр a
Выходные данные:
-
вектор z
2. Для реализации достаточно стандартной библиотеки Python.
Библиографический список для ознакомления:
-
http://www.cc.spbu.ru/ru/node/3457
-
http://www.ccfit.nsu.ru/
kireev/lab4/lab4blas.htm
Задачи реализовать на языке Python (версия 3.7+).
В обязательном порядке:
-
разработать и применить собственные функции; -
разработать и применить собственные модули; -
добавить файл зависимостей requirements.txt для каждой задачи; -
снабдить код комментариями;
Код задач должен быть размещен на платформе gitlab.com
задание;
код реализации (в виде ссылки на репозиторий на платформе gitlab.com);
графики, рисунки (если требует задание) с пояснениями что на них представлено;
выводы по работе и результатам.
Реализуйте алгоритм вычисления суммы членов ряда вида
Текстовый файл с данными должен выглядеть следующем образом:
Запуск программы осуществлять командой:
вектор x, y
скаляр a
вектор z
http://www.cc.spbu.ru/ru/node/3457
http://www.ccfit.nsu.ru/
Задача 4. Умножение матриц
1. Реализуйте и докажите корректность работы алгоритма наивного умножения двух плотных матриц.
2. Постройте график роста времени вычисления от размерности матриц (1к-100к, шаг 10к) для целочисленной и вещественной реализаций алгоритмов.
3. Для реализации достаточно стандартной библиотеки Python.
Задача 5. Решение уравнений во имя добра
1. Реализуйте два метода решения системы линейных уравнений
-
Gauss-Jordan; -
Cramer.
2. Постройте график зависимости времени решения системы и объема занимаемой памяти от размерности системы.
3. Для реализации достаточно стандартной библиотеки Python.
Справились? Вы великолепны!