- •2. Понятие информатики и информации. Понятие об информации и её измерение.
- •2.8. Виды и свойства информации.
- •2.9. Мера количества информации. Семантическая, синтаксическая и прагматическая меры. Информационная энтропия. Формула Шеннона
- •2.11. Автоматизированная система управления
- •2.13.Информатика. Задачи информатики. Информация. Характеристики информации.
- •2.14. Безопасность и защита информации
- •2.15. Виды угроз с точки зрения защиты информации
- •2.16. Резервирование информации. Raid – массивы.
- •2.17. Криптографические системы шифрования. Симметричные и ассиметричные методы.
- •2.18. Задачи информатики
- •2.19. Кодирование информации. Представление видео, аудио и текстовой информации. Теорема Котельникова. Ацп и цап. Дискретизация. Квантование. Кодовые страницы.
- •2. Принципы фон Нэймана и архитектура эвм
- •3.История развития вычислительной техники. Поколения эвм.
- •4 Основные устройства компьютера: материнская плата.
- •5.Основные устройства компьютера:процессор
- •6.Основные устройства компьютера: оперативная память
- •7.Основные устройства компьютера: системная шина
- •8. Основные устройства компьютера: устройства ввода- вывода
- •9. Основные устройства компьютера: устройства хранения информации
- •10.Система прерываний эвм
- •11. Информация, её виды и свойства. Непрерывная и дискретная информация. Единицы количества информации: вероятностный и объёмный подходы.
- •12.Представление числовой информации. Позиционные системы счисления и их назначения: десятичная, двоичная, восьмеричная и шестнадцатеричная. Правила перевода чисел из одной системы счисления в другую.
- •Двоичная система счисления
- •13. Двоичная система счисления как базовая система представления и хранения числовой информации в компьютере. Единицы двоичной информации и их назначение: бит, байт, машинное слово.
- •18. Модель открытой системы osi. Семь уровней. Протоколы
- •1.Системное по. Операционные системы и их назначение. Основные функции: управление процессором, памятью, устройствами ввода/вывода, процессами и заданиями пользователя.
- •Функции ос
- •3.Режимы организации вычислительного процесса.
- •5. Инструментальное по. Компиляторы и интерпретаторы языков программирования. Типовая технология создания программы
- •9.Кодирование информации. Префиксный код Хаффмана.
- •2.Концепция типов данных в с. Базовые типы данных. Характеристика типа: множество допустимых значений, формат представления в памяти, размер занимаемой памяти, допустимый набор операций.
- •3.Определение переменных в с. Определение констант. Инициализация переменных.
- •Int k; // это переменная целого типа int
- •4. Ввод и вывод данных. Универсальные функции ввода и ввода.
- •5. Выражения и операции: арифметические, сравнения, логические, поразрядные. Особенности выполнения операций в выражениях. Библиотека математических функций компилятора Borland с.
- •6.Базовые управляющие структуры: следование, ветвление, цикл, вызов подпрограммы. Нисходящее и пошаговое проектирование алгоритма программы.
- •7.Алгоритм линейного поиска значений в одномерном массиве. Поиск с барьером.
- •8. Алгоритм двоичного поиска значения в одномерном массиве.
- •9. Сортировки. Внешние и внутренние. Устойчивые и неустойчивые.
- •10. Основные методы сортировки: метод обмена.
- •11.Основные методы сортировки: метод вставки
- •12.Основные методы сортировки: метод выбора
- •13.Поиск минимального и максимального элементов
- •14. Вставка и удаление элементов
- •15. Файлы произвольного и последовательного доступа. Работа с файлами в с
- •6.Принцип программного управления. Функциональная и структурная организация компьтера.
- •6.1. Органиация открытой компьютерной архитектуры
- •6.2.Схема с общей шиной
- •6.4. Функционирование процессора
- •6.5.Организация оперативной памяти
- •6.7.Контроль оперативной памяти
- •6.9.Прерывание
- •6.13.Описать событие «прерывание выполняется»
- •6.14. Описать событие «прерывание пришло»
- •6.15. Организация внешних устройств
- •6.18.Обмен по запросу
- •6.21.Канальная программа
- •6.23.Организация винчестера
6.Базовые управляющие структуры: следование, ветвление, цикл, вызов подпрограммы. Нисходящее и пошаговое проектирование алгоритма программы.
Типы алгоритмов:
1.Следование – последовательность блоков, каждый из которых имеет по одному входу и выходу и выполняется ровно один раз.
2.Ветвление – это алгоритм, в котором в зависимости от истинности некоторого условия проводится выбор одного из нескольких направлений.
3.Цикл – многократное повторение участков алгоритма.
Нисходящее проектирование предполагает последовательное разбиение исходной задачи на подзадачи до такой конкретизации, когда подзадача сможет быть реализована одним оператором выбранного для программирования языка. По ходу нисходящего проектирования та или иная подзадача может сформировать самостоятельный модуль. Тогда может быть применен принцип модульного программирования. Он обеспечивает легкость составления алгоритмов и отладки программ, легкость сопровождения и модификации, а также возможность одновременной разработки различных модулей разными специалистами с использованием разных языков программирования.
При работе над модулем можно применить принцип структурного программирования. Его цель – повышение читабельности и ясности алгоритма (и программы), более высокой производительности программистов и упрощение отладки.
7.Алгоритм линейного поиска значений в одномерном массиве. Поиск с барьером.
Простейший алгоритм поиска – линейный. Исходный массив просматривается последовательно от первого до последнего элемента.
Наихудший случай – слова нет в массиве (не найдено) – вывод можно сделать после просмотра всего массива.
Достоинство: простота реализации.
Недостаток: большое время.
Если используется for, всегда выполняется ровно n операций сравнения, независимо от того, найдено слово или нет. Разумно прекращать поиск, если слово найдено (если не требуется найти все вхождения слова).
При равномерном распределении элементов в массиве среднее время поиска обычно пропорционально величине n/2.
Во всех ниже изложенных алгоритмах будем считать, что производится поиск в массиве A из N целых чисел элемента, равного X.
const int n=10;
int a[n], x, i;
cin >> x;
for (i=0; i<n; i++)
if (a[i]==x) break;
if (a[i]<n)
cout <<"первое вхождение "<< х <<" на "<< i <<" номере";
else cout << " не нашли ";
Идея поиска с барьером: не проверять каждый раз в цикле условие достижения границы массива.
Это обеспечивают, установив в массиве: любой элемент, который удовлетворяет условию поиска. Тем самым будет ограничено изменение индекса. В качестве баръера можно установить искомый элемент, добавив его в конец массива.
Достоинство: на одну проверку меньше в цикле.
Выход из цикла, в котором теперь остается только условие поиска, может произойти либо на найденном элементе, либо на барьере. Таким образом, после выхода из цикла проверяется, не барьер ли мы нашли.
const int n=10;
int a[n], x, i=0;
cin >> x;
a[n-1]=x;
while (a[i]!=x) i++;
if (i<n-1) cout <<"первое вхождение "<< х <<" на "<< i <<" номере";
else cout << "не нашли";