Файл: Контрольная работа 1 по дисциплине "Введение в программирование" 0 Требования к решению и оформлению результатов.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.11.2023

Просмотров: 49

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Контрольная работа № 1

по дисциплине “Введение в программирование”

v2.0

Требования к решению и оформлению результатов

  1. Задачи реализовать на языке Python (версия 3.7+).

  2. В обязательном порядке:

    1. разработать и применить собственные функции;

    2. разработать и применить собственные модули;

    3. добавить файл зависимостей requirements.txt для каждой задачи;

    4. снабдить код комментариями;

  3. Код задач должен быть размещен на платформе gitlab.com


Структура отчета

Титульный лист

Содержание
Для каждой задачи представить:

  • задание;

  • код реализации (в виде ссылки на репозиторий на платформе gitlab.com);

  • графики, рисунки (если требует задание) с пояснениями что на них представлено;

  • выводы по работе и результатам.


Библиографический список
Задачи

Задача 1. Сумма членов ряда последовательности

  1. Реализуйте алгоритм вычисления суммы членов ряда вида



где - первое прочитанное из файла число,

- последнее прочитанное из файла число.

  1. Текстовый файл с данными должен выглядеть следующем образом:



  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.

Библиографический список для ознакомления:

  1. http://www.cc.spbu.ru/ru/node/3457

  2. http://www.ccfit.nsu.ru/

kireev/lab4/lab4blas.htm



Задача 4. Умножение матриц

1. Реализуйте и докажите корректность работы алгоритма наивного умножения двух плотных матриц.

2. Постройте график роста времени вычисления от размерности матриц (1к-100к, шаг 10к) для целочисленной и вещественной реализаций алгоритмов.

3. Для реализации достаточно стандартной библиотеки Python.
Задача 5. Решение уравнений во имя добра

1. Реализуйте два метода решения системы линейных уравнений

  • Gauss-Jordan;

  • Cramer.

2. Постройте график зависимости времени решения системы и объема занимаемой памяти от размерности системы.

3. Для реализации достаточно стандартной библиотеки Python.

Справились? Вы великолепны!