Информатика: список задач для студентов первого курса — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
Wikiadmin (обсуждение | вклад) |
Wikiadmin (обсуждение | вклад) |
||
Строка 77: | Строка 77: | ||
==Шестая группа задач до 30.03.2013== | ==Шестая группа задач до 30.03.2013== | ||
− | # Написать программу решающую задачу о расстановки 8 ферзей на шахматной доске | + | # Написать программу решающую задачу о расстановки 8 ферзей на шахматной доске так, чтобы они не били друг друга (найти все возможные решения). Реализовать абстрактный класс "фигура", от которого наследовать класс "ферзь". |
# Написать класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу) для целых чисел. | # Написать класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу) для целых чисел. | ||
==Седьмая группа задач до 06.04.2013== | ==Седьмая группа задач до 06.04.2013== | ||
# Написать шаблонный класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу). | # Написать шаблонный класс реализующий функциональность связанного списка (добавление, удаление элемента, доступ к произвольному элементу). | ||
+ | |||
+ | ==Задание к 16.05.2013== | ||
+ | # Подготовить рассказа (презентацию) по одному из разделов библиотеки [http://www.boost.org/doc/libs/1_53_0/ boost]. Раздел должен быть достаточно обширным, в противном случае выбрать несколько небольших разделов. | ||
+ | |||
+ | ==Восьмая группа задач до 19.05.2013== | ||
+ | # Написать шаблонный класс реализующий функциональность шаблонов произвольного ранга (ранг должен быть параметром шаблона). | ||
+ | |||
==Последняя группа задач до 30.05.2013== | ==Последняя группа задач до 30.05.2013== |
Версия 15:41, 25 апреля 2013
- Преподаватель: Панченко Артем Юрьевич
- Семестр: весна 2013
- Группа: 08 (10510)
- Предмет: Информатика
Содержание
- 1 Результаты студентов
- 2 Список задач
- 2.1 Первая группа задач до 16.02.2013
- 2.2 Вторая группа задач до 25.02.2013
- 2.3 Третья группа задач до 02.03.2013
- 2.4 Четвёртая группа задач до 12.03.2013
- 2.5 Пятая группа задач до 18.03.2013
- 2.6 Шестая группа задач до 30.03.2013
- 2.7 Седьмая группа задач до 06.04.2013
- 2.8 Задание к 16.05.2013
- 2.9 Восьмая группа задач до 19.05.2013
- 2.10 Последняя группа задач до 30.05.2013
- 2.11 См. также
Результаты студентов
Имя | Список оставшихся задач I | Список оставшихся задач II | Список оставшихся задач III | Список оставшихся задач IV | Список оставшихся задач V |
Авдеев Даниил | 2,3,5(2),7(2) | 2,3(2),4,5 | 1,2,3 | 1,2 | 1 |
Богданов Дмитрий | 1(5,6,7),3(3,4) | 2(2(2),3(2),4),4 | 1,2,3 | 1,2 | 1 |
Бондарев Сергей | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Ефремов Дмитрий | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Киселев Павел | 1,2,3(4,5,6),5(2) | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Новикова Наталья | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 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 | ||||
Солодовников Владислав | 1,2,3,4,5 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Теницкая Татьяна | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Федоренко Максим | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 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,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Шаяхметов Данил | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5 | 1,2,3 | 1,2 | 1 |
Список задач
Первая группа задач до 16.02.2013
- Написать программу, которая рассчитывает из, введённых пользователем, двух чисел их сумму, разность, произведение, частное, среднее арифметическое, среднее геометрическое, первое число в степени второго.
- Написать программу, которая проверяет является ли число, введённое пользователем, "перевертышем" (121, 12321).
- Написать программу, которая из четырёх чисел, введённых пользователем, находит минимальное, максимальное, среднее арифметическое, среднее геометрическое, ближайшее к среднему арифметическому, ближайшее к среднему геометрическому.
- Написать программу, которая подсчитывает количество цифр в числе, введённом пользователем.
- Написать программу, которая подсчитывает ! и !! от числа, введённого пользователем.
- Написать программу, которая возводит введённое пользователем число в целую степень (введённую пользователем).
- Написать программу, которая вычисляет наименьшее общее кратное(НОК) и наибольший общий делитель(НОД), введённых пользователем, двух чисел.
- Написать программу, которая решает квадратное уравнение, коэффициенты которого заданы пользователем.
- Написать программу, которая находит сумму цифр числа, введённого пользователем.
Вторая группа задач до 25.02.2013
- Написать программу, которая вычисляет сколько раз буква, заданная пользователем, встречается в строке.
- Написать программу, которая вычисляет количество отрицательных элементов, минимальный элемент и его позицию, максимальный элемент и его позицию, выводит массив элементов, значения которых находятся в промежутке [a,b], оставляя на месте остальных элементов "пропуски". Массив заполняется случайным образом, размер массива, a, b, задаются пользователем.
- Написать программу, которая вычисляет сумму элементов, количество различных чисел, в массиве. Массив заполняется случайным образом, размер массива, задаётся пользователем.
- Написать программу, которая разделяет двумерный массив на два (с чётными и не четными элементами) с сохранением их положения, оставшиеся элементы заполняются нулями. Массив заполняется случайным образом, размер массива, задаётся пользователем.
- Написать программу, которая сортирует двумерный массив по строкам слева на право по убыванию, по диагонали(в верхнем левом углу наибольший элемент, в правом нижнем наименьший). Массив заполняется случайным образом, размер массива, задаётся пользователем.
Третья группа задач до 02.03.2013
- Оформить предыдущие задачи в виде функций (Можно заменить на 3* и 4).
- Написать функцию интегрирования, принимающую три параметра: указатель на функцию, начало отрезка, конец отрезка. Интегрирования проводить сложением трапеций.
- Написать функцию сортировки массива (* использовать нетривиальные алгоритмы сортировки. Сложность алгоритма < ).
- Написать функцию решающую систему линейных уравнений методом Гауса (не обязательное, если решена 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
- Подготовить рассказа (презентацию) по одному из разделов библиотеки boost. Раздел должен быть достаточно обширным, в противном случае выбрать несколько небольших разделов.
Восьмая группа задач до 19.05.2013
- Написать шаблонный класс реализующий функциональность шаблонов произвольного ранга (ранг должен быть параметром шаблона).
Последняя группа задач до 30.05.2013
- Написать текстовую игру в стиле Dungeons & Dragons (или можно выбрать другой) например игрок проходит через лабиринт.
Работать в группах, не менее двух групп на курс. Игра должна быть интересной.