1611689773-a91d33f810870c94c5c0a51147bfda00 (План задач часть 2)

2021-01-26СтудИзба

Описание файла

Документ из архива "План задач часть 2", который расположен в категории "". Всё это находится в предмете "программирование" из 3 семестр, которые можно найти в файловом архиве НГУ. Не смотря на прямую связь этого архива с НГУ, его также можно найти и в других разделах. .

Онлайн просмотр документа "1611689773-a91d33f810870c94c5c0a51147bfda00"

Текст из документа "1611689773-a91d33f810870c94c5c0a51147bfda00"

Блок №1. "старые добрые"

1. Решить квадратное уравнение.

* Целочисленные коэффициенты задаются пользователем с клавиатуры.

* Разветвление решения на случай линейного и квадратного уравнения.

* Обобщить решение задачи для комплексных корней.

2. Печать всех простых чисел, не превышающих N.

* N задается пользователем с клавиатуры.

* Точная реализация математического определения: "имеет 2 делителя"

должна быть реализована внутри функции is_prime.

* Сократить программу до одной строки.

Список простых чисел должен быть получен через списковое включение

с фильтрацией. Не допускается использование циклов в явном виде.

3. Вычисление числа π с заданной точностью (кол-во знаков после запятой).

* Не допускается использование циклов в явном виде.

4. Программа для решения уравнения вида F(x) = 0 методом Ньютона.

* Функция F(x) задается в коде или вводится с клавиатуры.

* Производная функции F(x) вычисляется аналитически.

* Начальное приближение и требуемая точность вычисления

задаются с клавиатуры.

* Промежуточные точки и касательные отобразить графически.

5. Вычисление интеграла функции F(x) аналитически и численно.

* Функция F(x) задается в коде или вводится с клавиатуры.

* Пределы интегрирования вводятся с клавиатуры.

* Интеграл функции вычислить двумя способами:

1. аналитически (sympy),

2. численно (numpy/scipy).

6. Вычисление статистик массива.

* Вычислить минимум и максимум.

* Вычислить среднее значение.

* Вычислить среднеквадратическое отклонение.

* Вычислить пятый центральный момент.

* Вычислить среднее из этих пяти чисел.

7. Сортировка.

* Отсортировать массив действительных чисел по возрастанию.

* Отсортировать массив комплексных чисел по модулю.

* Отсортировать массив комплексных чисел

по убыванию действительной части.

* Отсортировать список строк по длине.

* Отсортировать кортеж строк в лексикографическом порядке.

* Отсортировать кортеж списков по возрастанию длины.

8. Работа с текстом.

* Считать предложение из файла.

* Вычислить количество слов в предложении.

* Развернуть порядок букв в третьем слове предложения.

* В получившемся предложении развернуть порядок слов.

* В получившейся строке сделать первую букву заглавной.

* Сохранить результат в файл.

* Построить гистограмму частотности букв без учета регистра.

9. Приведение текста в соответствие правилам.

* Считать строку произвольной длины.

* Преобразовать строку следующим образом.

1. Удалить пробелы, стоящие перед точкой или запятой.

2. После точек, запятых, двоеточий и т.д. поставить пробел.

3. Несколько пробелов, следующих подряд, заменить на одиночный.

4. Первую букву каждого предложения сделать заглавной.

* Что нужно сделать, чтобы программа обрабатывала строку на любом языке?

10. Матрицы.

* Сгенерировать две случайные матрицы заданного размера.

* Вычислить сумму, произведение, определитель и обратные матрицы.

* Реализовать сохранение матриц в файл.

* Добавить вариант со считыванием матриц из файла.

* Выбор формата обосновать, привести плюсы и минусы.

* Что нужно сделать, чтобы добавить поддержку матриц комплексных чисел?

* Измерить время обращения матриц 10x10, 100x100, 1000x1000.

11. Телефонная книга.

* Определить класс Person.

Поля данных: имя, фамилия, номер телефона, дата рождения.

* Предоставить возможность сортировать список Person по любому из полей.

* Реализовать считывание телефонной книги из файла в текстовом формате.

* Реализовать сохранение телефонной книги в файл в совместимом формате.

* Реализовать сохранение и считывание через сериализацию (pickle).

12. Определить НОД и НОК

* Считать N натуральных чисел.

* Вычислить и вывести наибольший общий делитель введенных чисел.

* Вычислить и вывести наименьшее общее кратное введенных чисел.

13. Перевод чисел между системами счисления.

* Считать число, старое основание и новое основание.

* Вывести число в системе счисления с новым основанием.

Блок №2 "обработка данных"

1. Фурье-фильтрация сигнала.

* Смоделировать сигнал из трёх некратных частот, добавить случайный шум.

* Вычислить спектр сигнала, нарисовать график, оси в реальных единицах (Гц).

* Избавиться от шума в исходном сигнале путём вырезания "лишних" частот в

фурье-спектре.

* Построить график исходного, зашумлённого и фильтрованного сигнала

с легендой.

2. Аппроксимация нетодом наименьших квадратов.

* Взять модельный сигнал (a*sin(b*x), x=0..2*pi), добавить случайный шум,

методом наименьших квадратов найти параметры a, b.

* Построить на графике исходный сигнал (линия), зашумлённые данные (точки),

результат аппроксимации (линия), вывести легенду, найденные значения.

** Добавить случайные выбросы амплитудой порядка a*3, применить

взвешенный МНК.

** Сравнить действие различных весовых функций, построить график.

3. Лабораторная работа 4.4.

* По набору сохранённых циклов перемагничивания построить основную кривую

намагничивания.

* Сгладить кривую, получить зависимость дифференциальной магнитной

проницаемости.

* По петле гистерезиса предельного цикла вычислить потери на

перемагничивание (площадь под кривой) для всех измеренных образцов.

4. Лабораторная работа 6.3.

* По измеренным осциллограммам определить коэффициенты трения для каждой

из трубок используя МНК.

* Времена пролёта через катушки определить по минимуму (максимуму).

производной исходного сигнала, для подавления шумов использовать

фурье-фильтр.

** Времена пролёта определить путём вейвлет-анализа, обосновать выбор

базисной функции, сравнить погрешности с предыдущим пунктом.

** Сравнить вейвлет-спектрограммы для сигналов разной зашумлённости,

пояснить смысл величин, отложенных по осям.

5. Анализ солнечной активности.

* По открытым данным со спутников НАСА произвести анализ уровня

гамма-излучения от солнца.

* Файлы с данными выкачивать в зависимости от введённого пользователем

периода (1986-2017 годы):

https://www.ngdc.noaa.gov/stp/satellite/goes/dataaccess.html

https://satdat.ngdc.noaa.gov/sem/goes/data/new_avg/

* Организовать кэш (выкачанные данные повторно не загружать).

* С целью уменьшения числа отображаемых точек реализовать усреднение

по выбранном временному интервалу (час, сутки).

* Используя фурье-преобразование определить характерные циклы.

Блок №3 «интересные задачи»

1. Приближения функций.

* Функция F(x) задается аналитически, с клавиатуры.

* Приблизить функцию F(x) полиномом N-ой степени.

* Пользователю вывести коэффициенты, сравнительный график.

* Функция G(x, p) задается аналитически, с клавиатуры.

* Приблизить функцию F(x) функцией G(x, p) за счет варьирования p.

* Пользователю вывести оптимальное значение p, сравнительный график.

2. Численно промоделировать движение тысячи частиц.

* Начальные положения: x равномерно распределен от -1 до 0; y — от -1 до 1.

* Начальные скорости равномерно распределены по углу, постоянны по модулю.

* Частицы отражаются от "стенок коробки"

(-1, -1) — (-1, 1) — (1, 1) — (1, -1) — (-1, -1),

за исключением "отверстия" (1, -0.1) — (1, 0.1).

* Нарисовать положения всех частиц через время t.

** Анимировать движение частиц.

** Дорисовать частицам стрелки — векторы скоростей.

** Нарисовать двумерную гистограмму плотности частиц через время t.

3. Численно промоделировать полет тела.

* Рассчитайте траекторию тела, летящего в поле тяжести по параболе.

* Отобразите траекторию на графике.

* Решите эту же задачу аналитически (sympy), сравните результат.

* Повторите тот же анализ, добавив модель трения о воздух.

Оптимизируйте угол вылета тела (при заданном модуле начальной скорости)

так, чтобы пересечение уровня начальной высоты произошло как можно

дальше от начальной точки.

4. Напоминания по почте.

* Считать файл со строками вида '2017-12-01 19:00:00 Свидание с Машей'.

* За час до наступления указанного времени ('2017-12-01 19:00:00')

отправлять электронное письмо с указанным текстом ('Свидание с Машей')

на электронную почту студента.

* Программа должна поддерживать несколько таких строк в любом порядке.

* Программа должна выводить предупреждения для напоминаний "в прошлом".

5. Массовое скачивание видео с YouTube.

* Имя пользователя/канала вводится с клавиатуры (пример: 'kvn').

* Вывести, пронумеровав, все видео с этого канала.

* Считать строку с номерами видео через запятую, с поддержкой интервалов

(пример: "1,3,6-9").

* Скачать эти видео.

6. Датировка снимка Луны.

* Программа запускается с указанием имени файла в качестве аргумента.

* Считать дату совершения снимка из EXIF-тега указанного файла.

* Определить фазу Луны по заданной дате.

* Определить фазу Луны по фотоснимку.

* На основании соответствия фаз вывести мнение о правдоподобности датировки

снимка.

7. Автоматизированный тестировщик других программ.

* Напишите программу, которая запускает программу, вычисляющую число

pi с заданной точностью, передает ей искомую точность, считывает ответ

и сравнивает его с заранее известным.

* Напишите программу, которая тестирует другую произвольную программу:

1. запускает произвольную программу,

2. подает на вход указанные данные,

3. считывает результат и сравнивает с эталонным.

* Формат конфигурационного файла, в котором будет прописано, что запускать,

что подавать на ввод и что ожидать в результате, придумать самостоятельно

и обосновать.

* Продемонстировать работу для как минимум двух программ на разных языках

программирования: компилируемом и интерпретируемом.

** Реализовать подачу на вход дочерней программы случайных данных.

Провести поиск данных, приводящих к аварийному завершению программы.

Критерии оценок:

  • «удовлетворительно» 10 задач на выбор из Блока №1

  • «хорошо» критерии «удовлетворительно»

+ 2 задачи на выбор из Блока №2

  • «отлично» критерии «хорошо»

+ 2 задачи на выбор из Блока №3

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
420
Средний доход
с одного платного файла
Обучение Подробнее