Информатика: список задач для студентов первого курса — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
м
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
 +
[[Кафедра ТМ]] > [[Кафедра ТМ#Учебная работа|Учебная работа]] > [[Курсы лекций]]> '''Информатика: список задач для студентов первого курса''' <HR>
 +
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}
 +
 +
<font size="5">Информатика: список задач для студентов первого курса</font>
 +
 
* Преподаватель: [[Панченко Артем Юрьевич]]
 
* Преподаватель: [[Панченко Артем Юрьевич]]
* Семестр: весна 2013
+
* Семестр: весна 2015
* Группа: [[Группа 08|08]] (10510)
+
* Группа: [[Группа 11|11]] (13604/1)
 
* Предмет: [[Информатика]]
 
* Предмет: [[Информатика]]
 +
 +
=Задача I (Шахматы)=
 +
 +
Написать программу находящую и записывающую все возможные различные варианты расстановка '''N''' фигур на доске '''MxM''', где '''M''' четное. Во-вторых программы должна искать максимальное количество фигур, которое можно расставить на доске '''MxM'''.
 +
Программа должна содержать меню, позволяющее выбрать один из двух вариантов работы. Код программы следует подробно комментировать.
 +
 +
Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице [[Информатика: Расстановка шахматных фигур]] в сворачивающимся разделе.
 +
 +
=Задача II (Функции)=
 +
 +
Написать класс, позволяющий сохранять дискретные значения функции <math>y=f(x)</math> на интервале <math>[a,b]</math> с шагом <math>\Delta x</math>. Перегрузить арифметические операции для работы с функциями, заданными на одинаковом интервале и равным шагом. Добавить функции линейной интерполяции для изменения шага и линейной аппроксимации, функции позволяющие записывать и читать из файла дискретные значения. Добавить комментарии.
 +
 +
Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице [[Информатика: Функции]] в сворачивающимся разделе.
 +
 +
=Задача III (тело брошено под углом к горизонту)=
 +
 +
Написать программу, рассчитывающую траекторию движения тела брошенного под углом к горизонту. Программа должна сохранять в файл: 1.Координаты, рассчитанные по формуле, при движении без сопротивления воздуха; 2.Координаты, полученные методом Верле при линейной зависимости силы сопротивлении воздуха от скорости; 3.Координаты, полученные из точного решения, при линейной зависимости силы сопротивлении воздуха от скорости; 4.Координаты, полученные методом Верле при квадратичной зависимости силы сопротивлении воздуха от скорости. Добавить комментарии.
 +
 +
Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице [[Информатика: Движение тела в среде]] в сворачивающимся разделе.
 +
 +
=Презентация по сторонней библиотеке C++=
 +
Подготовить презентацию по сторонней библиотеке C++ на 10 мин. в формате ''pdf'' или ''ppt'', ''pptx''. Описание библиотеки, презентацию, программы демонстрирующие работу библиотеки разместить на странице [[Информатика: Библиотеки C++]], разместив в сворачивающимся разделе.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 
= Результаты студентов =  
 
= Результаты студентов =  
 
{|align="center" cellpadding="10" cellspacing="3" border="1"
 
{|align="center" cellpadding="10" cellspacing="3" border="1"
 
|+
 
|+
|  '''Имя'''        ||Список оставшихся задач I||Список оставшихся задач II||Список оставшихся задач III||Список оставшихся задач IV||Список оставшихся задач V||Список оставшихся задач VI||Список оставшихся задач VII||Задание||Список оставшихся задач VIII
+
|  '''Имя'''        ||Задача I||Задача II||Презентация||Задача III
 +
|-
 +
| [[Абрамов Игорь]]          || || || ||
 +
|-
 +
| [[Ананьев Евгений]]        || || || ||
 +
|-
 +
| [[Андреева Полина]]        || || || ||
 +
|-
 +
| [[Бальцер Анастасия]]      || || || ||
 +
|-
 +
| [[Белоусова Екатерина]]    || || || ||
 +
|-
 +
| [[Васильева Анастасия]]    || || || ||
 +
|-
 +
| [[Гильманов Илья]]        || || || ||
 +
|-
 +
| [[Демченко Артем]]        || || || ||
 +
|-
 +
| [[Жуков Илья]]            || || || ||
 +
|-
 +
| [[Иванова Яна]]            || || || ||  
 +
|-
 +
| [[Капитанюк Светлана]]    || || || ||  
 
|-
 
|-
| [[Авдеев Даниил]]         ||2,3,5(2),7(2)||2,3(2),4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Киселев Лев]]           || || || ||  
 
|-
 
|-
| [[Богданов Дмитрий]]       || || || || || || ||1|| ||1
+
| [[Козловская Анна]]       || || || ||  
 
|-
 
|-
| [[Бондарев Сергей]]       ||1,2,3,4,5,6,7,8,9||1,2,3,4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Лебедев Станислав]]     || || || ||  
 
|-
 
|-
| [[Ефремов Дмитрий]]       ||1,2,3,4,5,6,7,8,9||1,2,3,4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Лобанов Илья]]           || || || ||  
 
|-
 
|-
| [[Киселев Павел]]         || ||1,2,3,4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Лосева Татьяна]]         || || || ||  
 
|-
 
|-
| [[Новикова Наталья]]       || || ||3|| || ||1,2||1|| ||1
+
| [[Ляжков Сергей]]         || || || ||  
 
|-
 
|-
| [[Погодина Валерия]]       ||1,3(4,5,6),4,5(2),7(1),8,9||2(1,2(2),4),4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Нарядчиков Александр]]   || || || ||  
 
|-
 
|-
| [[Поцелуев Павел]]        || || || || || ||1,2||1|| ||  
+
| [[Романенко Глеб]]        || || || ||  
 
|-
 
|-
| [[Солодовников Владислав]] ||1,2,3,4,5||1,2,3,4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Рубинова Раиса]]         || || || ||  
 
|-
 
|-
| [[Теницкая Татьяна]]        || || || || || ||1,2||1|| ||1
+
| [[Савельева Ольга]]        || || || ||  
 
|-
 
|-
| [[Федоренко Максим]]       ||1,2,3,4,5,6,7,8,9||1,2,3,4,5||1,2,3||1,2||1||1,2||1|| ||1
+
| [[Сенников Иван]]         || || || ||  
 
|-
 
|-
| [[Хайтин Дмитрий]]         ||1,2,3,4,5,6,7,8,9||2(2(2),3(2)),4,5(2)||1,2,3||1,2||1||1,2||1||1||1
+
| [[Степанянц Степан]]       || || || ||  
 
|-
 
|-
| [[Черкасова Екатерина]]     ||1,2,3,4,5,6,7,8,9||1,2,3,4,5||1,2,3||1,2||1||1,2||1||1||1
+
| [[Сюрис Александр]]       || || || ||  
 
|-
 
|-
| [[Шаяхметов Данил]]       ||1,2,3,4,5,6,7,8,9||1,2,3,4,5||1,2,3||1,2||1||1,2||1||1||1
+
| [[Тимошенко Валентина]]   || || || ||  
 +
|-
 +
| [[Уманский Александр]]    || || || ||
 +
|-
 +
| [[Шавлович Александр ]]    || || || ||  
 
|}
 
|}
  
  
 
= Список задач =
 
==Первая группа задач до 16.02.2013==
 
# Написать программу, которая рассчитывает из, введённых пользователем, двух чисел их сумму, разность, произведение, частное, среднее арифметическое, среднее геометрическое, первое число в степени второго.
 
# Написать программу, которая проверяет является ли число, введённое пользователем, "перевертышем" (121, 12321).
 
# Написать программу, которая из четырёх чисел, введённых пользователем, находит минимальное, максимальное, среднее арифметическое, среднее геометрическое, ближайшее к среднему арифметическому, ближайшее к среднему геометрическому.
 
# Написать программу, которая подсчитывает количество цифр в числе, введённом пользователем.
 
# Написать программу, которая подсчитывает ! и !! от числа, введённого пользователем.
 
# Написать программу, которая возводит введённое пользователем число в целую степень (введённую пользователем).
 
# Написать программу, которая вычисляет наименьшее общее кратное(НОК) и наибольший общий делитель(НОД), введённых пользователем, двух чисел.
 
# Написать программу, которая решает квадратное уравнение, коэффициенты которого заданы пользователем.
 
# Написать программу, которая находит сумму цифр числа, введённого пользователем.
 
 
==Вторая группа задач до 25.02.2013==
 
# Написать программу, которая вычисляет сколько раз буква, заданная пользователем, встречается в строке.
 
# Написать программу, которая вычисляет количество отрицательных элементов, минимальный элемент и его позицию, максимальный элемент и его позицию, выводит массив элементов, значения которых находятся в промежутке <nowiki>[</nowiki>a,b], оставляя на месте остальных элементов "пропуски". Массив заполняется случайным образом, размер массива, a, b, задаются пользователем.
 
# Написать программу, которая вычисляет сумму элементов, количество различных чисел, в массиве. Массив заполняется случайным образом, размер массива, задаётся пользователем.
 
# Написать программу, которая разделяет двумерный массив на два (с чётными и не четными элементами) с сохранением их положения, оставшиеся элементы заполняются нулями. Массив заполняется случайным образом, размер массива, задаётся пользователем.
 
# Написать программу, которая сортирует двумерный массив по строкам слева на право по убыванию, по диагонали(в верхнем левом углу наибольший элемент, в правом нижнем наименьший). Массив заполняется случайным образом, размер массива, задаётся пользователем.
 
 
==Третья группа задач до 02.03.2013==
 
# Оформить предыдущие задачи в виде функций (Можно заменить на 3* и 4).
 
# Написать функцию интегрирования, принимающую три параметра: указатель на функцию, начало отрезка, конец отрезка. Интегрирования проводить сложением трапеций.
 
# Написать функцию сортировки массива (* использовать нетривиальные [http://ru.wikipedia.org/wiki/Алгоритм_сортировки алгоритмы сортировки]. Сложность алгоритма < <math>O\left(n^2\right)</math>  ).
 
# Написать функцию решающую систему линейных уравнений методом Гауса (не обязательное, если решена 1).
 
 
==Четвёртая группа задач до 12.03.2013==
 
# Написать класс векторов с тремя ''public'' полями типа ''double''. Реализовать в классе функцию вывода на экран: ''void print();''. Создать конструктор без параметров который задаёт все три компоненты вектора случайным образом в промежутке [-1,1]. Реализовать конструктор с одним параметром ''double'', который задаёт длину вектора (компоненты вектора случайны). Реализовать конструктор с тремя параметрами ''double'', которые задают координаты. Реализовать конструктор с одним параметром "вектор", который задаёт координаты.
 
# Написать функцию поиска коэффициентов ''A'', ''B'' (''y = A*x + B'') линейной аппроксимации методом наименьших квадратов, если заданы два массива ''X'', ''Y'' значений некоторой функции (''Y[i] = f(X[i]'').
 
 
==Пятая группа задач до 18.03.2013==
 
# (Текстовая графика) Написать три класса:
 
## Класс квадратов, храни координаты цента и размер (''double''), создаёт целочисленный массив (''char''), который является изображением квадрата.
 
## Класс окружностей, храни координаты цента и размер (''double''), создаёт целочисленный массив (''char''), который является изображением окружности.
 
## Класс, хранящий полное изображение, реализован метод позволяющий добавлять геометрические элементы (''push_back'') (все линии остаются видимыми), реализован метод выводящий финальный массив на экран или в файл.
 
С помощью системы классов изобразить окружность пересекающую квадрат, при этом центр квадрата и окружности не совпадают.
 
 
==Шестая группа задач до 30.03.2013==
 
# Написать программу решающую задачу о расстановки 8 ферзей на шахматной доске так, чтобы они не били друг друга (найти все возможные решения). Реализовать абстрактный класс "фигура", от которого наследовать класс "ферзь".
 
# Написать класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу) для целых чисел.
 
 
==Седьмая группа задач до 06.04.2013==
 
# Написать шаблонный класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу).
 
 
==Задание к 16.05.2013==
 
# Подготовить рассказа (презентацию) по одному из разделов библиотеки [http://www.boost.org/doc/libs/1_53_0/ boost]. Раздел должен быть достаточно обширным, в противном случае выбрать несколько небольших разделов.
 
 
==Восьмая группа задач до 19.05.2013==
 
# Написать шаблонный класс реализующий функциональность тензоров произвольного ранга (ранг должен быть параметром шаблона).
 
 
 
==Последняя группа задач до 30.05.2013==
 
# Написать [http://ru.wikipedia.org/wiki/Interactive_fiction текстовую игру] в стиле Dungeons & Dragons (или можно выбрать другой) например игрок проходит через лабиринт.
 
Работать в группах, не менее двух групп на курс. Игра должна быть интересной.
 
 
[[Category: Программирование]]
 
[[Category: Программирование]]
  

Текущая версия на 10:34, 17 декабря 2015

Кафедра ТМ > Учебная работа > Курсы лекций> Информатика: список задач для студентов первого курса


Информатика: список задач для студентов первого курса

Задача I (Шахматы)

Написать программу находящую и записывающую все возможные различные варианты расстановка N фигур на доске MxM, где M четное. Во-вторых программы должна искать максимальное количество фигур, которое можно расставить на доске MxM. Программа должна содержать меню, позволяющее выбрать один из двух вариантов работы. Код программы следует подробно комментировать.

Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице Информатика: Расстановка шахматных фигур в сворачивающимся разделе.

Задача II (Функции)

Написать класс, позволяющий сохранять дискретные значения функции [math]y=f(x)[/math] на интервале [math][a,b][/math] с шагом [math]\Delta x[/math]. Перегрузить арифметические операции для работы с функциями, заданными на одинаковом интервале и равным шагом. Добавить функции линейной интерполяции для изменения шага и линейной аппроксимации, функции позволяющие записывать и читать из файла дискретные значения. Добавить комментарии.

Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице Информатика: Функции в сворачивающимся разделе.

Задача III (тело брошено под углом к горизонту)

Написать программу, рассчитывающую траекторию движения тела брошенного под углом к горизонту. Программа должна сохранять в файл: 1.Координаты, рассчитанные по формуле, при движении без сопротивления воздуха; 2.Координаты, полученные методом Верле при линейной зависимости силы сопротивлении воздуха от скорости; 3.Координаты, полученные из точного решения, при линейной зависимости силы сопротивлении воздуха от скорости; 4.Координаты, полученные методом Верле при квадратичной зависимости силы сопротивлении воздуха от скорости. Добавить комментарии.

Программу в архиве, краткое описание алгоритма и инструкцию разместить на странице Информатика: Движение тела в среде в сворачивающимся разделе.

Презентация по сторонней библиотеке C++

Подготовить презентацию по сторонней библиотеке C++ на 10 мин. в формате pdf или ppt, pptx. Описание библиотеки, презентацию, программы демонстрирующие работу библиотеки разместить на странице Информатика: Библиотеки C++, разместив в сворачивающимся разделе.






Результаты студентов

Имя Задача I Задача II Презентация Задача III
Абрамов Игорь
Ананьев Евгений
Андреева Полина
Бальцер Анастасия
Белоусова Екатерина
Васильева Анастасия
Гильманов Илья
Демченко Артем
Жуков Илья
Иванова Яна
Капитанюк Светлана
Киселев Лев
Козловская Анна
Лебедев Станислав
Лобанов Илья
Лосева Татьяна
Ляжков Сергей
Нарядчиков Александр
Романенко Глеб
Рубинова Раиса
Савельева Ольга
Сенников Иван
Степанянц Степан
Сюрис Александр
Тимошенко Валентина
Уманский Александр
Шавлович Александр

См. также