- •1. Характеристики, структура и содержание
- •1.1. Цели и задачи изучения
- •1.2. Язык обучения
- •1.3. Требование к подготовленности обучающегося к освоению содержания учебной дисциплины
- •1.4. Результаты изучения дисциплины
- •1.5. Знания, умения, навыки, приобретаемые обучающимися при изучении дисциплины
- •1.6. Перечень и объем активных форм учебной работы по дисциплине
- •1.7. Структура и организация изучения дисциплины, текущего контроля успеваемости и промежуточной аттестации
- •1.8.1. Структура лекционного курса
- •1.8. Структура и содержание учебной дисциплины
- •1.8.2. План лабораторных/практических занятий
- •1.8.3. Распределение бюджета времени на выполнение самостоятельной работы
- •1.8.3.1. Нормирование часов по самостоятельной работе студентов по дисциплине
- •2. Обеспечение учебной дисциплины
- •2.1.1. Методическое обеспечение аудиторной работы
- •2.1.2. Методические материалы для проведения текущего контроля успеваемости и промежуточной аттестации
- •Пример задания для текущего контроля знаний
- •1 Семестр
- •2 Семестр
- •1 Семестр
- •2 Семестр
- •3 Семестр
- •Промежуточный контроль
- •Перечень заданий для промежуточного контроля освоения дисциплины
- •1 Семестр
- •2 Семестр
- •3 Семестр
- •2.2. Кадровое обеспечение учебной дисциплины
- •2.2.1. Требования к образованию и (или) квалификации штатных преподавателей и иных лиц, допущенных к преподаванию дисциплины
- •2.4. Информационное обеспечение
- •2.4.1. Литература
- •2.4.2. Профессиональные базы данных
- •2.4.3. Информационные справочные системы
Перечень заданий для промежуточного контроля освоения дисциплины
1 Семестр
Примерные задачи к экзамену
Написать программу на языке Си, которая решает задачу:
1. Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.
2. Найти сумму членов арифметической прогрессии a, a + d, …, a + (n-1)d по данным значениям a, d, n.
3. Даны действительные числа x, y, z. Вычислить min2(x + y/2 + z/4, xyz) + 1.
4. Если сумма трех попарно различных действительных чисел x, y, z меньше единицы, то наибольшее из этих чисел заменить полусуммой двух других; в противном случае заменить меньшее из y и z суммой двух оставшихся значений.
5. Даны действительные числа a, b, c. Найти действительные корни квадратного уравнения ax2+bx+c = 0, если они существуют. Если действительных корней нет, вывести соответствующее сообщение.
6. Дано натуральное число n. Вычислить ; n!!.
7. Даны натуральное число n, действительные числа b1, …, bn. Вычислить b12 + … + bn2.
8. Получить таблицу температур по Цельсию от 0 до 200 градусов и их эквивалентов по Фаренгейту, используя формулу TF = 9/5*T°C + 32.
9. Даны натуральное число n, целые числа b1, …, bn. Найти количество и сумму тех членов последовательности b1, …, bn, которые делятся без остатка на 3 и не делятся на 7.
10. Дан массив из n натуральных чисел a1,...,an. Исключить из массива повторяющиеся элементы. Представить 2 варианта решения задачи: 1) с использованием дополнительного массива b; 2) без использования дополнительного массива.
11. Дан массив целых чисел размерности n. Расположить все отрицательные числа массива в порядке возрастания в начале массива, затем все нулевые значения, в конце – положительные числа в порядке убывания. Элементы массива вводятся пользователем. Результат (перестроенный массив) выводится на экран.
12. Дана строка символов. Найти длину самого длинного слова (словами считать последовательности символов, разделенные пробелами) и вывести это слово.
13. Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее вошла вторая треть строки S1 и последняя четверть строки S2. Округление проводить в меньшую сторону.
14. Cоздать базу данных о студентах некоторой группы в виде массива структур. Запись о студенте должна включать следующую информацию: номер студенческого билета, ФИО, средний рейтинг, количество задолженностей. Выполнить операции: найти студента с минимальным количеством задолженностей; вывести всех студентов, имеющих рейтинг не ниже заданного.
15. Дан массив из n натуральных чисел a1,...,an. Реализовать операции ввода данных в массив, вы-вода значений элементов массива на экран, поиска минимального и максимального значения, подсчета сумм элементов массива в соответствии заданным условием (сумма четных элементов, сумма элементов, кратных 3 и 5 и т.п.) в виде набора отдельных подпрограмм (функций).
2 Семестр
Вопросы к зачету
Алгоритмы и алгоритмизация.
Архитектура, порядок функционирования ЭВМ.
Интегрированная среда разработки программного обеспечения (система программирования).
Порядок трансляции программы.
Лексические элементы языка Си: алфавит, константы, идентификаторы, ключевые слова, комментарии.
Типы данных.
Ввод и вывод данных (scanf и printf).
Условный оператор. Тернарный оператор. Оператор «switch».
Циклические конструкции.
Операторы «break», «continue», «goto», пустой оператор, примеры использования.
Одномерные массивы.
Символьные строки.
Структуры, объединения, битовые поля.
Указатели/
Этапы трансляции.
Классы памяти. Время жизни и область действия объектов.
Директивы препроцессора.
Стандартная библиотека.
Понятия выражения, операнда, операции.
Выражения с операциями: унарные, бинарные, тернарные.
Порядок выполнения операций (ассоциативность, приоритет операций).
Порядок вычисления операндов, побочные эффекты. Явные и неявные преобразования типов.
Понятие подпрограммы. Функции в языке Си
Типы подпрограмм.
Методы передачи параметров.
Парадигмы программирования.
Критерии качества программ.
Отладка программ.
Тестирование программных продуктов.
Выделение и освобождение памяти в «куче», функции библиотеки языка Си.
Одномерные, двумерные, трехмерные динамические массивы.
Файловый и потоковый ввод/вывод.
Порядок работы с файлами.
Работа с файлами средствами стандартной библиотеки языка Си
Концепция АТД
Линейный список.
АТД «стек».
АТД «очередь».
АТД «дек».
Отображение (map).
АТД «дерево».
Понятие множества. Операции АТД, основанных на множествах.
Хеширование.
Некоторые структуры сложных множеств.
Объектно-ориентированная модель программирования. Классы. Объекты. Шаблоны.
Стандартная библиотека шаблонов (STL).
Контейнеры STL.
Примерные задачи к зачету
Написать программу на языке Си, если возможно, в виде набора отдельных функций, которая решает задачу:
1. Даны две вещественные квадратные матрицы (размер вводится пользователем). Отсортировать элементы столбцов матриц в порядке убывания. Вычислить квадрат той из полученных матриц, минимальный элемент первой строки которой является наименьшим.
2. Даны четыре вещественные матрицы произвольной размерности (размерности вводятся пользователем). Вычислить все возможные произведения матриц. Упорядочить по возрастанию элементы главной диагонали той из полученных матриц, след которой является наибольшим (следом матрицы называется сумма элементов главной диагонали). Если в результате вычисления произведений получена одна матрица, применить к ней указанное упорядочение.
3. Вычислить матричное выражение: «k*A+B*CT», где k – число, А, B, C – матрицы, размеры матриц и их содержимое определяются пользователем. Для вычисления суммы, произведения матриц и умножения матриц на константу реализовать и использовать функции.
4. Дан массив размера n. Реализовать сортировку его элементов по возрастанию методом обмена.
5. Создать в динамической памяти, выполнить указанную ниже операцию и удалить 3 массива, имеющих размерности 2, 4 и 5 соответственно. Реализовать операцию вычисления попарных произведений трех любых двумерных слоев по последним размерностям четырех- и пятимерных массивов. Операции создания и удаления, ввода и вывода массивов являются обязательными. Размерности каждого массива и номера слоев, необходимые для выполнения операций, вводятся пользователем.
6. Реализовать операции добавления и удаления элемента (в начало, конец, произвольную заданную позицию) в двусвязный список, с использованием представления его в памяти с помощью указателей.
7. Найти кратчайшие пути между всеми парами вершин в графе.
8. Удалить из памяти (все узлы должны быть удалены) идеально сбалансированное дерево степени 5, представленное в памяти с помощью указателей.
9. Реализовать операции добавления и удаления элемента в дерево двоичного поиска.
10. Реализовать операцию добавления потомка заданного узла дерева степени 4, если это возможно. Входные данные: ключ добавляемого узла, указатель на родительский узел.
11. Реализовать операцию копирования данных из одного текстового файла в другой текстовый файл.
12. Реализовать операцию вставки строк текста в заданную позицию текстового файла.
13. Реализовать рекурсивный симметричный обход дерева степени 3.
14. Реализовать разбор и вычисление математического выражения, представленного с помощью обратной польской записи.
