Позиционные системы счисления. Перевод целых и дробных чисел из десятичной в двоичную систему счисления и обратно.
Позиционные системы счисления. Перевод целых и дробных чисел из десятичной в двоичную систему счисления и обратно.
Позиционная система счисления— система счисления, в которой значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда).
Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией.
Перевод целых чисел из 10 в 2 систему счисления и обратно
Х 10 → Y n
Необходимо последовательно делить х и получаемые частные на n (основание новой системы) до тех пор, пока не получится частное меньше n.
Запись: последнее частное и остатки от деления, записываемые в обратной последовательности.
Пример: 7310 = 10010012
Х n → Y 10
Перевод из любой позиционной системы в десятичную выполняется, используя разложение по степеням основания.
Переводы дробных чисел из 10 в 2 систему счисления
Х n → Y 10
Разложение числа по степеням основания
Х 10 → Y n
· Вначале переводится целая часть десятичной дроби в двоичную с.с.
· Затем, дробная часть десятичной дроби умножается на основание двоичной с.с.
· В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной с.с.
· Алгоритм завершается, если дробная часть полученного произведения равна 0 или, если достигнута требуемая точность вычисления. В противном случае, вычисления продолжаются с предыдущего шага.
Пример: 49,710=10001,1011002
Перевод из двоичной в восьмеричную и шестнадцатеричную системы счисления.
Для перевода двоичного числа в восьмеричное:
· Разделить число на триады ( если оно десятичное, то влево от запятой и вправо от запятой)
· Заменить каждую триаду двоичных чисел соответствующей восьмеричной цифрой по таблице
· Недостающие до триады позиции заполнить незначащими нулями
Например: 1110,01012=16,248 и наоборот 16,248=1110,01012
Для переводя двоичного числа в шестнадцатеричное воспользуемся тем же алгоритмом, но число будем делить на тетрады.
Пример: 1111010,01111112=7А,7Е16 и наоборот 7А,7Е16 = 1111010,01111112
Классификация ЭВМ
ЭВМ (Электронно-вычислительная машина)– комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач.
Классификация ЭВМ:
1. По принципу действия:
-вычислительные машины дискретного действия (цифровые)
-аналоговые ( представляет данные в непрерывной форме с помощью физических переменных: скорость, длина, напряжение, ток)
2. По назначению:
-универсальные
-проблемно-ориентированные (разрабатывают конструктор, например)
-специализированные (только определенный круг задач)
3. По поколению ( по этапам создания)
-физический элемент (ламповые)
-технология изготовления
-быстродействие ( количество операций умножения над вещественными числами, которые выполняются каждую секунду)
Структурная схема ПК
ПК (Персональный компьютер) – универсальная ЭВМ, предназначенная для индивидуального пользования
МП (микропроцессор)- основное устройство ЭВМ, выполняет команды программы и управляет взаимодействием всех компонентов ЭВМ.
ПЗУ (постоянное запоминающее устройство)- хранит программы, выполняет загрузки операционных систем компьютеров.
ОЗУ (оперативное запоминающее устройство) –хранит программы и данные, которые выполняют в данный момент на ЭВМ.
Системная шина- набор проводов, которые позволяют осуществлять связь между разными частями.
ВК (видеокарта)- дополнительное устройство, которое формирует изображение и передает его на монитор.
КК (контроллер клавиатуры)- содержит буфер(память), в которые помещены отдельные символы, и передает их другим компонентам.
СА (сетевой адаптер) – обеспечивает обмен информацией с локальными и глобальными компьютерными сетями.
ВЗУ (внешнее запоминающее устройство) –жесткий диск, Flash память.
ПУ (периферийное устройство различного назначения) – принтеры, сканеры.
КВЗУ (контроллер внешних запоминающих устройств)-управляет обменом информации с МП или ПЗУ.
КПВВ (контроллер портов ввода/вывода)- управляет обменом информации с ПУ или ПЗУ.
ИП - источник питания.
Системная шина
СШ (системная шина)- служит для обмена командами и данными между компонентами ЭВМ.
Системная шина включает в себя:
· шину данных для параллельной передачи всех разрядов операнда из ОЗУ в МП и обратно; имеет 64 разряда
· шину адреса для параллельной передачи всех разрядов адреса ячейки ОЗУ; имеет 32 разряда
· шину инструкций для передачи команд во все блоки ЭВМ; простые команды кодируются одним байтом, но есть и команды, кодируемые двумя, тремя и более байтами; имеет 32 разряда
· шину питания для подключения блоков ЭВМ к системе энергопитания.
Системная шина обеспечивает три направления передачи информации:
1) между МП и ОЗУ;
2) между МП и контроллерами устройств;
3) между ОЗУ и внешними устройствами (ВЗУ и ПУ, в режиме прямого доступа к памяти).
Все устройства подключаются к системной шине через контроллеры – устройства, которые обеспечивают взаимодействие внешних устройств и системной шины.
Характеристики системной шины:
· количество обслуживаемых ею устройств
· пропускная способность (максимальная возможная скорость передачи информации)
Пакеты прикладных программ.
Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Пакет прикладных программ – комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Классификация:
1. Общего назначения (универсальные)- программные продукты, предназначенные для автоматизации разработки и эксплуатации функциональных задач пользователя и информационных систем в целом. (текстовые редакторы, электронные таблицы, системы управления базами данных, интегрированные пакеты)
2. Методо-ориентированные - включают программные продукты, обеспечивающие независимо от предметной области и функций информационных систем математические, статистические и другие методы решения задач.
3. Проблемно-ориентированные - программные продукты, предназначенные для решения какой-либо задачи в конкретной функциональной области.
4. Интеллектуальные системы - реализуют отдельные функции интеллекта человека. Основными компонентами систем искусственного интеллекта являются базы знаний, интеллектуальный интерфейс с пользователем и программа формирования логических выводов.
Поддержка файловой системы
Файловые системы - неотъемлемая часть любой операционной системы. Они позволяют пользователям записывать и хранить файлы, получать доступ к данным, и, конечно же, пользоваться жесткими дисками.
Важное свойство файловых систем — поддержка журналирования. Журналируемая файловая система ведёт постоянный учёт всех операций записи на диск. Благодаря этому после сбоя электропитания файловая система всегда автоматически возвращается в рабочее состояние.
Поддержка файловой системы обеспечивается тем, что в составе всех современных операционных систем имеются специальные разделы ПО способные управлять процессом распределения дискового пространства для хранения данных, записывать в системной области диска в специальных таблицах размещения файлов (FAT-таблицах) данные о том, в каком месте диска хранятся тот или иной файл, представлять пользователю эти сведения в виде иерархической (файловой) структуры и обслуживать ее.
К функциям обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы:
· создание файлов и присвоение им имен
· создание каталогов (папок) и присвоение им имен
· переименование файлов и каталогов (папок);копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;
· удаление файлов и каталогов (папок)
· навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке)
· управление атрибутами файлов.
Тестирование и отладка программ. Назначение и взаимосвязь. Методы тестирования. Примеры тестов для фрагмента программ.
Тестирование программы – процесс многократного выполнения программы с целью выявления в ней наличия ошибки.
Отладка – обнаружение, локализация и исправление ошибок программы.
Тест – это набор исходных данных с известными результатами.
Локализация - это нахождение места ошибки в программе.
Группы тестов:
· Основные тесты - должны проверять работоспособность программ для наиболее типичных данных
· Выраженные тесты – проверяют работоспособность программы в минимальном режиме
· Тесты граничных значений – проверяют на граничных значениях
· Аварийные тесты – проверяют реакцию программы на определенную аварийную ситуацию. В частности на ввод некорректных данных: деление на 0 и т.д.
Методы проектирования тестов:
· Метод «черного ящика» - соответствие входной и выходной информаций. ( по возможности перебрать все исходные данные).
· Метод «белого ящика» - учитывается структура алгоритма программы.
· Комбинирование – сначала программа рассматривается как «черный ящик», а потом запускается тест.
Локализация включает в себя:
· Определение сущности ошибки.
· Выявление фрагмента программы, в которой содержится ошибка.
· Установление конкретного места ошибки ( определяется методом ручной прокрутки: надо взять текст, а потом проанализировать работу программы)
Сортировка массива
Отсортировать массив- значит, переставить его элементы таким образом, чтобы для каждой пары выполнялось заданное условие упорядоченности.
Рассмотрим два способа сортировки массива:
1. Метод пузырька предлагает сравнивать каждый элемент с соседним. Если два элемента стоят неправильно, нарушая условие сортировки, то их меняют местами. Процесс перестановки продолжается до тех пор, пока все элементы не окажутся на своих местах. Тогда для всех пар элементов массива будет выполняться условие упорядоченности, и массив будет отсортирован.
2. Линейная сортировка массива ( методом поиска минимума)
При сортировке по возрастанию метод предлагает найти минимальный элемент в массиве и поставить его на нулевое место. А элемент с нулевого места переместить на место минимального элемента. После этого нулевой элемент массива гарантированно стоит на своем месте. Поэтому в дальнейшей сортировке он не участвует. На следующем шаге массив просматривается уже с первого элемента. В этой части находится свой минимум, который меняется местами с первым элементом. Теперь уже два элемента массива стоят на своих местах. На следующем шаге массив обрабатывается со второго элемента. Процесс продолжается до тех пор, пока в необработанной части массива не останутся два элемента. Среди них тоже находится минимальный. Он становится на предпоследнее место массива. А последний необработанный элемент автоматически попадает на последнее место в массиве. Теперь все элементы стоят на своих местах и процесс сортировки можно прекратить.
Помимо этих вариантов существует еще один частный случай линейной сортировки. Это минимаксная сортировка (максиминная). Согласно данному методу в необработанной части массива одновременно ищется максимальный и минимальный элементы, которые затем расставляются по своим метам в зависимости от направления сортировки. При этом необработанная часть массива сокращается одновременно с двух сторон.
Процедуры и функции. Сравнительная характеристика. Примеры использования.
Подпрограммы делятся на два класса: процедуры и функции.
Процедура – самостоятельная часть программного кода, имеющая имя и параметры, выполняющая некоторую последовательность действий и изменяющая значения некоторых своих параметров.
Функция – это самостоятельная часть кода, имеющая имя и вычисляющая на основе своих параметров (аргументов) некоторое значение, которое затем передается вызывающей программе.
Функция | Процедура |
Возвращает всегда только один результат | Возвращает любое количество результатов, вплоть до ни одного |
Возвращает результат под именем функции | Возвращает результат через параметры |
Вызывается внутри другого оператора ( специальной команды нет) | Вызывается с помощью специальной команды “Оператор вызова процедуры” |
Имеет тип (аналогично переменной) | Не имеет типа |
Позиционные системы счисления. Перевод целых и дробных чисел из десятичной в двоичную систему счисления и обратно.
Позиционная система счисления— система счисления, в которой значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда).
Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией.
Перевод целых чисел из 10 в 2 систему счисления и обратно
Х 10 → Y n
Необходимо последовательно делить х и получаемые частные на n (основание новой системы) до тех пор, пока не получится частное меньше n.
Запись: последнее частное и остатки от деления, записываемые в обратной последовательности.
Пример: 7310 = 10010012
Х n → Y 10
Перевод из любой позиционной системы в десятичную выполняется, используя разложение по степеням основания.
Переводы дробных чисел из 10 в 2 систему счисления
Х n → Y 10
Разложение числа по степеням основания
Х 10 → Y n
· Вначале переводится целая часть десятичной дроби в двоичную с.с.
· Затем, дробная часть десятичной дроби умножается на основание двоичной с.с.
· В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной с.с.
· Алгоритм завершается, если дробная часть полученного произведения равна 0 или, если достигнута требуемая точность вычисления. В противном случае, вычисления продолжаются с предыдущего шага.
Пример: 49,710=10001,1011002