Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по программированию и алгоритмизаци...doc
Скачиваний:
30
Добавлен:
05.09.2019
Размер:
2.24 Mб
Скачать

Минобрнауки России

Федеральное государственное образовательное учреждение высшего профессионального образования

«Омский государственный технический университет»

(ОмГТУ)

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

курс лекций

Омск, 2012

УДК 004.42

ББК 32.973.26 – 018.1

Г 27

Рецензенты:

В. А. Мещеряков, д.т.н., проф.,

заведующий каф. « Математики и вычислительной техники»

Финансовая академия при Правительстве РФ;

Г. И. Чернов, к.т.н., доцент НОУ ВПО СИБИТ

Гебель, Е. С.

Г 27

Программирование и основы алгоритмизации : конспект лекций / Е. С. Гебель. – Омск : Изд-во ОмГТУ, 2012. – 101 с.

В конспекте лекций изложены основы построения алгоритмов для решения прикладных задач и описаны нормативные документы, стандартизующие их графическое изображение. Рассмотрены основные этапы создания программного обеспечения, методы, технологии и инструментальные средства производства программных продуктов. Рассмотрены базовые понятия, синтаксис, семантика и управляющие конструкции языков программирования С/С++.

Для бакалавров по направлениям 220700 «Автоматизация технологических процессов и производств» и 220400 «Управление в технических системах».

УДК 004.42

ББК 32.973.26 – 018.1

Печатается по решению редакционно-издательского совета

Омского государственного технического университета

© Омский государственный

технический университет, 2012

Содержание

Введение…………………………………………………………………….

4

1. Понятие алгоритма………………………………………………………

6

1.1. Определение алгоритма…………………………………………….

6

1.2. ГОСТ на описание блок-схем………………………………………

8

1.3. Виды алгоритмов……………………………………………………

12

2. Языки программирования………………………………………………

15

2.1. Определение алгоритмического языка……………………………

15

2.2. Классификация языков. История развития языков программирования…………………………………………………………

16

2.3. Выбор языка программирования………………………………….

18

2.4. История языка программирования С/С++…………………………

22

2.5. Арифметические и логические основы программирования…….

24

3. Понятие системы программирования………………………………….

32

3.1. Этапы создания программ………………………………………….

32

3.2. Конструирование программ………………………………………..

34

3.3. Методы, технологии и инструментальные средства производства программных продуктов…………………………………..

39

3.4. Некоторые аспекты программирования на алгоритмическом языке С/С++…………………………………………………………………

41

4. Основы языка программирования С/С++………………………………

43

4.1. Литералы…………………………………………………………….

44

4.2. Встроенные типы данных…………………………………………..

49

4.3. Операции…………………………………………………………….

53

4.4. Операторы языка С++………………………………………………

64

4.5. Агрегатные типы данных…………………………………………...

69

4.5.1. Массивы……………………………………………………….

69

4.5.2. Структуры……………………………………………………..

72

4.5.3. Поля битов…………………………………………………….

75

4.5.3. Объединения…………………………………………………..

76

4.5.4. Перечисления…………………………………………………

77

4.5.7. Переименование типов………………………………………

79

4.6. Обработка символьных и строковых переменных………………..

80

4.7. Указатели…………………………………………………………….

84

4.7.1. Инициализация указателей…………………………………..

86

4.7.2. Операции с указателями……………………………………..

88

4.8. Пользовательские процедуры и функции………………………….

92

4.8.1. Перегрузка функций………………………………………….

92

4.8.2. Перегрузка операций…………………………………………

93

4.8.3. Шаблоны функций……………………………………………

95

4.8.4. Возврат из функции нескольких значений………………….

96

4.9. Файлы…………………………………………………………………

97

4.10. Директивы препроцессора………………………………………...

100

Библиографический список………………………………………………

103

Введение

Актуальность курса на современном этапе

Широкое внедрение ЭВМ в сферы производства, быта и др. требует соответствующей компьютерной подготовки кадров. Студенты должны уметь использовать разработанные прикладные программы и при необходимости дополнять их своими программами для конкретных целей.

Для студентов, обучающихся по направлениям 220400 «Управление в технических системах» и 220700 «Автоматизация технологических процессов и производств», знание основ алгоритмизации и программирования является обязательным. Данный предмет изучается одним из первых среди прочих общепрофессиональных дисциплин.

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

Цели и задачи курса

Привить студентам навыки алгоритмизации и познакомить их с основными методами программирования на языках высокого уровня.

В результате изучения курса студенты должны:

знать:

  • основные этапы разработки программы и решения задач на ЭВМ;

  • стандартные приемы программирования на языках высокого уровня;

  • принципы объектно-ориентированного программирования;

  • принципы организации программ;

  • иметь представление о языках программ, их особенностях;

  • основные критерии создания и использования программ;

  • иметь представление о визуальных средствах разработки программ;

  • способы отладки и тестирования программ;

уметь:

  • ставить задачу и разрабатывать алгоритм ее решения;

  • составлять программу на языке высокого уровня;

  • отлаживать и усовершенствовать программу.

Предмет и методы изучения

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

Удобство языка С основано на том, что являясь одновременно и языком высокого уровня, имеющий полный набор конструкций структурного программирования, поддерживающим модульность, блочную структуру программ, возможность раздельной компиляции модулей. В тоже самое время язык С++ имеет набор низкоуровневых средств, позволяющих иметь удобный доступ к аппаратным средствам компьютера, в частности позволяющих добраться до каждого бита памяти. Гибкость и универсальность языка С обеспечивает его широкое распространение.

Курс знакомит студентов с основами построения алгоритмов для решения задач, основными этапами создания прикладных программ. Теоретический материал сопровождается постоянным изучением готовых текстов программ и написанием собственных программ, основанных на текущем материале.

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