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

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

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

Перейти к: навигация, поиск
Строка 32: Строка 32:
 
# Во многих [http://ru.wikipedia.org/wiki/SCADA SCADA-пакетах] в качестве встроенных языков программирования используются языки, очень похожие на язык C.
 
# Во многих [http://ru.wikipedia.org/wiki/SCADA SCADA-пакетах] в качестве встроенных языков программирования используются языки, очень похожие на язык C.
 
# Язык C++ удобен для разработки программного обеспечения верхнего уровня, в частности, для разработки графического интерфейса с пользователем. Например, свободный и кроссплатформенный фреймворк [http://ru.wikipedia.org/wiki/Qt Qt] имеет в своей основе именно язык C++.
 
# Язык C++ удобен для разработки программного обеспечения верхнего уровня, в частности, для разработки графического интерфейса с пользователем. Например, свободный и кроссплатформенный фреймворк [http://ru.wikipedia.org/wiki/Qt Qt] имеет в своей основе именно язык C++.
# Языки C и C++ - это одни из самых популярных языков программирования. Действительно, согласно индексу TIOBE<ref>[http://www.tiobe.com/content/paperinfo/tpci/index.html TIOBE Programming Community Index for October 2011]</ref> языки C и С++ уверенно занимают 2-е и 3-е место в рейтинге. При этом язык С почти на одном уровне с 1-м местом, которое занимает язык Java. И что важно, в целом, эта тенденция сохраняется на протяжении 10 лет. Время от времени, язык C даже выходит на первое место. Можно также обратиться к рейтингу сайта [http://www.indeed.com/jobtrends indeed.com], который определяется по предложениям о приеме на работу, где указываются требования знания языков программирования. В августе 2011 года язык C++ занимал<ref>[http://regulargeek.com/2011/08/03/traditional-programming-language-job-trends-august-2011/ Traditional Programming Language Job Trends – August 2011]</ref> третье место среди языков Java, C++, C#, Objective C, Perl, Visual Basic. В этой группе языков отсутствует язык C, скорее всего, из-за сложности формирования правильного запроса именно для этого языка.
+
# Языки C и C++ - это одни из самых популярных языков программирования. Действительно, согласно индексу TIOBE<ref>[http://www.tiobe.com/content/paperinfo/tpci/index.html TIOBE Programming Community Index for October 2011]</ref> языки C и С++ уверенно занимают 2-е и 3-е место в рейтинге. При этом язык С почти на одном уровне с 1-м местом, которое занимает язык Java. И что важно, в целом, эта тенденция сохраняется на протяжении 10 лет. Время от времени, язык C даже выходит на первое место. Можно также обратиться к рейтингу сайта [http://www.indeed.com/jobtrends indeed.com], который определяется по предложениям о приеме на работу, где указываются требования знания языков программирования. В августе 2011 года язык C++ занимал<ref>[http://regulargeek.com/2011/08/03/traditional-programming-language-job-trends-august-2011/ Traditional Programming Language Job Trends – August 2011]</ref> третье место среди языков Java, C++, C#, Objective C, Perl, Visual Basic. В этой группе языков отсутствует язык C, скорее всего, из-за сложности формирования правильного запроса именно для этого языка.{{-}}
{{-}}
+
 
 
== Используемые программные средства ==
 
== Используемые программные средства ==
 
[[Файл:CodeBlocks.png|мини|справа|120пкс|Пример программы в среде CodeBlocks]]
 
[[Файл:CodeBlocks.png|мини|справа|120пкс|Пример программы в среде CodeBlocks]]
 
В качестве среды разработки используется интегрированная программная среда [http://ru.wikipedia.org/wiki/Code::Blocks Code::Blocks]. К основным преимуществам Code::Blocks относятся:
 
В качестве среды разработки используется интегрированная программная среда [http://ru.wikipedia.org/wiki/Code::Blocks Code::Blocks]. К основным преимуществам Code::Blocks относятся:
* свободная лицензия GPL v3.0, в частности, разрешается бесплатное распространение и использование;
+
* свободная лицензия [http://www.codeblocks.org/license/3 GPL v3.0], в частности, разрешается бесплатное распространение и использование;
 
* среда может работать в операционных системах семейств Windows, Linux, OS X (то есть является кросс-платформенной);
 
* среда может работать в операционных системах семейств Windows, Linux, OS X (то есть является кросс-платформенной);
 
* возможность работы с различными компиляторами.
 
* возможность работы с различными компиляторами.
{{-}}
 
 
  
 +
При этом обычно устанавливается как сама среда Code::Blocks, так и среда [http://ru.wikipedia.org/wiki/MinGW MinGW], которая предоставляет компиляторы семейства [http://ru.wikipedia.org/wiki/Gcc GCC]. Среда MinGW тоже относится к свободно распространяемому программному обеспечению.
  
 +
[[Файл:italc-screenshot.png|мини|120px|Пример окна iTALC]]
 +
Для организации эффективного взаимодействия преподавателя со студентами в ходе лабораторных занятий используется программное обеспечение [http://italc.sourceforge.net iTALC]. При этом взаимодействие реализуется в следующих основных режимах.
 +
# ''Режим проектора''. Преподаватель может транслировать изображение со своего монитора на мониторы студентов. Этот режим удобен для объяснения учебного материала и демонстрации примеров работы в программных средах.
 +
# ''Режим наблюдения''. Преподаватель видит изображения на мониторах студентов.
 +
# ''Режим удаленного управления''. Преподаватель может перехватывать управление компьютером студента. В этом режиме удобно вносить коррективы в действия студентов и помогать им в решении тех или иных практических задач, которые могут возникать в ходе выполнения учебных заданий.{{-}}
  
 
|Литература=
 
|Литература=

Версия 04:21, 7 ноября 2011

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

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

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

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

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


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

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

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

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

В качестве базовых языков высокого уровня при изучении дисциплины используются языки программирования 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, скорее всего, из-за сложности формирования правильного запроса именно для этого языка.

Используемые программные средства

Пример программы в среде CodeBlocks

В качестве среды разработки используется интегрированная программная среда Code::Blocks. К основным преимуществам Code::Blocks относятся:

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

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

Пример окна iTALC

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

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

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

Примечания


.