(теория алгоритмов и программирование)
Материалы лекций
Программа курса
Лабораторные работы
Литература
Результаты экзаменов
Список вопросов к экзамену
Пройти тест
Free Pascal Compiler скачать
Краткий справочник по языку Pascal скачать
Delphi - Starter Edition - Free Download скачать
АКТУАЛЬНЫЕ ПРЕЗЕНТАЦИИ В PDF-ФОРМАТЕ
Для проектора viewgraphs.zip
Для печати viewgraphs_for_print.zip
Все главы присутствуют.
CОДЕРЖАНИЕ РАЗДЕЛОВ (ГЛАВ ЛЕКЦИЙ)
- Гл. 1. Введение
Краткий обзор истории возникновения и эволюции методов и подходов к программированию вычислительных систем. - Гл. 2. Программное управление компьютером
Понятие программы. Типы программ. Архитектура компьютера и особенности обмена информацией между его узлами. Архитектура фон Неймана. Машинный код, машинная команда. Позиционные системы счисления – двоичная, десятичная, шестнадцатеричная. Перевод чисел из одной системы счисления в другую. Особенности хранения целых чисел в памяти компьютера. Машинная математика. Машинная логика. - Гл. 3. Этапы разработки программного обеспечения и языки программирования
Программное обеспечение. Этапы разработки программного обеспечения. Технологии, используемые на этапе проектирования программ. Языки программирования низкого уровня и высокого уровня. Императивные, объектно-ориентированные, функциональные, логические языки программирования. Поколения языков программирования. Принципы трансляции (компилятор и интерпретатор). Смешанные системы трансляции. Программирование для Интернет. Схема компилятора и этапы компиляции. - Гл. 4. Алгоритмы, структурное и объектно-ориентированное программирование
Понятие и свойства алгоритма. Язык блок-схем. Язык проектирования программ (псевдокод). Простая программа. Структурный подход к разработке алгоритмов. Основные (базовые) структуры и их разновидности. Типы алгоритмов. Рекурсивные алгоритмы. Алгоритмы поиска. Алгоритмы сортировки. Стратегии распределения памяти в компьютере. Принципы и механизмы объектно-ориентированного программирования. - Гл. 5. Базовые элементы языка программирования Delphi Pascal
Cинтаксис и семантика языка программирования. Методы формального описания синтаксиса. Алфавит языка Delphi Pascal. Разновидности идентификаторов. Типы констант. Принципы размещения данных в оперативной памяти. Адресация. Атрибуты переменной. Типизированные константы. Выражения и операции. Стандартные скалярные типы данных (логический, целые, символьный, перечисляемый, тип-диапазон, вещественные) – выделяемая память, диапазон значений, применимые операции, функции и процедуры. Порядковый типы. Принципы размещения вещественных чисел в памяти. Операции отношения. Приоритет операций. Структура программы. Среда Turbo Delphi. - Гл. 6. Управляющие структуры
Понятия оператора, простого и составного операторов. Операторы языка Delphi Pascal (присваивания, условный, множественного выбора, цикла, безусловного перехода) - синтаксические диаграммы и принцип действия. Процедуры выхода из программных блоков. Процедуры неструктурной передачи управления при работе с циклами. - Гл. 7. Структурированные типы данных
Организация типов данных в языке Delphi Pascal. Структурированные типы данных (массивы, записи, множества) – описание, выделяемая память, применимые операции, функции и процедуры. Оператор присоединения. Вложенные структуры. Строки. Стандартные процедуры и функции, работающие со строками. Совместимые типы. Совместимость по присваиванию. Явное преобразование типов с использованием стандартных функций. Автоопределенное преобразование типов. Неявное преобразование типов. - Гл. 8. Подпрограммы и модули
Понятие подпрограммы. Разновидности подпрограмм – процедуры и функции. Структура процедуры и функции. Размещение кода подпрограммы в памяти. Использование стека в памяти для хранения локальных данных. Область видимости переменной. Время жизни переменной. Формальные и фактические параметры. Параметры-значения, параметры-переменные и параметры-константы. Отличительные особенности функций. Рекурсивные функции. Процедурный тип данных. Использование процедурного типа при введении параметров-функций и параметров-процедур. Стандартные математические функции и процедуры языка Delphi Pascal. Определение и необходимость использования модуля. Структура модуля. Стандартные модули языка Delphi Pascal. - Гл. 9. Ввод-вывод данных и файловая структура
Уровни файловой структуры – физические файлы, логические файлы. Типы файловых переменных. Основные процедуры работы с файлами. Текстовые файлы. Особенности чтения и записи данных разных типов в текстовые файлы. Обмен данными с консолью. Типизированные и нетипизированные файлы. - Гл. 10. Указатели и динамическая память
Динамическая память. Использование указателей при работе с динамической памятью. Типизированные и нетипизированные указатели. Выделение и освобождение динамической памяти. Основные процедуры при работе с указателями. Использование динамической памяти при размещении данных большого объема. Типы и организация динамических структур. Основные операции при работе со списком – создание списка, добавление элемента, уничтожение списка. - Гл. 11. Объекты
Описание классов. Поля и методы класса. Методы-конструкторы и методы-деструкторы. Статические и динамические объекты. Создание объектов. Реализация принципа инкапсуляции. Скрытие полей объекта. Библиотеки классов. Реализация принципа наследования. Переопределение (перекрытие) методов. Простой полиморфизм, раннее связывание. Позднее связывание, виртуальные методы.
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
- Среда разработки программ в системе программирования Delphi. Структура программы (консольное приложение).
- Простые типы данных - вещественные, целые. Процедуры ввода и вывода данных на экран. Форматный вывод чисел. Оператор присваивания. Арифметические действия и встроенные математические функции.
- Структурное программирование. Логический тип данных. Операции отношения. Условный оператор IF…THEN…ELSE. Тип-диапазон, перечисляемый тип. Оператор множественного выбора CASE…OF…END.
- Программирование циклических алгоритмов. Оператор цикла итеративного типа с предусловием WHILE…DO. Оператор цикла итеративного типа с постусловием REPEAT…UNTIL. Оператор цикла с параметром FOR…TO…DO.
- Строковый и символьный типы данных. Операции над строками.
- Структурированные типы данных. Одномерные и многомерные массивы. Динамические массивы. Записи.
- Множества. Методы сортировки - выборки, включением, обменами (пузырьковая).
- Методы поиска. Быстрые методы сортировки.
- Подпрограммы. Создание пользовательской функции. Рекурсивные функции.
- Процедуры. Параметры-значения и параметры-переменные.
- Модули. Создание модуля и особенности его использования.
- Особенности работы с файлами. Текстовые файлы.
- Динамические переменные. Указатели. Стандартные процедуры и функции при работе с указателями.
ОСНОВНАЯ ЛИТЕРАТУРА
- Иванова Г.С. Основы программирования, Изд. МГТУ, 2001.
- Макарова Н.В., Волков В.Б. Информатика: Учебник для вузов. СПб.: Питер, 2011.
- Свердлов С.З. Языки программирования и методы трансляции: Учебное пособие. СПб.: Питер, 2007.
- Иванова Г.С. Программирование : учебник. М.: КНОРУС, 2013.
- Фаронов В.В. Система программирования Delphi. СПб.: БХВ, 2006.
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
- Себеста Р.У. Основные концепции языков программирования, Изд. дом «Вильямс», 2001.
- Бусыгин Б.С., Коротенко Г.М., Коротенко Л.М. Введение в современную информатику, Днепропетровск, 2004.
- Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения, Мир, 1982.
- Румянцев Д.Г., Монастырский Л.Ф. Путь программиста, Изд. дом «Инфра-М», 2000.
- Хьюз Дж., Мичтом Дж. Структурный подход к программированию, Мир, 1980.
- Кнут Д. Искусство программирования, 1-3 тт., Изд. дом «Вильямс», 2000.
- Вирт Н. Алгоритмы и структуры данных, Мир, 1989.
РЕЗУЛЬТАТЫ ЭКЗАМЕНОВ
(без учета доп. сессии и пересдач)
СПИСОК ВОПРОСОВ К ЭКЗАМЕНУ 2019 ГОДА
- Понятия программы и программирования. Поколения и классификация компьютеров.
- Архитектура компьютера и особенности обмена информацией между его узлами.
- Архитектура фон Неймана. Машинный код.
- Системы счисления (двоичная, десятичная, шестнадцатеричная). Перевод чисел из одной системы счисления в другую.
- Машинная математика и логика.
- Типы программ. Этапы разработки программного обеспечения.
- Языки программирования низкого уровня и высокого уровня. Характерные особенности и области применения языков программирования высокого уровня.
- Типы и поколения языков программирования. Языки веб-программирования.
- Принципы трансляции (компилятор и интерпретатор). Схема компилятора. Динамическая кодогенерация.
- Понятие и свойства алгоритма. Язык блок-схем.
- Понятие и свойства алгоритма. Язык проектирования программ (псевдокод).
- Простая программа. Основные структуры алгоритмов. Структурное (процедурное) программирование.
- Рекурсивные алгоритмы. Алгоритмы поиска.
- Алгоритмы сортировки (метод выборки, сортировка включением, сортировка обменами).
- Алгоритмы сортировки (сортировка распределением, быстрая сортировка, сортировка слиянием).
- Принципы объектно-ориентированного программирования. Внутренность объекта. Иерархия классов.
- Синтаксис и семантика языка программирования. Алфавит. Методы формального описания синтаксиса.
- Идентификаторы. Константы. Типизированные константы.
- Переменные. Адресация. Типы.
- Выражения и операции (логические, арифметические, отношения). Приоритет операций.
- Скалярные типы данных (логический, символьный, перечисляемый, тип-диапазон). Порядковые типы.
- Скалярные типы данных (целые, вещественные). Принципы размещения целых и вещественных чисел в памяти компьютера.
- Структура программы. Содержание разделов.
- Управляющие структуры. Оператор присваивания. Простой и составной операторы. Оператор множественного выбора.
- Условный оператор. Оператор и процедуры безусловного перехода.
- Операторы цикла.
- Структурированные типы данных. Массивы. Записи. Оператор присоединения.
- Структурированные типы данных. Множества. Строки.
- Совместимость типов. Явное и неявное преобразование типов.
- Подпрограммы. Структура процедуры и функции.
- Подпрограммы. Область видимости переменных.
- Параметры процедур и функций.
- Подпрограммы. Функции. Рекурсия.
- Процедурные типы. Параметры-функции и параметры-процедуры.
- Модули. Структура модуля.
- Логический и физический файлы. Общие процедуры работы с файлами.
- Текстовые файлы. Обмен данными с консолью.
- Типы файловых переменных.
- Динамическая память. Размещение данных в динамической памяти.
- Указатели. Типизированные и нетипизированные указатели. Процедуры работы с указателями.
- Динамическая память. Использование динамической памяти для размещения данных большого объема. Динамические структуры.
- Создание и работа со списком.
- Объекты. Создание объекта.
- Объекты. Ограничение доступа к полям и методам.
- Объекты. Наследование.
- Объекты. Простой полиморфизм.
- Объекты. Раннее и позднее связывание. Виртуальные методы.
ТЕСТ ПО КУРСУ "ИНФОРМАТИКА"