Персональные инструменты

Дисциплины:Программирование и основы алгоритмизации — различия между версиями

Материал из Кафедра Автоматики и телемеханики

Перейти к: навигация, поиск
 
(не показана одна промежуточная версия этого же участника)
Строка 30: Строка 30:
  
 
== Используемое программное обеспечение ==
 
== Используемое программное обеспечение ==
[[Файл:CodeBlocks.png|мини|справа|120пкс|Пример программы в среде CodeBlocks]]
+
[[Файл:CodeBlocks.png|мини|справа|120пкс|Пример программы в среде Code<nowiki>::</nowiki>Blocks]]
 
В качестве среды разработки используется интегрированная программная среда [http://ru.wikipedia.org/wiki/Code::Blocks Code::Blocks]. К основным преимуществам Code::Blocks относятся:
 
В качестве среды разработки используется интегрированная программная среда [http://ru.wikipedia.org/wiki/Code::Blocks Code::Blocks]. К основным преимуществам Code::Blocks относятся:
 
* свободная лицензия [http://www.codeblocks.org/license/3 GPL v3.0], в частности, разрешается бесплатное распространение и использование;
 
* свободная лицензия [http://www.codeblocks.org/license/3 GPL v3.0], в частности, разрешается бесплатное распространение и использование;
Строка 51: Строка 51:
 
# Шилдт Г. Полный справочник по C++: Пер. с англ. – М.: Вильямс, 2003 .— 796 с.
 
# Шилдт Г. Полный справочник по C++: Пер. с англ. – М.: Вильямс, 2003 .— 796 с.
 
# Дейтел Х.М, Дейтел П.Д. Как программировать на С: пер. с англ. – М.: БИНОМ, 2006.— 908 с.: ил.
 
# Дейтел Х.М, Дейтел П.Д. Как программировать на С: пер. с англ. – М.: БИНОМ, 2006.— 908 с.: ил.
# [[Учебные_материалы:Языки программирования C и C++| Учебные материалы по языкам программирования C и C++]]
+
# [[Учебные материалы:Языки программирования C и C++]]
 
|Название раздела примечаний=Примечания
 
|Название раздела примечаний=Примечания
 
}}
 
}}

Текущая версия на 00:30, 23 января 2012

Дисциплина "Программирование и основы алгоритмизации"

Базируется на дисциплине:

Является базовой для дисциплин:

Преподаватель:

Учебная лаборатория:

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

Общая информация

В настоящее время при построении систем автоматизации и управления все больший удельный вес занимает проектирование алгоритмов (алгоритмизация) и разработка программного обеспечения (программирование). Поэтому очень важно научиться основным принципам программирования и алгоритмизации, для начала, применительно к алгоритмическим языкам высокого уровня.

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

В качестве базовых языков высокого уровня при изучении дисциплины используются языки программирования C и C++.

Почему выбраны языки C и C++?

Индекс TIOBE за октябрь 2011 года
Изменения индекса TIOBE за несколько лет
Тенденции предложений работы по языкам программирования
  1. Язык C является достаточно низкоуровневым, хотя и относится к классу языков высокого уровня. В частности, это проявляется в том, что он является, пожалуй, самым популярным языком системного программирования. Например, с помощью него обычно создаются драйверы устройств, что часто бывает необходимым в случае разработки нового технического устройства или при подключении нестандартного устройства. И подобные ситуации нередко возникают при разработке системы автоматизации и управления.
  2. Во многих SCADA-пакетах в качестве встроенных языков программирования используются языки, очень похожие на язык C.
  3. Язык C++ удобен для разработки программного обеспечения верхнего уровня, в частности, для разработки графического интерфейса с пользователем. Например, свободный и кроссплатформенный фреймворк Qt имеет в своей основе именно язык C++.
  4. Языки 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. К основным преимуществам Code::Blocks относятся:

  • свободная лицензия GPL v3.0, в частности, разрешается бесплатное распространение и использование;
  • среда может работать в операционных системах семейств Windows, Linux, OS X (то есть является кросс-платформенной);
  • возможность работы с различными компиляторами.

При этом обычно устанавливается как сама среда Code::Blocks, так и среда MinGW, которая предоставляет компиляторы семейства GCC. Среда MinGW тоже относится к свободно распространяемому программному обеспечению.

Пример окна iTALC

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

  1. Режим проектора. Преподаватель может транслировать изображение со своего монитора на мониторы студентов. Этот режим удобен для объяснения учебного материала и демонстрации примеров работы в программных средах.
  2. Режим наблюдения. Преподаватель видит изображения на мониторах студентов.
  3. Режим удаленного управления. Преподаватель может перехватывать управление компьютером студента. В этом режиме удобно вносить коррективы в действия студентов и помогать им в решении тех или иных практических задач, которые могут возникать в ходе выполнения учебных заданий.

Литература и учебные материалы, используемые при изучении дисциплины

  1. Давыдов В.Г. Программирование и основы алгоритмизации: учебное пособие для вузов. – М.: Высш. шк., 2005.— 448 с.: ил.
  2. Давыдов В.Г. Программирование и основы алгоритмизации: учебное пособие для вузов. – М.: Высш. шк., 2003.— 448 с.: ил.
  3. Керниган Б., Ритчи Д. Язык программирования С: пер. с англ. – М.: Вильямс, 2006 .— 289 с.: ил.
  4. Подбельский В.В. Программирование на языке Си: учебное пособие для вузов. – М.: Финансы и статистика, 2003.— 600 с.: ил.
  5. Подбельский В.В. Язык Си++: учебное пособие для вузов. – М.: Финансы и статистика, 2008.— 559 с: ил.
  6. Шилдт Г. Полный справочник по C: Пер. с англ. – М.: Вильямс, 2002 .— 699 с.
  7. Шилдт Г. Полный справочник по C++: Пер. с англ. – М.: Вильямс, 2003 .— 796 с.
  8. Дейтел Х.М, Дейтел П.Д. Как программировать на С: пер. с англ. – М.: БИНОМ, 2006.— 908 с.: ил.
  9. Учебные материалы:Языки программирования C и C++

Примечания


.