Дисциплины:Программирование и основы алгоритмизации
Материал из Кафедра Автоматики и телемеханики
Дисциплина "Программирование и основы алгоритмизации"
- Направление:220200.62 "Автоматизация и управление"
- Специальность:220201.65 "Управление и информатика в технических системах"
Базируется на дисциплине:
Является базовой для дисциплин:
- Технические средства автоматизации и управления
- Микропроцессорные средства и системы управления
- Системное программное обеспечение
- Информационное обеспечение систем управления
Преподаватель:
Учебная лаборатория:
- Системы автоматизации и управления (ауд.315, к.А ЭТФ)
Цель изучения дисциплины: формирование комплекса знаний о базовых принципах алгоритмизации и программирования применительно к алгоритмическим языкам высокого уровня.
Общая информация
В настоящее время при построении систем автоматизации и управления все больший удельный вес занимает проектирование алгоритмов (алгоритмизация) и разработка программного обеспечения (программирование). Поэтому очень важно научиться основным принципам программирования и алгоритмизации, для начала, применительно к алгоритмическим языкам высокого уровня.
Используя эти сведения, студент в дальнейшем в ходе изучении дисциплин "Технические средства автоматизации и управления", "Микропроцессорные средства и системы управления" сможет перейти непосредственно к освоению особенностей программирования контроллеров и разработки программного обеспечения верхнего уровня систем автоматизации и управления. При изучении дисциплины "Системное программное обеспечение", "Информационное обеспечение систем управления" также пригодятся знания об основах программирования и алгоритмизации.
В качестве базовых языков высокого уровня при изучении дисциплины используются языки программирования C и C++.
Почему выбраны языки C и C++?
- Язык C является достаточно низкоуровневым, хотя и относится к классу языков высокого уровня. В частности, это проявляется в том, что он является, пожалуй, самым популярным языком системного программирования. Например, с помощью него обычно создаются драйверы устройств, что часто бывает необходимым в случае разработки нового технического устройства или при подключении нестандартного устройства. И подобные ситуации нередко возникают при разработке системы автоматизации и управления.
- Во многих SCADA-пакетах в качестве встроенных языков программирования используются языки, очень похожие на язык C.
- Язык C++ удобен для разработки программного обеспечения верхнего уровня, в частности, для разработки графического интерфейса с пользователем. Например, свободный и кроссплатформенный фреймворк Qt имеет в своей основе именно язык C++.
- Языки C и C++ - это одни из самых популярных языков программирования. Действительно, согласно индексу TIOBE[1] языки C и С++ уверенно занимают 2-е и 3-е место в рейтинге. При этом язык С почти на одном уровне с 1-м местом, которое занимает язык Java. И что важно, в целом, эта тенденция сохраняется на протяжении 10 лет. Время от времени, язык C даже выходит на первое место. Можно также обратиться к рейтингу сайта indeed.com, который определяется по предложениям о приеме на работу, где указываются требования знания языков программирования. В августе 2011 года язык C++ занимал[2] третье место среди языков Java, C++, C#, Objective C, Perl, Visual Basic. В этой группе языков отсутствует язык C, скорее всего, из-за сложности формирования правильного запроса именно для этого языка.
Используемое программное обеспечение
В качестве среды разработки используется интегрированная программная среда Code::Blocks. К основным преимуществам Code::Blocks относятся:
- свободная лицензия GPL v3.0, в частности, разрешается бесплатное распространение и использование;
- среда может работать в операционных системах семейств Windows, Linux, OS X (то есть является кросс-платформенной);
- возможность работы с различными компиляторами.
При этом обычно устанавливается как сама среда Code::Blocks, так и среда MinGW, которая предоставляет компиляторы семейства GCC. Среда MinGW тоже относится к свободно распространяемому программному обеспечению.
Для организации эффективного взаимодействия преподавателя со студентами в ходе лабораторных занятий используется программное обеспечение iTALC. При этом взаимодействие реализуется в следующих основных режимах.
- Режим проектора. Преподаватель может транслировать изображение со своего монитора на мониторы студентов. Этот режим удобен для объяснения учебного материала и демонстрации примеров работы в программных средах.
- Режим наблюдения. Преподаватель видит изображения на мониторах студентов.
- Режим удаленного управления. Преподаватель может перехватывать управление компьютером студента. В этом режиме удобно вносить коррективы в действия студентов и помогать им в решении тех или иных практических задач, которые могут возникать в ходе выполнения учебных заданий.
Литература и учебные материалы, используемые при изучении дисциплины
- Давыдов В.Г. Программирование и основы алгоритмизации: учебное пособие для вузов. – М.: Высш. шк., 2005.— 448 с.: ил.
- Давыдов В.Г. Программирование и основы алгоритмизации: учебное пособие для вузов. – М.: Высш. шк., 2003.— 448 с.: ил.
- Керниган Б., Ритчи Д. Язык программирования С: пер. с англ. – М.: Вильямс, 2006 .— 289 с.: ил.
- Подбельский В.В. Программирование на языке Си: учебное пособие для вузов. – М.: Финансы и статистика, 2003.— 600 с.: ил.
- Подбельский В.В. Язык Си++: учебное пособие для вузов. – М.: Финансы и статистика, 2008.— 559 с: ил.
- Шилдт Г. Полный справочник по C: Пер. с англ. – М.: Вильямс, 2002 .— 699 с.
- Шилдт Г. Полный справочник по C++: Пер. с англ. – М.: Вильямс, 2003 .— 796 с.
- Дейтел Х.М, Дейтел П.Д. Как программировать на С: пер. с англ. – М.: БИНОМ, 2006.— 908 с.: ил.
- Учебные материалы:Языки программирования C и C++
Примечания