
- •1. Основные понятия информатики
- •1.1. Понятие и задачи информатики
- •1.2. Системы счисления
- •1.2.1. Двоичная система счисления
- •1.2.2. Восьмеричная система счисления
- •1.2.3. Шестнадцатеричная система
- •1.3. Обобщенная структура и состав персонального компьютера
- •1.4. Организация вычислительных процессов при решении инженерных задач
- •1.5. Алгоритмы
- •1.5.1. Алгоритм: основные свойства и способы представления
- •1.5.2. Базовые элементы и структуры программирования
- •1.5.3. Представление линейных, разветвленных и циклических структур
- •2. ОБщие сведения об операционных системах
- •2.1. Общие сведения об операционных системах
- •2.1.1. Предпосылки создания и краткая история операционных систем ms-dos и Windows
- •2.1.1.1. Операционная система ms-dos
- •2.1.1.2. История создания операционной системы Windows
- •2.1.2. Основные отличия версий операционных систем
- •2.1.2.1. Операционная система Mac os
- •2.1.1.2. Операционная система Linux
- •2.1.1.3. Операционная система Windows
- •2.1.3. Основные команды операционной системы ms-dos
- •2.2. Основные элементы интерфейса операционной системы Windows
- •2.2.1. Элементы интерфейса ос Windows
- •2.2.2. Работа с файловыми системами операционной системы
- •3.2. Элементы языка с
- •3.2.1. Алфавит языка с (используемые символы)
- •3.2.2. Идентификаторы
- •3.2.3. Константы
- •3.2.4. Ключевые слова
- •3.2.5. Знаки операций
- •3.2.6. Комментарии
- •3.3. Лекция 6. Типы данных и их объявление
- •3.3.1. Основные типы данных
- •3.3.2. Объявление типов данных
- •3.4. Лекция 7. Указатели и массивы
- •3.4.1. Объявление указателей
- •3.4.2. Инициализация указателей
- •3.4.3. Составные указатели
- •3.4.4. Операции над указателями
- •3.4.5. Ссылки
- •3.5. Лекция 8. Массивы
- •3.5.1. Одномерные массивы
- •3.5.2. Многомерные массивы
- •3.5.3. Динамические массивы
- •3.5.3.1. Одномерные динамические массивы
- •3.5.3.2. Динамический многомерный массив
- •3.5.4. Символьные массивы (строки)
- •3.6. Лекция 9. Выражения и присваивания
- •3.6.1. Операции инкремента и декремента (увеличения и уменьшения на 1)
- •3.6.2. Операция определения размера типа
- •3.6.4. Операции деления ( / ) и нахождения остатка от деления ( % )
- •3.6.7. Поразрядные операции
- •3.6.8. Логические операции
- •3.6.9. Операции присваивания
- •3.6.10. Условная операция
- •3.6.11. Приоритеты выполнения операций
- •3.6.12. Преобразование типов
- •3.7. Лекция 10. Операторы
- •3.7.1. Операторы ветвления
- •3.7.1.1. Условный оператор if
- •If (выражение) [оператор_1]; [ else оператор_2 ; ]
- •3.7.1.2. Оператор switch
- •3.7.2. Операторы цикла
- •3.7.2.1. Цикл с предусловием (while)
- •3.7.2.2. Цикл с постусловием (do while)
- •3.7.2.3. Цикл с параметрами ( for )
- •3.7.3. Операторы передачи управления
- •3.7.3.1. Оператор безусловного перехода goto
- •3.7.3.2. Оператор прерывания break
- •3.7.3.3. Оператор пропуска continue
- •3.7.3.4. Оператор возврата из функции return
- •4. Модульное программирование
- •4.1. Лекция 11. Функции
- •4.1.1. Объявление функций
- •4.1.2. Определение функций
- •4.1.3. Вызов функций
- •4.1.4. Передача параметров в функцию
- •4.1.5. Передача массивов в функцию
- •В примере:
- •4.1.6. Функции с переменным числом параметров
- •4.1.7. Рекурсивные функции
- •4.1.8. Функция main()
- •4.1.9. Перегрузка функций
- •4.1.10. Шаблоны функций
- •4.2. Лекция 12. Директивы препроцессора
- •4.2.1. Директива #include
- •4.2.1. Директива # define
- •4.2.3. Директивы условной компиляции
- •4.2.4. Директивы #undef
- •4.3. Лекция 13. Пользовательские типы данных
- •4.3.1. Переименование типов
- •4.3.2. Перечисления
- •4.3.3. Структуры
- •4.3.4. Битовые поля
- •4.3.5. Объединения
- •5. Программирование графических изображений в языке с
- •5.1. Лекция 14. Программирование графических изображений
- •5.1.1. Графический режим видеоадаптера
- •5.1.2. Функции управления графическим окном
- •5.1.3. Управление цветом и стилем заполнения фигур
- •5.1.4. Рисование простейших графических фигур
- •5.1.5. Отображение текстовой информации в графическом режиме
- •5.1.7. Преобразование координат и анимационные эффекты
- •6.1.1.3. Функция gets()
- •6.1.1.4. Функция puts()
- •6.1.1.5. Функции printf() и scanf()
- •Потоковые объекты ввода/вывода (форматируемые):
- •6.1.2.1 Форматирование данных с помощью флагов и методов
- •6.2. Функции файлового ввода и вывода
- •6.2.1. Файловый ввод и вывод средствами с
- •6.3. Строки: операции с текстовыми файлами
- •6.3.1. Операции над строками
- •6.3.2. Методы и функции ввода и вывода строк
- •6.4. Лекция 18. Операции со структурами и бинарными файлами
- •6.5. Лекция 19. Списки: операции с динамическими структурами данных; организация списков и их обработка
- •6.5.1. Линейные списки
- •6.5.2. Стеки
- •6.5.3. Очередь
- •6.5.4. Бинарные деревья
Министерство образования и науки, молодежи и спорта Украины
Севастопольский национальный технический университет
Факультет радиоэлектроники
Кафедра радиотехники и телекоммуникаций
С.Н. Бердышев, Е.А. Редькина
вычислительная техника
И ПРОГРАММИРОВАНИЕ
Лекции
для студентов высших учебных заведений
направления «Радиотехника»
Севастополь
2012
http://www.rt.sebastopol.ua
Содержание
Основные понятия информатики
Понятие и задачи информатики
Системы счисления
Обобщенная структура и состав персонального компьютера
Организация вычислительных процессов при решении инженерных задач
Алгоритмы
Общие сведения об операционных системах
Предпосылки и краткая история создания операционных систем MS-DOS и Windows
Основные отличия версий операционных систем
Основные команды операционной системы MS-DOS
Основные элементы интерфейса операционной системы Windows
Элементы интерфейса ОС Windows
Работа с файловыми системами операционной системы
Основные элементы языка программирования С/С++ 33
Среда программирования Borland C++ 33
Основные сведения о среде программирования Borland C++ 33
Меню интегрированной среды разработки Borland C++ 33
Работа с элементами меню Borland C++ 33
Элементы языка С 33
Алфавит языка С 33
Идентификаторы
Константы
Ключевые слова
Знаки операций
Комментарии
Типы данных и их объявление
Основные типы данных
Объявление типов данных
Указатели
Указатели и их объявление
Инициализация указателей
Составные указатели
Операции над указателями
Ссылки
Массивы
Одномерные массивы
Многомерные массивы
Динамические массивы
Символьные массивы
Выражения и присваивания
Операции инкремента и декремента
Операция определения размера
Операции отрицания
Операции деления и нахождения остатка от деления
Операции сдвига
Операции отношения
Поразрядные операции
Логические операции
Операции присваивания
Условная операция
Приоритеты выполнения операций
Преобразование типов
Операторы
Операторы ветвления
Условный оператор if
Оператор switch
Операторы цикла
Цикл с предусловием while
Цикл с постусловием do while
Цикл с параметром for
Операторы передачи управления
Оператор безусловного перехода goto
Оператор прерывания break
Оператор пропуска continue
Оператор возврата из функции return
Элементы модульного программирования
Функции
Объявление функций
Определение функций
Вызов функций
Передача параметров в функцию
Передача массивов в функцию
Функции с переменным числом параметров
Рекурсивные функции
Функция main()
Перегрузка функций
Шаблоны функций
Директивы препроцессора
Директива #include 3333
Директива #define 333
Директивы условной компиляции 333
Директивы #undef 333
Пользовательские типы данных
Переименование типов
Перечисления
Структуры
Битовые поля
Объединения
Программирование графических изображений в языке С
Графический режим видеоадаптера
Функции управления графическим окном
Управление цветом и стилем заполнения фигур
Операции над строками и файлами в языке С/С++
Функции ввода и вывода
Ввод и вывод средствами С
Ввод и вывод средствами С++
Формирование данных с помощью флагов и методов
Формирование данных с помощью манипуляторов
Функции файлового ввода и вывода
Файловый ввод и вывод средствами С
Файловый ввод и вывод средствами С++
Строки: операции с текстовыми файлами
Операции над строками
Методы и функции ввода и вывода строк
Функции работы со строками библиотеки <string.h>
Функции классификации и преобразования символов библиотеки <ctype.h>
Операции со структурами и бинарными файлами
Списки: операции с динамическими структурами данных; организация списков и их обработка
Линейные списки
Стеки
Очереди
Бинарные деревья
1. Основные понятия информатики
1.1. Понятие и задачи информатики
Информатика — это наука, изучающая структуру и общие свойства информации, а также методы ее сбора, обработки, хранения, передачи, представления и распространения.
Задачи информатики следуют из её определения. Поскольку в определении понятия «Информатика» присутствует слово информация, то сразу же дадим определение и ему.
Информация — это данные и сведения, представленные в различном виде.
В компьютере любая информация представляется в виде чисел. Все цифры, из которых складываются числа, представляются электрическими сигналами двух уровней. Один из них соответствует цифре 1, а другой — цифре 0.
Наименьшим количеством информации является одно из возможных значений — 0 или 1. Такое количество информации называют бит. Последовательность из 8 битов составляет 1 байт.
1 бит;
1 байт = 8 бит;
1 Кбайт = 1024 байт;
1 Мбайт = 1024 Кбайт;
1 Гбайт = 1024 Мбайт.
1.2. Системы счисления
Системы счисления — это системы записи чисел с помощью определённого набора цифр, называемого алфавитом системы счисления.
Например, в десятичной системе счисления используется алфавит из 10 цифр:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Любое число в десятичной системе счисления может быть представлено в виде
.
Основанием системы счисления является 10.
Примеры:
Кроме десятичной системы счисления в информатике представляют интерес двоичная, восьмеричная и шестнадцатеричная системы счисления.
1.2.1. Двоичная система счисления
Алфавит двоичной системы состоит из двух цифр: 0 и 1.
Основанием системы счисления является число 2. Любое число в двоичной системе счисления может быть представлено как
.
Рассмотрим один из возможных способов перевода числа из десятичного представления в двоичное. Так, на рис. 1.1 отражена последовательность такого перевода для числа 25.
Рис. 1.1 — Перевод из 10-ной в 2-ную систему счисления числа 25
Из двоичного кода в десятичную систему счисления также можно осуществить перевод следующим образом:
1.2.2. Восьмеричная система счисления
Алфавит восьмеричной системы состоит из цифр:
0, 1, 2, 3, 4, 5, 6, 7.
Основанием системы счисления является число 8. Любое число в восьмеричной системе счисления может быть представлено как
.
Один из способов перевода числа из десятичной системы в восьмеричную представлен на рис. 1.2.
Рис. 1.2 —Перевод из 10-ной в 8-ную систему счисления числа 25
Переход от восьмеричного кода в десятичную систему счисления можно осуществить следующим образом:
.
1.2.3. Шестнадцатеричная система
Алфавит системы счисления состоит из цифр:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Основанием системы счисления является число 16. Любое число в шестнадцатеричной системе счисления можно разложить как
.
Один из способов перевода числа из десятичной системы в шестнадцатеричную представлен на рис. 1.3.
Рис. 1.3 — Перевод из 10-ной в 16-ную систему счисления числа 55
Таблица 1.1 — Соответствия кодов систем счисления
Десятичная система (10) |
Восьмеричная система (8) |
Шестнадцатерич- ная система (16) |
Двоичная система (2) |
|
0 |
0 |
0 |
000 |
0000 |
1 |
1 |
1 |
001 |
0001 |
2 |
2 |
2 |
010 |
0010 |
3 |
3 |
3 |
011 |
0011 |
4 |
4 |
4 |
100 |
0100 |
5 |
5 |
5 |
101 |
0101 |
6 |
6 |
6 |
110 |
0110 |
7 |
7 |
7 |
111 |
0111 |
8 |
|
8 |
|
1000 |
9 |
|
9 |
|
1001 |
10 |
|
A |
|
1010 |
11 |
|
B |
|
1011 |
12 |
|
C |
|
1100 |
13 |
|
D |
|
1101 |
14 |
|
E |
|
1110 |
15 |
|
F |
|
1111 |
Переход от шестнадцатеричного кода в десятичную систему счисления можно осуществить следующим образом:
.
В таблице 1.1 представлено соответствия между системами счисления, которые можно использовать для перевода чисел между 2-ной 8-ной и 16-ной системами счисления.
Примеры:
,
.