Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007




НазваниеАвтоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007
страница1/77
Дата публикации19.08.2013
Размер3.2 Mb.
ТипРеферат
zadocs.ru > Информатика > Реферат
  1   2   3   4   5   6   7   8   9   ...   77



М. П. Батура, В. Л. Бусько, А. Г. Корбит, Т. М. Кривоносова

Основы алгоритмизации и программирования.

Язык Си

Допущено Министерством образования Республики Беларусь

в качестве учебного пособия

для студентов учреждений, обеспечивающих получение

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

«Автоматизированные системы обработки информации»,

«Электронные вычислительные средства»,

«Инженерно-психологическое обеспечение информационных технологий»

Минск БГУИР 2007

УДК 621.3 (075.8)

ББК 22.193 я 73

Б 28

Р е ц е н з е н т ы :

зав. кафедрой алгоритмики и дискретной математики БГУ,

д-р техн. наук, проф. В. М. Котов;

начальник кафедры систем автоматического управления Военной академии Республики Беларусь, д-р техн. наук, проф. В. А. Куренев

Батура, М. П.

Б 28 Основы алгоритмизации и программирования. Язык Си : учеб. пособие / М. П. Батура, В. Л. Бусько, А. Г. Корбит, Т. М. Кривоносова. – Минск : БГУИР, 2007. – 240 с. : ил.

ISBN 978-985-488-192-8
Материал пособия составлен на основе курса лекций по дисциплине «Основы алгоритмизации и программирования», читаемого авторами в Белорусском государственном университете информатики и радиоэлектроники на факультете информационных технологий и управления.

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

Неотъемлемой частью учебного пособия являются индивидуальные задания для практических и лабораторных работ. В приложениях рассматриваются некоторые элементы языка С++, приведены дополнительные задания.
УДК 621.3 (075.8)

ББК 22.193 я 73

ISBN 978-985-488-192-8  УО «Белорусский государственный

университет информатики

и радиоэлектроники», 2007

СОДЕРЖАНИЕ


ПРЕДИСЛОВИЕ 10

ГЛАВА 1. Введение в алгоритмы 12

1.1. Этапы решения задач на ЭВМ 12

1.2. Понятие алгоритма 12

1.3. Свойства алгоритмов 13

1.4. Сложность алгоритма 13

1.5. Способы описания алгоритмов 14

1.6. Способы реализации алгоритмов 16

1.7. Пример простейшего линейного процесса 17

1.7. Пример циклического процесса 18

ГЛАВА 2. Базовые средства языка Си 19

2.1. Алфавит языка Си 19

2.2. Лексемы 19

2.3. Идентификаторы и ключевые слова 20

2.4. Комментарии 21

2.5. Простейшая программа 21

2.6. Основные типы данных 22

2.7. Декларация объектов 23

2.8. Данные целого типа (integer) 24

2.9. Данные символьного типа (char) 24

2.10. Данные вещественного типа (float, double) 25

2.11. Использование модификаторов при декларации производных типов данных 26

ГЛАВА 3. Константы в программах 27

3.1. Целочисленные константы 27

3.2. Константы вещественного типа 28

3.3. Символьные константы 28

3.4. Строковые константы 29

ГЛАВА 4. Обзор операций 29

4.1. Операции, выражения 29

4.2. Арифметические операции 30

4.3. Операция присваивания 30

4.4. Сокращенная запись операции присваивания 31

4.5. Преобразование типов операндов арифметических операций 32

4.6. Операция приведения типа 33

4.7. Операции сравнения 33

4.8. Логические операции 34

4.9. Побитовые логические операции, операции над битами 35

4.10. Операция «,» (запятая) 37

ГЛАВА 5. Обзор базовых инструкций языка Си 37

5.1. Стандартная библиотека языка Си 37

5.2. Стандартные математические функции 38

5.3. Функции вывода данных на дисплей 38

5.4. Функции ввода информации 40

Советы по программированию 41

ЗАДАНИЕ 1. Составление линейных алгоритмов 42

Первый уровень сложности 42

Второй уровень сложности 43

ГЛАВА 6. Составление разветвляющихся алгоритмов 46

6.1. Краткая характеристика операторов языка Си 46

6.2. Условные операторы 46

6.3. Условная операция «? :» 49

6.4. Оператор выбора альтернатив (переключатель) 50

ГЛАВА 7. Составление циклических алгоритмов 54

7.1. Понятие циклического кода 54

7.2. Оператор с предусловием while  54

7.3. Оператор цикла с постусловием do – while 56

7.4. Оператор цикла с предусловием и коррекцией for 57

ГЛАВА 8. Операторы и функции передачи управления 60

8.1. Оператор безусловного перехода goto 60

8.2. Операторы continue, break и return 60

8.3. Функции exit и abort 61

Советы по программированию 61

ЗАДАНИЕ 2. Разветвляющиеся алгоритмы 62

Первый уровень сложности 62

Второй уровень сложности 63

ЗАДАНИЕ 3. Циклические алгоритмы 64

Первый уровень сложности 64

Второй уровень сложности 65

ГЛАВА 9. Указатели 66

9.1. Определение указателей 66

9.2. Операция sizeof 68

9.3. Инициализация указателей 69

9.4. Операции над указателями 70

ГЛАВА 10. Массивы 72

10.1. Понятие массива 72

10.2. Одномерные массивы 73

10.3. Связь указателей и массивов 74

10.4. Строки как одномерные массивы данных типа char 75

10.5. Указатели на указатели 78

10.6. Многомерные массивы 79

10.7. Адресная функция 81

10.8. Работа с динамической памятью 82

10.9. Библиотечные функции 82

10.10. Пример создания одномерного динамического массива 83

10.11. Пример создания двухмерного динамического массива 84

ГЛАВА 11. Функции пользователя 85

11.1. Декларация функции 86

11.2. Вызов функции 87

11.3. Передача аргументов в функцию 89

11.4. Операция typedef 90

11.5. Указатели на функции 90

11.6. Рекурсивные функции 94

11.7. Параметры командной строки функции main 97

ГЛАВА 12. Классы памяти и область действия объектов 98

12.1. Классы памяти объектов в языке Cи 99

12.2. Автоматические переменные 99

12.3. Статические и внешние переменные 100

12.4. Область действия переменных 102

Советы по программированию 105

ЗАДАНИЕ 4. Обработка массивов 106

Первый уровень сложности 106

Второй уровень сложности 107

ЗАДАНИЕ 5. Функции пользователя 108

Первый уровень сложности 108

Второй уровень сложности 108

ГЛАВА 13. Структуры, объединения, перечисления 109

13.1. Структуры 109

13.2. Декларация структурного типа данных 110

13.3. Создание структурных переменных 111

13.4. Обращение к полям структур 112

13.5. Вложенные структуры 113

13.6. Массивы структур 114

13.7. Размещение структурных переменных в памяти 115

13.8. Объединения 115

13.9. Перечисления 116

13.10. Битовые поля 118

ГЛАВА 14. Файлы в языке Си 119

14.1. Открытие файла 119

14.2. Закрытие файла 121

14.3. Запись-чтение информации 122

14.4. Позиционирование в файле 123

14.5. Дополнительные файловые функции 124

Советы по программированию 125

ЗАДАНИЕ 6. Создание и обработка структур 126

Первый уровень сложности 126

Второй уровень сложности 127

ЗАДАНИЕ 7. Создание и обработка файлов 127

Первый уровень сложности 128

Второй уровень сложности 128

ГЛАВА 15. Динамические структуры данных 129

15.1. Линейные списки 129

15.2. Структура данных СТЕК 130

15.2.1. Алгоритм формирования стека 131

15.2.2. Алгоритм извлечения элемента из стека 133

15.2.3. Просмотр стека 133

15.2.4. Алгоритм освобождения памяти, занятой стеком 134

15.2.5. Алгоритм проверки правильности расстановки скобок 134

15.3. Структура данных ОЧЕРЕДЬ 135

15.3.1. Формирование очереди 136

15.3.2. Алгоритм удаления первого элемента из очереди 138

15.4. Двунаправленный линейный список 138

15.4.1. Формирование первого элемента 139

15.4.2. Добавление элементов в конец списка 139

15.4.3. Алгоритм просмотра списка 140

15.4.4. Алгоритм поиска элемента в списке по ключу 140

15.4.5. Алгоритм удаления элемента в списке по ключу 141

15.4.6. Алгоритм вставки элемента в список после элемента с указанным ключом 142

15.5. Нелинейные структуры данных 143

15.5.1. Бинарные деревья 144

15.5.2. Основные алгоритмы работы с бинарным деревом 145

15.5.3. Формирование дерева 145

15.5.4. Вставка нового элемента 146

15.5.5. Удаление узла 147

15.5.6. Алгоритмы обхода дерева 150

15.5.7. Функция просмотра 151

15.5.8. Освобождение памяти 152

15.6. Построение обратной польской записи 152

15.6.1. Алгоритм, использующий дерево 153

15.6.2. Алгоритм, использующий стек 154

15.6.3. Пример реализации 155

15.7. Понятие хеширования 158

15.7.1. Хеш-таблица и хеш-функции 158

15.7.2. Примеры хеш-функций 159

15.7.3. Схемы хеширования 161

15.7.4. Примеры реализации схем хеширования 162

ЗАДАНИЕ 8. Обработка списков 164

Вариант 1. Однонаправленные списки 164

Вариант 2. Двунаправленные списки 165

ЗАДАНИЕ 9. Деревья и польская запись 166

Вариант 1. Создание и обработка структур типа «дерево» 166

Вариант 2. Создание и использование польской записи 167

ГЛАВА 16. Переход к ООП 169

16.1. Потоковый ввод-вывод 169

16.2. Управление выводом 169

16.3. Проблема ввода-вывода кириллицы в среде Visual C++ 172

16.4. Операции new и delete 174

16.5. Дополнительные возможности при работе с пользовательскими функциями 175

16.6. Шаблоны функций 179

Советы по программированию 183

ЗАДАНИЕ 10. Перегрузка функций 184

Первый уровень сложности 184

Второй уровень сложности 185

Таблицы символов ASCII 187

Операции языка Си 189

Возможности препроцессора 191

Интегрированная среда программирования Visual C++ 195

195

Некоторые возможности отладчика Visual C++ 202

Некоторые возможности графической подсистемы 208

6.1. Основные понятия 208

6.2. Контекст устройства 208

6.3. Примитивы GDI 208

6.4. Пример вывода текста 209

6.5. Получение описателя контекста устройства 220

6.6. Основные инструменты графической подсистемы 221

6.7. Закрашивание пустот 227

6.8. Рисование линий и кривых 227

6.9. Пример изображения графика функции sin 229

6.10. Рисование замкнутых фигур 231

6.11. Функция Polygon и режим закрашивания многоугольника 233

6.12. Пример отображения линий 233

6.13. Управление областями вывода и отсечением 234

6.14. Растровая графика 237

ЗАДАНИЕ 11. Создание графических изображений 240

ЛИТЕРАТУРА 242
  1   2   3   4   5   6   7   8   9   ...   77

Добавить документ в свой блог или на сайт

Похожие:

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconМетодические указания по выполнению дипломного проекта для студентов...
«Информационные системы и технологии» и 1-53 01 02 «Автоматизированные системы обработки информации»

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconСтруктуры и алгоритмы обработки данных
Структуры и алгоритмы обработки данных: учебно-метод пособие для студ спец. «Программное обеспечение информационных технологий» всех...

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconРекомендована к утверждению: Кафедрой интеллектуальных информационных технологий
Учебная программа государственного экзамена составлена в соответствии с требованиями образовательного стандарта и учебного плана...

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 icon1. 1 Информационная инфраструктура ХХI века. Значение информационных...
В настоящее время это немыслимо без использования компьютеров и компьютерных технологий передачи и обработки информации в любой сфере...

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconМетодические указания к практическим (семинарским) занятиям по дисциплине...
«Средства и системы технического обеспечения обработки, хранения и передачи информации»

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconКафедра
Специальность: 230102 Автоматизированные системы обработки информации и управления

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconГруппа 202-сп-специальность «Автоматизированные системы обработки информации и управления»

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconМетодические указания по организации и прохождению производственных...
Методические указания предназначены для студентов специальности 1-40 01 01 «Программное обеспечение информационных технологий», специализации...

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconМетодические указание
Экономика предприятия" "Автоматизированные системы обработки информации" (для студентов дневного и заочного отделения)

Автоматизированные системы обработки информации», «Электронные вычислительные средства», «Инженерно-психологическое обеспечение информационных технологий» Минск бгуир 2007 iconУчебно-методическое пособие Минск 2007 удк 338. 23: 34
Р 83 Правовое обеспечение предпринимательской деятельности: учеб метод пособие / Н. И. Рудович.– Минск: Частн ин-т упр и предпр.,...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов