Модульный контроль №2(семестр 1)
Обработка символьных данных. Библиотечные средства символьной обработки.
Данные типа строка литер.
Стандартные и функции для работы со строками.
Комбинированный тип данных - записи.
Понятие записи. Поля записей.
Файловый тип данных
Понятие файла в C. Описание файлов.
Элементарные операции над файлами:
открытие-закрытие файлов
форматированный ввод - вывод
перемещения по файлу
специальные операции(дозапись и перезапись данных).
Текстовые файлы.
Задачи:
Написать программу, заполняющую однонаправленный список случайными числами.
Написать программу, заполняющую двунаправленный список последовательными натуральными числами.
Рекурсия на примере задачи нахождения наибольшего и наименьшего элемента в массиве.
Написать программу сортировки обменом.
Написать программу сортировки вставками.
Написать программу сортировки выбором.
Модульный контроль № 3(семестр 2)
Питання:
Функции.
Понятие подпрограммы. Назначение подпрограмм.
Общая структура подпрограмм.
Тело подпрограммы. Область действия имен. Глобальные и локальные данные
Механизм передачи параметров. Формальные и фактические параметры. Механизмы связи различных видов параметров.
Предварительное описания подпрограмм(прототипированиеы).
Рекурсия. Примеры рекурсивных алгоритмов. Достоинства и недостатки рекурсивных алгоритмов.
Передача в качестве параметра имени функцииы.
.
Ссылочный тип данных
Определение ссылочного типа данных
Операция взятия адреса
Доступ к переменной по указателю
Статические и динамические переменные
Создание и удаление динамических переменных
Примеры использования указателей
Задачи
Даны числа A1, B1, C1, A2, B2, C2. Напечатать координаты точки пересечения прямых, описываемых уравнениями
A1*X + B1*Y + C1 = 0
A2*X + B2*Y + C2 = 0
либо сообщить, что эти прямые совпадают, не пересекаются либо вообще не существуют.
Написать программу проверки, является ли заданное число простым.
Написать программу перевода числа из десятичной системы в систему с заданным основанием.
Написать программу сложения двух длинных чисел.
Написать программу умножения длинного числа на короткое.
Написать программу нахождения наибольшего общего делителя N заданных чисел.
Виртуальные методы на примере иерархии графических объектов.
Написать программу, находящую все простые числа в заданном диапазоне.
Написать программу умножения двух многочленов, заданных своими
Написать программу, формирующую упорядоченный массив из двух заданных упорядоченных массивов.
Написать программу, отыскивающую седловую точку в заданной матрице.
Написать программу нахождения площади выпуклого многоугольника, заданного вершинами.
Используя методы объектно-ориентированного программирование, создать объект Вектор и реализовать метод умножения вектора на число.
Написать программу решения системы двух линейных уравнения с двумя неизвестными.
Написать программу, реализующую список с помощью динамических записей.
Програми, основані на рекурентних відношеннях. Деякі прості програми и алгоритми.
Конструкція while( cond )op;
Знаходження НЗД
Обчислення факторіалу натурального числа.
Знаходження суми ряду.
Масиви: поняття, оголошення. Прості алгоритми роботи з масивами:
введення - виведення масивів
знаходження суми елементів масиву.
пошук найбільшого (найменшого) елемента в масиві
алгоритми пошуку в масиві;
алгоритми роботи з матрицями: норми матриць, слід матриці, транспонування матриць; додавання та добуток матриць, добуток вектора на матрицю;
включення та исключение элементов массива
преобразование матрицы в одномерный массив.
Обработка символьных данных. Библиотечныее средства символьной обработки.
Данные типа строка литер.
Стандартные и функции для работы со строками.
Комбинированный тип данных - записи.
Понятие записи. Поля записей.
Файловый тип данных
Понятие файла в C. Описание файлов.
Элементарные операции над файлами:
открытие-закрытие файлов
форматированный ввод - вывод
перемещения по файлу
специальные операции(дозапись и перезапись данных).
Текстовые файлы.
Задачи
Сортировка слиянием. Сложность алгоритма.
Рекурсия на примере задачи нахождения наибольшего и наименьшего элемента в массиве.
Написать программу сортировки обменом.
Написать программу сортировки вставками.
Написать программу сортировки выбором.
Сортировка слиянием. Сложность алгоритма.
Написать программу проверки, является ли заданное число простым.
Написать программу перевода числа из десятичной системы в систему с заданным основанием.
Написать программу сложения двух длинных чисел.
Написать программу умножения длинного числа на короткое.
Написать программу нахождения наибольшего общего делителя N заданных чисел.
Виртуальные методы на примере иерархии графических объектов.
Написать программу, находящую все простые числа в заданном диапазоне.
Написать программу умножения двух многочленов, заданных своими
Написать программу, формирующую упорядоченный массив из двух заданных упорядоченных массивов.
Написать программу, отыскивающую седловую точку в заданной матрице.
Написать программу нахождения площади выпуклого многоугольника, заданного вершинами.
Используя методы объектно-ориентированного программирование, создать объект Вектор и реализовать метод умножения вектора на число.
Написать программу решения системы двух линейных уравнения с двумя неизвестными.
Написать программу, реализующую список с помощью динамических записей.
Виртуальные методы на примере иерархии графических объектов.
Модульний контроль № 4(семестр 2)
Вопросы
Функции.
Понятие подпрограммы. Назначение подпрограмм.
Общая структура подпрограмм.
Тело подпрограммы. Область действия имен. Глобальные и локальные данные
Механизм передачи параметров. Формальные и фактические параметры. Механизмы связи различных видов параметров.
Предварительное описания подпрограмм(прототипированиеы).
Рекурсия. Примеры рекурсивных алгоритмов. Достоинства и недостатки рекурсивных алгоритмов.
Передача в качестве параметра имени функции.
.
Ссылочный тип данных
Определение ссылочного типа данных
Операция взятия адреса
Доступ к переменной по указателю
Статические и динамические переменные
Создание и удаление динамических переменных
Примеры использования указателей
Стеки и очереди.
Определение стека
Программный стек.
Включение элемента в стек
Извлечение элемента из стека
Очереди, включение элемента в очередь, исключение элемента из очереди.
Основные операции над списками
Простые и списки
Исключение и включение элементов
Алгоритм поиска в односвязном списке
Поиск с включением. Использование барьера.
Объединение 2-х списков в один.
Копирование списков.
Разбиение списков на 2 и более.
Задачи:
Написать программу, заполняющую однонаправленный список случайными числами.
Написать программу, заполняющую двунаправленный список последовательными натуральными числами.
Написать программу, реализующую стек с помощью массива.
Бесскобочная запись арифметических выражений. Деревья арифметических выражений.
Написать программу, реализующую стек с помощью динамических записей.
Написать программу, реализующую очередь с помощью массива.
Рекурсивный алгоритм получения всех перестановок элементов множества.
Написать программу, реализующую очередь с помощью динамических записей.
Не рекурсивный алгоритм получения всех перестановок элементов множества.
Написать программу, реализующую заданное множество, состоящее из букв латинского алфавита, в виде битового вектора.
Написать программу динамического выделения памяти под трехмерный массив.
Написать программу, обхода бинарного дерева в инфиксном порядке.
Написать программу, создающую списки смежности для графа, заданного ребрами. Списки смежности хранить в массиве.
Написать программу, определяющую, принадлежит ли заданное число последовательности Фибоначчи.
Написать программу, создающую списки смежности для графа, заданного ребрами. Списки смежности хранить с помощью динамических записей.
Написать функцию удаления элемента з двонаправленного списка.
Написать программу определения, содержится ли заданное число в заданном массиве, за логарифмическое время.
Написать процедуру, определяющую, принадлежит ли заданный путь заданному графу.
Написать процедуру удаления элемента двунаправленного списка, заданного динамическими записями.
