Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оглавление
ВВЕДЕНИЕ.................................................................................................................................... 8
1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ.................................................................... 9
1.1. Компьютер........................................................................................................................... 9
1.2. Алгоритмы........................................................................................................................ 10
1.3. Программы и языки........................................................................................................ 11
1.4. Данные.............................................................................................................................. 16
2. ЭЛЕМЕНТЫ ЯЗЫКА............................................................................................................. 20
2.1. История языков С и Basic............................................................................................ 20
2.2. Алфавит............................................................................................................................ 20
2.3. Идентификаторы............................................................................................................ 20
2.4. Знаки разрядки................................................................................................................ 21
2.5. Комментарии................................................................................................................... 21
2.6. Запись текста программы............................................................................................. 21
Вопросы для самопроверки и контроля........................................................................... 22
3. ЭЛЕМЕНТЫ ДАННЫХ......................................................................................................... 23
3.1. Типы данных.................................................................................................................... 23
3.1.1. Целые......................................................................................................................... 23
3.1.2. Данные с плавающей точкой............................................................................... 24
3.1.3. Логический тип........................................................................................................ 24
3.1.4. Символьные данные.............................................................................................. 25
3.1.5. Дополнительные типы данных............................................................................ 26
3.2. Совокупности данных.................................................................................................... 26
3.2.1. Массивы..................................................................................................................... 26
3.2.2. Структуры.................................................................................................................. 27
Вопросы для самопроверки и контроля........................................................................... 27
4. ВЫРАЖЕНИЯ......................................................................................................................... 29
4.1. Арифметические операторы....................................................................................... 29
4.2. Операторы конкатенации............................................................................................. 30
4.3. Операторы сравнения................................................................................................... 30
4.4. Логические операторы.................................................................................................. 31
4.5. Обращение к функции................................................................................................... 32
4.6. Встроенные функции..................................................................................................... 32
4.7. Заключительные замечания........................................................................................ 33
Вопросы для самопроверки и контроля........................................................................... 33
5. ОСНОВНЫЕ ИНСТРУКЦИИ.............................................................................................. 35
5.1. Объявления...................................................................................................................... 35
5.2. Присваивание................................................................................................................. 35
5.3. Безусловный переход................................................................................................... 36
5.4. Инструкция If. Пустая инструкция.............................................................................. 37
5.5. Составная инструкция.................................................................................................. 39
5.6. Циклы................................................................................................................................. 39
5.6.1. Циклы с предусловием.......................................................................................... 40
5.6.2. Циклы с постусловием........................................................................................... 43
5.6.3. Вложенные циклы................................................................................................... 44
5.7. Управляемые переходы................................................................................................ 45
5.7.1. Инструкция break..................................................................................................... 45
5.7.2. Инструкция continue............................................................................................... 46
5.7.3. Инструкции exit........................................................................................................ 46
5.8. Многоальтернативный выбор..................................................................................... 47
5.8.1. Инструкция switch (язык С)................................................................................... 47
5.8.2. Инструкция select case (язык Basic).................................................................... 48
Вопросы для самопроверки и контроля........................................................................... 49
6. ВВОД-ВЫВОД........................................................................................................................ 50
6.1. Управляющая строка..................................................................................................... 50
6.1.1. Спецификация d (целые десятичные числа)................................................... 50
6.1.2. Спецификация f (десятичные числа с плавающей точкой)......................... 51
6.1.3. Спецификация e (десятичные числа с плавающей точкой)........................ 52
6.1.4. Спецификация g (универсальная спецификация)........................................ 52
6.1.5. Вывод символьной информации........................................................................ 53
6.2. Инструкции printf и scanf. Схема ввода-вывода.................................................... 53
6.3. Ввод-вывод массивов................................................................................................... 55
Вопросы для самопроверки и контроля........................................................................... 55
7. ПРОЦЕДУРЫ.......................................................................................................................... 56
7.1. Распределение памяти................................................................................................. 56
7.1.1. Распределение скаляров...................................................................................... 56
7.1.2. Распределение массивов..................................................................................... 56
7.1.3. Статическое и динамическое распределение памяти.................................. 57
7.2. Блоки.................................................................................................................................. 57
7.3. Процедуры........................................................................................................................ 57
7.3.1. Определения процедур.......................................................................................... 58
7.3.2. Связь между вызывающей и вызываемой функциями................................ 61
Вопросы для самопроверки и контроля........................................................................... 66
8. ПРЕПРОЦЕССОР.................................................................................................................. 67
8.1. Определение символических констант.................................................................... 67
8.2. Включение файлов в текст программы.................................................................... 67
Вопросы для самопроверки и контроля........................................................................... 69
9. СТИЛЬ ПРОГРАММИРОВАHИЯ....................................................................................... 70
9.1. Формирование листинга.............................................................................................. 70
9.2. Комментарии................................................................................................................... 71
9.3. Имена................................................................................................................................. 72
9.4. Язык и приемы программирования.......................................................................... 72
9.5. Стиль в языках С и Basic.............................................................................................. 74
Вопросы для самопроверки и контроля........................................................................... 75
10. ДАННЫЕ. ДОПОЛНЕНИЕ................................................................................................. 76
10.1. Перечислимый тип...................................................................................................... 76
10.1.1. Тип enum (C)........................................................................................................... 76
10.1.2. Тип enum (B)........................................................................................................... 77
10.2. Тип currency (B)............................................................................................................. 77
10.3. Тип date (B)..................................................................................................................... 77
10.4. Тип void (С)..................................................................................................................... 79
10.5. Подмассивы (сечения) (C)......................................................................................... 79
10.6. Динамические массивы (B)....................................................................................... 80
10.7. Структуры и объединения (C)................................................................................... 81
10.7.1. Структуры................................................................................................................ 81
10.7.2. Рекурсивные структуры....................................................................................... 83
10.7.3. Поля битов.............................................................................................................. 83
10.7.4. Объединения (смеси)........................................................................................... 84
10.7.5. Переменные структуры....................................................................................... 84
10.8. Тип variant (B)................................................................................................................. 85
10.9. Пользовательские типы данных............................................................................... 86
10.9.1. Инструкция type (B)............................................................................................... 86
10.9.2. Инструкция typedef (C)......................................................................................... 87
10.10. Преобразование типов............................................................................................. 87
10.10.1. Автоматические преобразования.................................................................. 87
10.10.2. Явные преобразования.................................................................................... 88
Вопросы для самопроверки и контроля........................................................................... 89
11. ОПЕРАТОРЫ. ДОПОЛНЕНИЕ......................................................................................... 90
11.1. Уровень 1........................................................................................................................ 90
11.2. Уровень 2 (унарные или одноместные операторы)............................................. 91
11.3. Уровень 3 (мультипликативные операторы)......................................................... 93
11.4. Уровень 4 (аддитивные операторы)........................................................................ 93
11.5. Уровень 5 (сдвиги)........................................................................................................ 93
11.6. Уровень 6 (отношения)................................................................................................ 94
11.7. Уровень 7 (равенство и неравенство)..................................................................... 94
11.8. Поразрядные операторы............................................................................................ 94
11.9. Логические операторы................................................................................................ 94
11.10. Уровень 13 (условное выражение)........................................................................ 95
11.11. Уровень 14 (операторы присваивания)................................................................ 95
11.12. Уровень 15 (оператор ',' - запятая)......................................................................... 95
11.13. Некоторые замечания............................................................................................... 96
11.14. Постоянные выражения........................................................................................... 96
Вопросы для самопроверки и контроля........................................................................... 96
12. ПЕРЕДАЧА ДАННЫХ ПОТОКОМ................................................................................... 97
12.1. Спецификация "s" управляющей строки функций scanf и printf..................... 97
12.2. Функции getchar и putchar.......................................................................................... 97
12.3. Функции gets и puts...................................................................................................... 98
12.4. Внутренняя передача данных (функции sscanf и sprintf).................................. 98
Вопросы для самопроверки и контроля........................................................................... 99
13. ФАЙЛЫ................................................................................................................................ 100
13.1. Основные понятия..................................................................................................... 100
13.2. Описание файла........................................................................................................ 100
13.3. Открытие и закрытие файлов................................................................................. 101
13.4. Средства языка С....................................................................................................... 101
13.4.1. Открытие и закрытие файла........................................................................... 101
13.4.2. Основные функции обмена.............................................................................. 102
13.5. Средства языка Basic................................................................................................ 102
13.5.1. Открытие и закрытие файла........................................................................... 102
13.5.2. Работа с файлами.............................................................................................. 103
Вопросы для самопроверки и контроля........................................................................ 105
14. СТРУКТУРА ПРОГРАММЫ............................................................................................ 106
14.1. Элементы структуры программы........................................................................... 106
14.1.1. Язык C.................................................................................................................... 106
14.1.2. Язык Basic............................................................................................................. 107
14.2. Область видимости (действия) и время жизни переменных......................... 107
14.2.1. Язык C.................................................................................................................... 108
14.2.2. Язык Basic............................................................................................................. 110
14.3. Проект программы...................................................................................................... 111
14.3.1. Использование директивы препроцессора #include................................ 112
14.3.2. Средства управления проектом...................................................................... 112
14.4. Инициализация данных........................................................................................... 112
14.5. Рекомендуемая структура программы.................................................................. 114
14.5.1. Структура модуля на языке Basic................................................................... 114
14.5.2. Структура модуля на языке C.......................................................................... 114
Вопросы для самопроверки и контроля......................................................................... 114
15. УКАЗАТЕЛИ, МАССИВЫ, СТРОКИ............................................................................. 115
15.1. Указатели...................................................................................................................... 115
15.2. Указатели и массивы................................................................................................. 115
15.3. Работа со строками.................................................................................................... 116
15.3.1. Литералы............................................................................................................... 117
15.3.2. Переменные......................................................................................................... 117
15.3.3. Операторы и функции....................................................................................... 117
15.4. Динамические объекты............................................................................................. 118
15.5. Типичные ошибки, связанные с указателями..................................................... 120
15.6. Примеры использования указателей. Структуры данных.............................. 120
15.6.1. Стек......................................................................................................................... 120
15.6.2. Однонаправленный список.............................................................................. 121
15.7. Ссылки и многомерные массивы.......................................................................... 123
15.8. Рекурсивные процедуры.......................................................................................... 124
15.8.1. Рекурсивное решение....................................................................................... 125
15.8.2. Нерекурсивное решение. Стек в виде массива......................................... 125
15.8.3. Нерекурсивное решение. Стек в виде списка............................................ 126
Вопросы для самопроверки и контроля........................................................................ 129
16. РАБОТА С ЭКРАHОМ....................................................................................................... 130
16.1. Текстовый режим(textmode)..................................................................................... 130
16.1.1. Ввод/вывод и манипулирование.................................................................... 131
16.1.2. Управление режимом и окном........................................................................ 131
16.1.3. Управление атрибутом(цветами символа и фона в окне)....................... 132
16.1.4. Информация о текстовом режиме................................................................. 132
16.1.5. Пример.................................................................................................................. 132
16.1.6. Пример(продолжение)...................................................................................... 133
16.2. Графический режим.................................................................................................. 134
16.2.1. Установка и закрытие........................................................................................ 134
16.2.2. Форматирование................................................................................................. 135
16.2.3. Размещение на экране...................................................................................... 140
16.2.4. Вывод на экран.................................................................................................... 141
16.2.5. Дополнительные функции................................................................................ 142
Вопросы для самопроверки и контроля........................................................................ 142
17. УПРАВЛЕНИЕ ПРОГРАММОЙ С ПОМОЩЬЮ КЛАВИАТУРЫ............................ 143
Вопросы для самопроверки и контроля........................................................................ 144
ЗАДАЧИ...................................................................................................................................... 145
Элементарные конструкции.............................................................................................. 145
Простые циклы..................................................................................................................... 146
Вложенные циклы................................................................................................................ 148
Процедуры............................................................................................................................. 150
Работа со строками............................................................................................................. 151
Разное..................................................................................................................................... 152
ПРИЛОЖЕНИЯ......................................................................................................................... 154
Приложение 1. Среда разработки Borland C++ 3.1.................................................... 154
П1.1. Меню File (Файл).................................................................................................... 154
П1.2. Меню Options (Установки среды)..................................................................... 156
П1.3. Разное....................................................................................................................... 158
П1.4. Редактирование текста........................................................................................ 158
П1.5. Сообщения.............................................................................................................. 159
П1.6. Отладка.................................................................................................................... 160
П1.7. Окна........................................................................................................................... 161
П1.8. Средства работы с проектами Borland C++ 3.1............................................. 162
Приложение 2. Среда разработки Visual Basic Express Edition.............................. 163
П2.1. Запуск среды.......................................................................................................... 163
П2.2. Подготовка к работе с новым проектом........................................................... 164
П2.3. Окна и режимы работы........................................................................................ 165
П2.4. Главное меню......................................................................................................... 166
П2.5. Меню File (Файл).................................................................................................... 166
П2.6. Редактирование текста........................................................................................ 166
П2.7. Меню View (Обзор)................................................................................................ 167
П2.8. Меню Project (Проект)......................................................................................... 167
П2.9. Отладка.................................................................................................................... 167
П2.10. Меню Tools (Средства)..................................................................................... 169
П2.11. Меню Window (Окно)........................................................................................... 169
Приложение 3. Ответы на вопросы для самопроверки............................................. 169
Приложение 4. Темы для курсовой работы.................................................................. 174
БИБЛИОГРАФИЧЕСКИЙ СПИСОК................................................................................... 177
ВВЕДЕНИЕ
Предметом изучения курса "Информатика и программирование" являются понятия и определения информатики, принципы алгоритмизации и обработки данных, основы программирования на алгоритмических языках, рекомендации по рациональной записи текста программ (стилю программирования), современные среды разработки программ.
В первом разделе пособия вводятся основные определения и термины данной предметной области, дается краткое описание устройства компьютера, рассматриваются основные этапы обработки программы на алгоритмическом языке такие, как: трансляция, компоновка, загрузка и выполнение, описывается представление данных в компьютере, их типы и организация. В последующих разделах излагаются основы программирования на двух распространенных алгоритмических языках C и Basic, причем аналогичные конструкции рассматриваются параллельно в одном разделе с выделением различий в их реализации в каждом из языков. Оба языкапозволяют в дальнейшем перейти от процедурного подхода к объектно-ориентированному. Язык Basic, кроме того, естественным образом дополняет соответствующие разделы в дисциплинах, изучающих текстовые и табличные процессоры, которые составляют основу знаний современных пользователей компьютеров. В пособие включен раздел, содержащий рекомендации по стилю программирования. В конце большинства разделов приводятся вопросы для самопроверки и контрольные вопросы, что позволяет по мере обучения проверять степень усвоения пройденного материала. В последнем разделе помещены задачи для практических занятий.
В качестве инструментальной среды выбраны оболочки Borland C++ 3.1 (вариант MS DOS) и Microsoft Visual Basic Express Edition. Выбор среды Borland C++ 3.1 обусловлен ее относительной простотой по сравнению с оболочками Borland C++ 5.02, MS Visual C++ 6 или C++ Builder 5 и нежеланием авторов затрагивать в данном пособии понятия объектно-ориентированного программирования. В среде Microsoft Visual Basic Express Edition авторы ограничиваются изложением средств, работающих с общими процедурами. Описания оболочек и техники работы в них помещены в приложения. В состав приложений включены также ответы на вопросы для самопроверки и темы для курсовой работы.
Дисциплина "Информатика и программирование" является начальным курсом обучения основам программирования, ориентирована на людей, не знающих компьютер, и предполагает дальнейшее продолжение обучения в курсах "Высокоуровневые методы информатики и программирования", "Структуры и базы данных".
Второе издание данного пособия дополнено разделами, излагающими приемы и функции для работы с экраном в текстовом и графическом режимах, способы управления программой с помощью клавиатуры на языке C в среде операционной системы MS DOS. Это сделано с целью применения указанных средств при выполнении курсовой работы по нечисленным алгоритмам в последующей дисциплине "Высокоуровневые методы информатики и программирования". Кроме того, значительно увеличено количество задач в разделе "Задачи".
Пособие подготовлено преподавателями кафедры высшей математики и информатики Уральского социально-экономического института:
- Комиревым А.Г., доцентом, канд.техн.наук;
- Катаргиным М.Ю., доцентом, канд.техн.наук;
- Сартасовым Е.М., канд.техн.наук.
Дата публикования: 2014-11-02; Прочитано: 255 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!