Редакционно-издательским советом Томского политехнического университета Издательство Томского политехнического университета 2011 ббк 32. 973. 2я73 СодержаниеВ авторской редакцииВ.Н. Шкляр1. Общие вопросы информатики 81.3. Компьютерные вирусы 302. Арифметические основы3. Основы технологии3.3. Понятие алгоритма, свойства алгоритмов 813.7. Обобщённое программирование 1004. Основы языка c++ 1044.4. Основные операторы языка C++ 1224.5. Примеры решения задач с использованием основных операторов C++ 1284.6. Составные типы данных в C++ 1374.7. Символьная информация и строки 1574.9. Типы данных, определяемые пользователем 1844.10. Динамические структуры данных 1894.12 Вопросы для самоконтроля 2081. ОБЩИЕ ВОПРОСЫ ИНФОРМАТИКИ 1.1. Определение информатикиТеоретическая информатикаВычислительная техника1.2. Технические средства информатики1951 г. – в СССР под руководством Сергея Александровича Лебедева создана МЭСМ – малая электронно-счётная машина. 1964Информационная технология1970-е г. – создание БИС (большой интегральной схемы). 19701971 г. – создан первый микрокомпьютер Kenback1 19721975 г. – год образования фирмы Microsoft. 19771.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) оперативная память (memory1.2.6.1. Центральный процессор1.2.6.2.Оперативная память1.2.6.3. Устройства хранения информацииОптические диски (cdroms)Магнито-оптические дискиZip and Jaz Iomega discsМагнитные ленты1.2.6.4. Устройства вводаГрафический режимПринтер – устройство для вывода результатов работы компьютера на бумагу. Само название произошло от английского слова printer1.2.6.6. Устройства связи1.2.7. Программный принцип управления компьютером1.3. Компьютерные вирусыКомпьютерным вирусом1.3.1. Основные признаки появления в системе вируса1.3.2. Правовая охрана программ и GPL1.4. Операционные системы и сети1.4.1. Операционные системы1.4.1.1. Операционная система MS DOSИмя может состоять не более чем из восьми символов. РасширениеДисковые файлыКомандный процессорВнешние командыДрайверы устройств1.4.1.2. Microsoft Windows1.4.1.3.Операционная система LinuxKDE (K Desktop Environment), GNOME1.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г. Java3.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 Вопросы для самоконтроляСписок литературыПоколения ЭВМПоколения ЭВМИздано в авторской редакцииЛ.А. Егорова