Языки и методы программирования ~ 1 1 курс 1 семестр Этапы решения задачи
Работа добавлена на сайт samzan.net:
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Вопросы для подготовки к экзамену по дисциплине
«Языки и методы программирования 1»
1 курс, 1 семестр
- Этапы решения задачи. Понятие алгоритма. Особенности, способы представления алгоритмов. Виды алгоритмических конструкций. Алгоритм Евклида. Примеры алгоритмов.
- Язык программирования. Определение, цели, классификация. Примеры языков программирования: Fortran, Basic, Pascal, C/C++, LISP, Prolog. Поколения и топологии языков программирования.
- Трансляция, виды трансляторов. Структура языка программирования. Обзор языков высокого уровня (COBOL, Algol, Java, C#). Языки программирования для интернета (HTML, VRLM, XML, HTML5, PHP). Прочие языки (SmallTalk, Ada, Forth).
- Язык программирования Pascal. История создания и развития языка. Стандарты языка. Структура языка. Виды констант.
- Язык программирования Pascal. Переменные. Простые типы данных: целочисленные, вещественные, логические, символьные. Операции над переменными этих типов. Преобразование типов.
- Язык программирования Pascal. Выражения и предложения. Структура программы на Pascal. Основные операторы языка: присваивание, составной оператор, операторы ветвления и выбора, операторы циклов, оператор безусловного перехода. Примеры использования операторов.
- Язык программирования Pascal. Составные типы данных. Строки. Операции и функции для работы со строками. Пример использования.
- Язык программирования Pascal. Составные типы данных. Массивы. Классификация массивов: одномерные и многомерные, статические и динамические. Объявление массивного типа, основные операции над массивами: заполнение массива, поиск наибольшего/наименьшего элемента, суммы, среднего значения в массиве.
- Язык программирования Pascal. Составные типы данных. Массивы. Сортировка массивов. Сортировка выбором, сортировка обменом (основная идея, пример реализации). Оценка и характеристики алгоритма сортировки. Примеры других алгоритмов (список, трудоемкость).
- Язык программирования Pascal. Составные типы данных. Массивы. Сортировка массивов. Сортировка перемешиванием, сортировка вставками, блочная сортировка (основная идея, пример реализации).
- Язык программирования Pascal. Составные типы данных. Массивы. Сортировка массивов. Сортировка двоичным деревом, пирамидальная сортировка (основная идея, пример реализации).
- Язык программирования Pascal. Составные типы данных. Массивы. Сортировка массивов. Сортировка Хоара (основная идея, пример реализации).
- Язык программирования Pascal. Составные типы данных. Файлы. Виды файлов, их отличия друг от друга. Порядок работы с файлами. Процедуры и функции для работы с файлами. Примеры программ.
- Язык программирования Pascal. Составные типы данных. Множества. Определение, примеры задания базового типа и переменной-множества. Методы для работы с множествами. Примеры программ.
- Язык программирования Pascal. Подпрограммы. Определение, назначение. Описание и реализация процедур и функций. Виды аргументов, их отличия, примеры. Иерархия подпрограмм. Рекурсия, примеры рекурсивных процедур и функций.
- Статические и динамические данные, их отличия. Указатели, правила работы с указателями. Именование и разыменование переменных. Структуры (записи), назначение, примеры описания и использования. Пример использования записей для книжного массива.
- Динамические структуры данных (ДСД). Назначение, особенности. Списки, определение, виды. Особенности реализации односвязных и двусвязных списков. Задача об алфавитно-частотном словаре (АЧС). Общий алгоритм работы со списком для решения задачи об АЧС.
- Динамические структуры данных (ДСД). Задача об АЧС. Создание нового узла, добавление узла в начало, добавление после заданного, проход по списку, добавление в конец и перед заданным.
- Динамические структуры данных (ДСД). Задача об АЧС. Поиск нового слова в списке. Удаление узла. Чтение слова из файла. Построение списка слов, вывод в конечный файл. Общая структура программы.
- Динамические структуры данных (ДСД). Стек. Задача о правильном расположении скобок в формуле. Решение задачи при помощи массива и списка. Системный стек Windows.
- Динамические структуры данных (ДСД). Очередь. Пример задачи (любой). Реализация очереди кольцевым массивом и списком. Деки.
- Динамические структуры данных (ДСД). Дерево. Определение, примеры. Основные понятия, ботаническая и иерархическая нотации. Понятие бинарного дерева. Задачи, приводящие к понятию бинарного дерева. Двоичные деревья поиска, их построение. Обход дерева.
- Динамические структуры данных (ДСД). Дерево. Задача о разборе и вычислении выражения. Построение дерева, учет приоритета операций, вычисление выражения по дереву. Основная программа.
- Динамические структуры данных (ДСД). Граф. Определение, описание, списки смежности. Обнаружение цепей и циклов.
- Динамические структуры данных (ДСД). Граф. Весовая матрица. Задача Прима-Краскала, его реализация. Оценка сложности алгоритма.
- Динамические структуры данных (ДСД). Граф. Алгоритм Дейкстры, его реализация. Алгоритм Флойда-Уоршелла. Задача коммивояжера, сложности ее решения.
- Технологии программирования. Достоинства и недостатки различных подходов. Объектно-ориентированное программирование (ООП). Концепция объектной модели. Абстрагирование, инкапсуляция, модульность.
- Технологии программирования. Достоинства и недостатки различных подходов. Объектно-ориентированное программирование (ООП). Концепция объектной модели. Иерархия, типизация, параллелизм, сохраняемость.
- Реализация объектной модели в Object Pascal. Определение и объявление классов и объектов. Понятия полей, методов и свойств. Конструкторы и деструкторы. Пример.
- Реализация объектной модели в Object Pascal. Наследование. Пример иерархии наследования. Виртуальные и динамические методы.
- Реализация объектной модели в Object Pascal. Полиморфизм. Перегружаемые методы. Раннее и позднее связывание. Зоны видимости полей и методов.
- Языки программирования С и С++. История создания и развития языка. Стандарты языка. Структура языка: алфавит, виды лексем. Особенности компиляции в С++. Директивы препроцессора #include, #define, #undef, # pragma, #error.
- Языки программирования С и С++. Условная компиляция. Директивы #if, # ifdef, # ifndef, # else, # elif, #endif. Именованные и неименованные константы.
- Языки программирования С и С++. Переменные, объявление переменных. Классы переменных. Простые типы данных: целочисленные, вещественные, логические, символьные. Операции над переменными этих типов. Области видимости переменных. Объявления namespace и using. Преобразование типов.
- Языки программирования С и С++. Перегрузка операций. Основные операторы: присваивания, условная операция, выбора, множественного выбора, циклов, прерывание и продолжение циклов, перехода.