Редакционно-издательским советом Томского политехнического университета Издательство Томского политехнического университета 2011 ббк 32. 973. 2я73



СодержаниеВ авторской редакции
В.Н. Шкляр
1. Общие вопросы информатики 8
1.3. Компьютерные вирусы 30
2. Арифметические основы
3. Основы технологии
3.3. Понятие алгоритма, свойства алгоритмов 81
3.7. Обобщённое программирование 100
4. Основы языка c++ 104
4.4. Основные операторы языка C++ 122
4.5. Примеры решения задач с использованием основных операторов C++ 128
4.6. Составные типы данных в C++ 137
4.7. Символьная информация и строки 157
4.9. Типы данных, определяемые пользователем 184
4.10. Динамические структуры данных 189
4.12 Вопросы для самоконтроля 208
1. ОБЩИЕ ВОПРОСЫ ИНФОРМАТИКИ 1.1. Определение информатики
Теоретическая информатика
Вычислительная техника
1.2. Технические средства информатики
1951 г. – в СССР под руководством Сергея Александровича Лебедева создана МЭСМ – малая электронно-счётная машина. 1964
Информационная технология
1970-е г. – создание БИС (большой интегральной схемы). 1970
1971 г. – создан первый микрокомпьютер Kenback1 1972
1975 г. – год образования фирмы Microsoft. 1977
1.2.2. Поколения ЭВМ
1.2.3. Архитектура ЭВМ
1.2.3.1. Классическая архитектура ЭВМ и принцип фон Неймана
1.2.3.2. Совершенствование и развитие внутренней структуры ЭВМ
1.2.3.3. Основной цикл работы ЭВМ
1.2.3.4. Система команд ЭВМ и способы обращения к данным
1.2.4. Типы и назначение компьютеров
1.2.5. Магистрально-модульный принцип построения компьютера
1.2.6. Периферийные и внутренние устройства
CPU); 2) оперативная память (memory
1.2.6.1. Центральный процессор
1.2.6.2.Оперативная память
1.2.6.3. Устройства хранения информации
Оптические диски (cdroms)
Магнито-оптические диски
Zip and Jaz Iomega discs
Магнитные ленты
1.2.6.4. Устройства ввода
Графический режим
Принтер – устройство для вывода результатов работы компьютера на бумагу. Само название произошло от английского слова printer
1.2.6.6. Устройства связи
1.2.7. Программный принцип управления компьютером
1.3. Компьютерные вирусы
Компьютерным вирусом
1.3.1. Основные признаки появления в системе вируса
1.3.2. Правовая охрана программ и GPL
1.4. Операционные системы и сети
1.4.1. Операционные системы
1.4.1.1. Операционная система MS DOS
Имя может состоять не более чем из восьми символов. Расширение
Дисковые файлы
Командный процессор
Внешние команды
Драйверы устройств
1.4.1.2. Microsoft Windows
1.4.1.3.Операционная система Linux
KDE (K Desktop Environment), GNOME
1.5. Обработка документов
Текстовыми редакторами
Текстовые процессоры
1.5.1. Текстовый процессор MS Word
Форматирование текста
Форматирование символов
Форматирование страниц
Процесс форматирования
F7. Можно также использовать кнопку Орфография
Номера страниц
Многоколоночный текст
Колонки на панели инструментов «Стандартная» или выбрать пункт Колонки
На текущей странице
Высота и ширина ячейки
Вставить столбец (строку)»
Удалить столбцы (строки)
Вставка графики
Рисунок из меню Вставка
Кадр из меню Вставка
Текстовые эффекты
Название кнопки
Включение математических формул
Объект из меню Вставка
Вид кнопки
1.6 Вопросы для самоконтроля
2. АРИФМЕТИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ ЭВМ 2.1. Единицы измерения информации
2.2. Системы счисления
Непозиционные системы счисления
Позиционные системы счисления
В, необходимо разделить её на В
2.2.1. Двоичная система счисления
2.2.2. Восьмеричная и шестнадцатеричная системы счисления
2.2.3. Перевод чисел из одной системы счисления в другую
2.3. Двоичное кодирование информации
Кодирование чисел
R в виде произведения мантиссы m
Кодирование графической информации
Кодирование звука
2.4 Вопросы для самоконтроля
3. ОСНОВЫ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ ЗАДАЧ 3.1. Технология программирования и основные этапы её развития
Основные этапы развития программирования как науки
Второй этап
Третий этап
Четвертый этап
3.2. Источники ошибок в программных средствах
3.2.1. Интеллектуальные возможности человека
3.2.2. Неправильный перевод как причина ошибок в программных средствах
Модель перевода
3.2.3. Основные пути борьбы с ошибками
3.3. Понятие алгоритма, свойства алгоритмов
Достоинства псевдокода
Основные свойства
Правильность алгоритмов
Простейшие виды
3.4. Языки программирования
Языком самого низкого уровня
Языки программирования высокого уровня
Си++ – объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980г. Java
3.5. Структурное программирование
3.6. Объектно-ориентированное программирование
3.6.2. Основные понятия
3.6.3. Основные концепции ООП
3.6.4. Особенности реализации
Поля данных
Инкапсуляция обеспечивается
3.6.5. Подходы к проектированию программ в целом
3.6.6. Родственные методологии
Компонентное программирование
Прототипное программирование
3.6.7. Производительность объектных программ
Динамическое связывание методов
Значительная глубина абстракции
Наследование «размывает» код
Инкапсуляция снижает скорость доступа к данным
Динамическое создание и уничтожение объектов
3.6.8. Критика ООП
3.6.9. Объектно-ориентированные языки
3.7. Обобщённое программирование
3.7.1. Общий механизм
3.7.2. Способы реализации
3.7.3. Обобщённое программирование в языке C++
3.8 Вопросы для самоконтроля
4. Основы языка c++
4.1. Типичная среда C++ программирования
На втором этапе
Третий этап
Четвертый этап – компоновка.
Пятый этап – загрузка
Шестой этап – это выполнение
4.2. Структура программы на C++
Директивы препроцессора
Задача препроцессора
Тело функции
4.3. Базовые средства языка C++
Алфавит языка С++
Знаки операций
4.3.1.1. Константы в C++
Целые константы
Вещественные константы
Перечислимые константы
Символьные константы
Строковая константа
4.3.2. Типы данных в C++
Тип wchar_t
Типы с плавающей точкой
Классы памяти
4.3.4. Знаки операций в C++
Операции сдвига
Поразрядные операции
Операции сравнения
Логические бинарные операции
Операции присваивания
Условная операция.
Операция явного приведения
4.3.6. Ввод и вывод данных
4.4. Основные операторы языка C++
4.4.2. Оператор «выражение»
4.4.3. Составные операторы
4.4.4. Операторы выбора
4.4.5. Операторы циклов
4.4.6. Операторы перехода
4.5. Примеры решения задач с использованием основных операторов C++
4.5.1. Программирование ветвлений
4.5.2. Программирование арифметических циклов
4.5.3. Итерационные циклы
4.5.4. Вложенные циклы
4.6. Составные типы данных в C++
Определение массива в C/C++
Обработка одномерных массивов
Перебор элементов массива характеризуется
По направлению
Перебор массива по одному элементу
Формирование псевдодинамических массивов
Использование датчика случайных чисел для формирования массива
Перебор массива по два элемента
Классы задач по обработке массивов
Задачи 1-го класса
Задачи 2-го класса
Задачи 3-го класса
Задачи 4-го класса
Сортировка массивов
Сортировка методом простого включения (вставки)
Сортировка методом простого выбора
Сортировка методом простого обмена
Поиск в отсортированном массиве
Динамические переменные
Присваивать значение
Арифметические операции
4.6.4. Указатели и массивы
Многомерные массивы и указатели
4.7. Символьная информация и строки
Для ввода и вывода символьных данных
Прототип функции
4.8. Функции в C++
4.8.1. Объявление и определение функций
Список формальных параметров
4.8.2. Прототип функции
4.8.3. Параметры функции
4.8.4. Локальные и глобальные переменные
Глобальные переменные
4.8.5. Функции и массивы
4.8.5.2. Передача строк в качестве параметров функций
4.8.5.3. Передача многомерных массивов в функцию
4.8.6. Функции с начальными (умалчиваемыми) значениями параметров
4.8.7. Подставляемые (inline) функции
4.8.8. Функции с переменным числом параметров
4.8.9. Перегрузка функций
Правила описания перегруженных функций
4.8.10. Шаблоны функций
4.8.11. Указатель на функцию
4.8.12. Ссылки на функцию
4.9. Типы данных, определяемые пользователем
Инициализация структур
Доступ к элементам структур
Указатели на структуры
4.9.5. Битовые поля
4.10. Динамические структуры данных
4.10.1. Линейный однонаправленный список
Адресное поле
Над списками
4.10.2. Работа с двунаправленным списком
4.11. Ввод-вывод в C++
4.11.1.1 Открытие и закрытие потока
FILE* fopen(const char*filename,const char*mode)
При открытии потока
4.11.2. Стандартные файлы и функции для работы с ними
4.11.3. Символьный ввод-вывод
4.11.4. Строковый ввод-вывод
4.11.5. Блоковый ввод-вывод
4.11.6. Форматированный ввод-вывод
4.11.6.1 Прямой доступ к файлам
4.11.6.2 Удаление и добавление элементов в файле
4.12 Вопросы для самоконтроля
Список литературы
Поколения ЭВМ
Поколения ЭВМ
Издано в авторской редакции
Л.А. Егорова