Алгоритм - точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.
Программа - алгоритм, записанный в форме, воспринимаемой вычислительной машиной.
Программирование - раздел прикладной математики разрабатывающий методы использования вычислительных машин для реализации алгоритмов.
Программное обеспечение - совокупность программ и документов на них для реализации целей и задач цифровых электронных машин.
Классификацию программ можно представить в следующем виде:
Операционная система – комплекс программ, управляющих базовыми и периферийными устройствами компьютера и обеспечивающих правильную загрузку других программ (MS-DOS, Windows, UNIX, MacOS и др.).
Для обслуживания периферийных устройств в состав операционной системы входят специальные программы – драйверы устройств.
Современные системы программирования (например, Borland Delphi, Microsoft Visual Basic, Borland C++) кроме трансляторов включают в себя интегрированную среду разработки; средства создания и редактирования текстов программ; обширные библиотеки стандартных программ и функций; отладочные программы и утилиты; встроенный ассемблер; справочную службу и т.д.
Системное программирование – процесс разработки операционных систем, утилит и трансляторов.
Прикладное программирование – процесс разработки прикладных программ.
Обработка информации в ЭВМ основана на обмене электрическими сигналами между различными устройствами машины. Эти сигналы возникают в определенной последовательности. Признак наличия сигнала можно обозначить цифрой 1, признак отсутствия - цифрой 0. Таким образом, в ЭВМ реализуются два устойчивых состояния. С помощью определенных наборов цифр 0 и 1 можно закодировать любую информацию. Каждый такой набор нулей и единиц называется двоичным кодом. Количество информации, кодируемое двоичной цифрой - 0 или 1 - называется битом. С помощью набора битов, можно представить любое число и любой знак. Знаки представляются восьмиразрядными комбинациями битов- байтами (т.е. 1 байт = 8 бит). Например, русская буква А - байт 10000000. Любую комбинацию битов можно интерпретировать как число. Например, 110 означает число 6, а 01101100 - число 108. Число может быть представлено несколькими байтами.
Таким образом, в ЭВМ информация кодируется двумя видами символов. Такому представлению соответствует система счисления, в которой используется всего два цифровых знака - 0 и 1. Дадим определение системы счисления (с/с): система счисления - это совокупность правил и приемов записи чисел с помощью набора цифровых знаков (алфавита). Количество цифровых знаков называют основанием системы счисления.
Различают два типа систем счисления:
· позиционные, когда значение каждой цифры числа определяется ее местом (позицией) в записи числа;
· непозиционные, когда значение цифры в числе не зависит от ее места в записи числа.
Примером непозиционной системы счисления является римская :IX, IV, XV и т.д.
Примером позиционной системы счисления можно назвать десятичную систему, используемую повседневно.
Любое целое число в позиционной системе можно записать в форме многочлена
Двоичная система счисления – позиционная (основание - 2).
Перевод целого числа из двоичной системы в десятичную:
(1101)2 = 1*20 + 0*21 + 1*22 + 1*23 = (13)10
Перевод целого числа из десятичной системы в двоичную осуществляется последовательным делением на 2. В качестве остатка от деления получается очередная цифра двоичного числа, начиная с младшей.
Перевод дроби из десятичной системы в двоичную осуществляется умножением на 2. Целая часть полученного числа – очередная цифра двоичного, начиная с первой цифры после запятой:
Восьмеричная система счисления – позиционная (основание – 8, используются цифры 0 1 2 3 4 5 6 7).
Шестнадцатеричная система счисления – позиционная (основание – 16, используются цифры 0 1 2 3 4 5 6 7 8 9 и первые буквы латинского алфавита A B C D E F).
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему (и обратно) осуществляется заменой каждой цифры эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).
(537.1)8 =
111.
= (101 011 111.001)2
7.
(1A3.F)16 =
0011.
= (10100011.1111)2
A
3.
F
A
B
C
D
E
F
Представление (вид) числа в памяти определяется тем типом, к которому он принадлежит. В частности, тип числа задает количество двоичных разрядов, отводимых под хранение числа.
Для хранения числа в памяти отводится целое число ячеек емкостью 1 байт – 8 бит (разрядов).
Целые беззнаковые типы (представление числа 5)
UNSIGNED SHOT INT
(2 байта, 0...65535)
0000 0000 0000 0101
Все математические операции с числами основаны на сложении.
Сложение осуществляется по-разрядно с соблюдением дополнительного правила: "Если в результате сложения двух соответствующих разрядов чисел получилось число большее или равное основанию системы счисления (2), то следует из полученного числа отнять основание системы счисления и записать в строке итога полученный результат. Кроме того, необходимо запомнить единицу с тем, чтобы добавить ее при сложении следующего разряда".
0 1 0 0 1 0 0 1 (73)10
+ 0 0 1 0 0 1 0 1 (37)10
_________________________
0 1 1 0 1 1 1 0 (110)10
Вычитание заменяется сложением чисел, одно из который берется с обратным знаком (используется дополнительный код).
0 0 0 0 0 1 1 1 (7)10
+ 1 1 1 1 1 0 1 1 (-5)10
_____________________________
0 0 0 0 0 0 1 0 (2)10
Умножение заменяется сложением чисел, сдвинутых на разное число двоичных разрядов подобно тому, как это делается при умножении чисел «в столбик». Деление, соответственно, выполняется через вычитание (путем многократного прибавления к делимому дополнительного кода делителя). Возведение в степень выполняется через умножение и т.д.
Современные компьютеры помимо центрального процессора оснащаются математическим сопроцессором – специальным устройством, выполняющим математические операции с плавающей точкой, что позволяет разгрузить центральный процессор. Его использование позволяет ~ на 80 % сократить время выполнения таких операция как умножение и возведение в степень.
Работа компьютера (в том числе выполнение арифметических операций) основана на логических действиях.
Возможны только четыре комбинации соответствующих разрядов при сложении двух чисел, представленных в двоичном виде.
Разряд I слагаемого
Разряд II слагаемого
Правила по установке соответствующего разряда итогового числа построено по законам логики:
"Если складываются разряды с равным состоянием (ноль с нулем или единица с единицей), то итоговый разряд устанавливается равным нулю. В противном случае, он устанавливается равным единице. Если складываются два разряда, равные единице, то вырабатывается сигнал переноса единицы в следующий разряд".
Логическая конструкция "Если условие обращается в истину, то выполнить некую последовательность действий" называется импликацией.
В практическом программировании применяют более сложную конструкцию: "Если условие истинно, то выполнить последовательность действий №1, иначе (то есть если условие ложно) выполнить последовательность действий №2". Реализуется с помощью логического оператора: if – else.