Космический факультет

Кафедра К3
«Прикладная математика, информатика и вычислительная техника»

Телефон: 8 (498) 687-43-52
ГУК, ауд. 447
E-Mail: caf-pm@mgul.ac.ru, caf-vt@mgul.ac.ru


Программирование на языке высокого уровня

Преподаватель: Ларионов Николай Викторович

Направление подготовки: 654600 «Информатика и вычислительная техника»
Специальность: 230101 (220100) «Вычислительные машины, комплексы, системы и сети»
Семестры:  1, 2, 3
Вид итогового контроля:
зачет — 1, 2 семестры
экзамен — 1, 2 семестры
курсовая работа — 3 семестр

Содержание курса:

  1. Введение
    • Цель и задачи курса
    • Место ЭВМ в различных сферах человеческой деятельности.
  2. Основы алгоритмизации
    • Алгоритм и его свойства
    • Основные структуры алгоритмов: СЛЕДОВАНИЕ, РАЗВИЛКА, ПОВТОРЕНИЕ
    • Способы записи алгоритмов: словесная форма, формальные языки, условные графические обозначения.
  3. Основные этапы решения задач на ЭВМ
    • Постановка задачи
    • Математическая формулировка задачи
    • Составление алгоритма
    • Проверка правильности алгоритма
    • Разработка программы
    • Отладка программы
    • Тестирование программы
    • Спецификация программы
    • Критерии качества программы
    • Жизненный цикл программы
    • Обзор языков программирования
  4. Создание программы на языке Паскаль
    • Интегрированная среда
    • Окна интегрированной среды
    • Главное меню
    • Структура меню
    • Работа с файлами
    • Работа с редактором
    • Запуск программ на выполнение
    • Компиляция
    • Установки отладчика
    • Характеристика и особенности языка
    • Алфавит языка и зарезервированные слова
    • Синтаксические диаграммы
    • Общая структура программ
    • Объекты программы
    • Раздел описаний
    • Содержимое раздела описаний
  5. Стандартные типы данных
    • Система типов языка
    • Простые типы
    • Целочисленные типы
    • Вещественные типы
    • Булевский тип
    • Ограниченные типы
    • Перечислимые типы
    • Определение типов
    • Константы и переменные
    • Литеральные и именованные константы
    • Описание констант
    • Виды констант
    • Целые, вещественные, символьные и строковые константы
    • Описание переменных
    • Инициализация переменных
    • Типизированные константы
  6. Операторы и операции
    • Унарные, мультипликативные, аддитивные операции, операции отношения
    • Приоритет операций
    • Арифметические и логические операции
    • Усеченный способ вычисления логических выражений
    • Простые и структурные операторы
    • Оператор присваивания
    • Оператор процедуры
    • Составной оператор
    • Пустой оператор
  7. Управляющие структуры
    • Оператор безусловного перехода GOTO
    • Условный оператор (IF...THEN...ELSE)
    • Оператор варианта (CASE)
    • Операторы цикла
    • Оператор цикла с предусловием (WHILE)
    • Оператор цикла с постусловием (REPEAT...UNTIL)
    • Оператор цикла с параметром (FOR...DO)
  8. Составные типы
    • Регулярные типы
    • Массивы и работа с ними
    • Символьные массивы
    • Строковый тип (STRING)
    • Комбинированные типы (RECORD)
    • Запись с вариантами
    • Оператор присоединения
    • Множественные типы (SET OF)
    • Операции над множествами
    • Эквивалентность и совместимость типов
    • Преобразование типов
  9. Файловые типы и ввод-вывод
    • Понятие файла
    • Виды файлов языка: типизированные, текстовые, нетипизированные
    • Общие процедуры для работы с файлами
    • Текстовые файлы
    • Ввод-вывод из текстовых файлов
    • Типизированные файлы
    • Нетипизированные файлы
    • Ввод-вывод из нетипизированных файлов
  10. Теорема структуры и структурное программирование
    • Процедуры и функции
    • Общая структура подпрограмм
    • Глобальные и локальные описания
    • Область действия имен
    • Параметры
    • Способы передачи параметров подпрограммам
    • Передача параметров по значению
    • Передача параметров по ссылке
    • Бестиповые параметры
    • Предварительные и внешние описания подпрограмм
    • Процедурные типы
  11. Динамические структуры данных
    • Ссылочные типы
    • Динамические переменные
    • Указатели
    • Операции над указателями
    • Операция взятия адреса
    • Операция раскрытия ссылки
    • Статические и динамические переменные
    • Организация памяти области кучи
    • Процедуры управления кучей
    • Размещение динамических переменных
    • Процедуры NEW и GETMEM
    • Освобождение динамических переменных
    • Динамические структуры данных; линейные списки, очереди, стеки
  12. Модули
    • Структура модулей
    • Особенности работы с модулями
    • Стандартные модули
  13. Рекурсивные алгоритмы
    • Рекурсивные определения и алгоритмы
    • Программирование рекурсивных алгоритмов
    • Рекурсивные структуры
  14. Способы конструирования и верификации программ
  15. Язык программирования С
    • Общие сведения о языке
    • Логическая организация простой программы на Си
    • Этапы получения исполняемой программы
    • Препроцессор, компилятор и загрузчик
    • Директивы компилятора #include и #define
    • Лексическая структура языка
    • Комментарии
    • Ограничители
    • Операции
    • Идентификаторы
    • Зарезервированные слова
    • Константы и их виды
    • Целые и вещественные константы
    • Символьные и строковые константы
    • Скалярные типы данных, операции, преобразование типов. Описание переменных целого, вещественного и символьного типа
    • Группы операций языка Си
    • Арифметические операции
    • Операции отношения
    • Логические операции
    • Приоритет операций
    • Операции sizeof и , (запятая )
    • Приведение и преобразование типов
    • Управляющие структуры
    • Блоки и составные операторы
    • Пустой оператор
    • Операторы ветвления if и if...else
    • Условная операция ?... : ..
    • Оператор switch
    • Оператор goto
    • Циклы
    • Цикл while
    • Цикл do... while
    • Цикл for
    • Операторы break и continue
  16. Функции.
    • Структура функций в Си
    • Описание и определение функций
    • Прототип функции
    • Способы передачи параметров
  17. Массивы и указатели
    • Описание и инициализация массивов
    • Строки
    • Способы их описания
    • Указатели, их описание
    • Операции взятия адреса & и раскрытия ссылки *
    • Связь указателей с массивами
    • Арифметические действия над указателями
    • Способы инициализации указателей
    • Указатели и модели памяти в Си
    • Функции работы с динамической памятью
  18. Ввод-вывод в Турбо Си
    • Потоковый ввод-вывод
    • Классы функций ввода-вывода
    • Ввод-вывод верхнего уровня
    • Ввод-вывод символов и строк
    • Ввод-вывод из файлов
  19. Области видимости и классы памяти.
    • Время жизни и область действия переменных
    • Автоматические переменные
    • Регистровые и статические переменные
    • Внешние переменные и функции
  20. Агрегатные типы данных.
    • Перечислимые типы
    • Структуры и объединения
    • Инициализация структур
    • Битовые поля
    • Использование структур и объединений

Рекомендуемая литература:

  1. Павловская Т. А., «Паскаль. Программирование на языке высокого уровня»: Учеб. для вузов. — СПб: Питер, 2007 — 393 с.
  2. Павловская Т. А. С/С++. «Программирование на языке высокого уровня»: учеб. для вузов. — СПб.: Питер, 2006. — 464 с.
  3. Фаронов В. В. «Турбо Паскаль 7.0» начальный курс. Учебное пособие — М.: «Налидж», 2005 — 616 c.

Дополнительная литература:

  1. С. А. Абрамов., Г. Г. Гнездилова и др. Задачи по программированию М.: Наука 1988. — 224 с.

Учебные и учебно-методические пособия:

  1. Павловская Т. А., «Паскаль. Программирование на языке высокого уровня». Практикум — СПб.: Питер, 2006 — 317 с.
  2. Павловская Т. А., Щупак Ю. А. С/++. «Структурное программирование». Практикум. — СПб.: Питер, 2002 — 240 с.

Нормативные документы:

  1. ГОСТ 28338-89 Единая система программной документации. Условные обозначения.

Интернет-ресурсы:

  1. ips.ifmo.ru
  2. www.intuit.ru

Учебные материалы:

Вопросы к экзамену

Административный раздел