Обзор дисциплины «Основы процедурно-структурного программирования задач системного анализа объектов химической технологии»

Семестр: 1-ый,    Трудоёмкость: 144 часа,     Контроль: экзамен и курсовая работа.


Цели дисциплины

Целью дисциплины является изучение основ и методов процедурной и структурной методологии программирования при решении задач системного анализа применительно к объектам химической технологии и технологических процессов, освоение современных сред и языков системного программирования, формирование практических навыков разработки и документирования программ.

Задачи дисциплины

Задачей дисциплины является изучение базовой терминологии сферы программирования, задач системного анализа и их приложение к объектам химической технологии, методологии процедурного и структурного программирования, базовых типов данных, их свойств и ограничений, типовых структур данных, базовых алгоритмических конструкций и способов представления алгоритмов, методов тестирования процедурных программ и структурированных данных, современных инструментальных сред программирования.

Место дисциплины

Дисциплина входит в вариативную часть профессионального цикла образовательной программы как обязательная дисциплина (Б3.В.ОД.6). Студент должен иметь знания о компьютерах в объёме школьной общеобразовательной программы.


Результаты освоения дисциплины

В результате изучения данной учебной дисциплины студент:

Полученные знания могут быть применены на рынке труда в профессиях: программист, инженер-тестировщик.


Содержание основных разделов дисциплины

Цикл лекционных и практических занятий по учебной дисциплине включает следующий перечень тем и их краткое содержание:

Введение и терминология

Введение. Базовая терминология. Понятие программы, классификация программ по назначению и по выполнению. Сопряженные понятия предметной области, функции, задачи, функциональности, среды функционирования. Понятие программного кода и языка программирования. Уровни кода. Классификация языков.

Среда программирования

Понятие инструментальной среды программирования. Основные компоненты среды: проекты, редакторы, компиляторы, интерпретаторы, конверторы, сборщики, отладчики, библиотеки. Особенности компиляторов и интерпретаторов, их достоинства и недостатки. Порядок сборки программы из различных модулей. Специфика выбора языка и среды программирования для решения задач системного анализа объектов химической технологии.

Методология программирования

Понятие программирования как научной и практической дисциплины. Понятие парадигмы. Исторически сложившиеся парадигмы. Методология процедурного программирования. Методология структурного программирования. Языки системного и прикладного программирования. Преимущества и недостатки методологий применительно к задачам системного анализа объектов химической технологии.

Данные и их типизация

Понятие данных. Свойства данных, диапазоны значений, форматы представления, размеры в памяти. Типизация. Классификация типов данных. Базовые типы данных в языках процедурного и структурного программирования: целые, вещественные, символьные, логические, перечисления. Бинарное представление базовых типов данных в памяти компьютера. Правила записи констант базовых типов данных. Объявление и использование переменных базовых типов. Создание пользовательских типов.

Преобразование данных

Понятие преобразования данных. Явное, неявное, функциональное преобразование. Способы преобразования. Приведение типов данных. Особенности преобразования данных в языках процедурного и структурного программирования. Машинная эпсилон. Проблема переполнения при вычислениях. Специфика округления данных применительно к задачам системного анализа.

Операции и выражения

Понятие операции. Классификация операций. Основные группы операций над данными: арифметические, логические, адресные, битовые, сравнения, присваивания, и правила их выполнения. Особенности некоторых операций. Понятие выражения. Правила записи выражений. Приоритет операций в выражениях. Применение операций при решении задач системного анализа.

Битовая обработка данных

Понятие системы счисления (СС). Основные системы счисления: десятичная, двоичная, восьмеричная, шестнадцатеричная. Перевод чисел из десятичной СС в двоичную СС, из десятичной СС в шестнадцатеричную СС, из двоичной СС в десятичную СС, из шестнадцатеричной СС в десятичную СС, из двоичной СС в шестнадцатеричную СС и из шестнадцатеричной СС в двоичную СС. Внутреннее представление данных. Битовые диаграммы. Методы работы с битами внутри данных: проверка состояния бита, установка бита, сброс бита, инвертирование бита, упаковка значения, извлечение значения.

Структура проекта и классы памяти

Структура проекта: решение → проект → модуль → функция. Как создаются проекты в изучаемой среде программирования. Способы организации проектов для различных задач системного анализа. Понятие области видимости элемента программы. Понятие времени жизни элемента программы. Пространства имен элементов программы. Предопределённые пространства. Доступ к элементам программы. Классы памяти в изучаемом языке системного программирования.

Алгоритмизация

Понятие алгоритма. Свойства алгоритма. Виды алгоритмов. Способы записи алгоритма. Блок-схемы. Правила выполнения блок-схем. Разработка алгоритмов. Структурирование программного кода в задачах системного анализа.

Типовые алгоритмические конструкции

Следование: последовательность, переход, возврат. Ветвление: обход, бинарный выбор, ступенчатый выбор, множественный выбор. Циклы: с предусловием, с постусло-вием, с управляющей переменной. Представление типовых конструкций с помощью блок-схем. Организация типовых конструкций в языках программирования.

Массивы данных

Понятие массива данных. Свойства массива. Размерность и измерения массива. Индексация и доступ к элементам массива. Объявление и инициализации статических массивов. Приёмы работы с одномерными и многомерными статическими массивами. Строки, как одномерные массивы кодов символов. Методы обработки массивов различной размерности при решении задач системного анализа.

Структурные данные

Понятие структурированных данных. Агрегация данных: перечисления, структуры, объединения. Объявление и описание элементов структурированных данных. Свойства структурированных данных и доступ к их элементам. Применение структурированных данных для описания объектов химической технологии в задачах системного анализа.

Адреса, указатели, ссылки

Организация памяти. Адресация памяти. Размещение базовых типов и структур данных в памяти. Адрес элемента структуры данных. Понятия указателя. Виды и типы указателей. Преобразование типов указателей. Неопределенный указатель. Операции над указателями. Прямая, косвенная, индексная адресация относительно указателя. Ссылки. Объявление и приёмы работы с указателями и ссылками. Сходства и различия при работе с указателями и ссылками. Использование указателей и ссылок для передачи параметров в функции. Указатели на функции. Вызов функции по указателю.

Динамические данные

Понятие динамических данных. Операторы создания и удаления динамических данных. Резервирование и инициализация динамических данных и массивов. Использование указателей при работе с динамическими данными и массивами. Каскадная адресация, указатели на указатели. Доступ к элементам структур и объединений по указателю. Приёмы работы с одномерными и многомерными динамическими массивами. Особенности организации многомерных динамических массивов данных и структур. Массивы строк. Обработка строк и массивов с помощью указателей. Массивы указателей на функции.

Макрообработка

Макрообработка и преобразование программного кода. Понятие макроса. Подключение модулей. Модули описания. Подстановка кода. Создание и использование псевдо-функций, их отличие от обычных функций. Условная компиляция. Директивы препро-цессора. Статические библиотеки функций. Преимущества библиотек перед набором независимых модулей. Создание статических библиотек и их использование в другом проекте. Применение макрообработки и статических библиотек в задачах системного анализа объектов химической технологии.

Тестирование и отладка

Ошибки программирования. Виды ошибок. Разработка тестовых планов. Отладка. Отладочные средства изучаемой среды программирования. Доработка программного кода при решении задач системного анализа. Оформление и комментирование программного кода.


Курсовая работа по дисциплине

Планом учебной дисциплины предусмотрена курсовая работа, которая заключаются в разработке программы на заданную тему. Например:

Перечень работ включает:


Самостоятельная работа по дисциплине

Рабочей программой дисциплины предусмотрена самостоятельная работа студентов, которая проводится с целью углубления знаний по дисциплине и выполнения курсовой работы и предусматривает изучение следующих вопросов:

Планирование времени на самостоятельную работу осуществляется на весь семестр, предусматривая регулярное повторение пройденного материала. Формой контроля самостоятельной работой являются устные опросы, проводимые в течение периода обучения, и демонстрации индивидуальных заданий.


Список литературы по дисциплине

Учебно-методическое обеспечение дисциплины включает печатную и электронную литературу, интегрированные справочные системы, авторские методические материалы, Интернет публикации и форумы.

  1. Павловская, Т. А. C/C++. Структурное программирование. Практикум: учебное посо-бие / Т. А. Павловская, Ю. А. Щупак.- СПб: Питер, 2005.- 239 с.
  2. Полубенцева, М.И. Процедурное программирование C/C++. / М.И. Полубенцева.- СПб: бхв-питер, 2008.- 448 с.
  3. Павловская, Т.А. С/С++. Программирование на языке высокого уровня: учебник. / Т.А. Павловская.– М.; СПб.; Н.Новгород: Питер, 2007.- 460 с.
  4. Подбельский, В.В. Курс программирования на языке Си. / В.В. Подбельский, С.С. Фомин.- СПб.: ДМК Пресс, 2012.- 384 с.
  5. Прата, С. Язык программирования Си. Лекции и упражнения. / С. Прата ; пер. с англ.- М.: Вильямс, 2006.- 960 с.
  6. Керниган, Б. Язык программирования Си. / Б. Керниган, Д. Ритчи ; пер. с англ. - М.: Финансы и Статистика, 1992.- 272 с.

Материально-техническое обеспечение дисциплины

Классы 1, 4, 5, 6, 9 (кафедры системного анализа), Microsoft Windows 7, Internet Explorer, Microsoft Visual Studio 2010, Microsoft Word 2010, Microsoft PowerPoint 2010


Вернуться к списку дисциплин бакалавриата

Страничка разработчика УМК/РПД дисциплин