Автор работы: Пользователь скрыл имя, 14 Декабря 2015 в 18:46, доклад
Принтер-это внешнее периферийное устройство компьютера, предназначенное для вывода текстовой или графической информации, хранящейся в компьютере, на твёрдый физический носитель, обычно бумагу, малыми тиражами (от единиц до сотен) без создания печатной формы. Принтер — это высокотехнологичное устройство печати, созданное в первую очередь для работы с компьютером.
Сформированная тройка случайных многоразрядных двоичных чисел р, q и q' составляет секретный ключ.
2. Формируют открытый ключ в виде первого g-разрядного и второго f-разрядного чисел n и α, для чего:
2.1. Вычисляют первое g-разрядное (в нашем примере 332-разрядное) двоичное число n как произведение чисел р и q, входящих в секретный ключ:
2.2.1. Генерируют случайное двоичное, например 270-разрядное, число р:
2.2.2. Вычисляют функцию Эйлера ϕ(n)=(p-1)(q-1) от первого g-разрядного двоичного числа n:
2.2.3. Вычисляют дополнительный параметр t путем деления функции Эйлера ϕ(n) на первое дополнительное простое случайное число q', т.е.
2.2.4. Вычисляют второе f-разрядное
(в нашем примере 331-разрядное) двоичное
число α путем возведения
3. Преобразуют исходный
документ в электронный вид, например,
путем перевода буквенных
4. Формируют ЭЦП, для чего:
4.1. Предварительно вычисляют
107-разрядное двоичное число
4.2. Вычисляют ЭЦП (в нашем примере 331-разрядное двоичное число) по формуле S=αK mod n:
Таким образом, на этапах, предшествующих процедуре проверки подлинности ЭЦП, получены в виде многоразрядных двоичных чисел (цифровых двоичных электромагнитных сигналов):
- секретный ключ в виде трех двоичных чисел: 133-разрядного р, 199-разрядного q и 109-разрядного q';
- открытый ключ в виде двух двоичных чисел: 332-разрядного n и 331-разрядного α;
- ЭЦП в виде 331-разрядного двоичного числа S,
- ЭД, хэш-функция от которого представляет 107-разрядное двоичное число Н.
Сформированный открытый ключ и ЭЦП позволяют однозначно установить путем осуществления процедуры проверки
подлинности ЭЦП по заявляемому способу, что при формировании ЭЦП был использован сек
Для проверки легитимности ЭЦП у заказчика должна быть установлена криптопрограмма КриптоПро CSP. С помощью КриптоПро CSP можно настроить функции используемой почтовой программы, что обеспечит прием документов, подписанных сертифицированными ЭЦП, корректный просмотр и проверку самих ЭЦП. При получении котировочной заявки в виде электронного документа внизу документа должен появиться "бантик" красный, означающий, что документ подписан ЭЦП. Иногда из-за различий в версии офисов и крипто могут быть не видны, но это уже другой вопрос. Открыв этот "бантик", можно выяснить, кем документ подписан и каков срок его полномочий. Возможна ситуация, когда в определенной версии Word "бантик" не виден. На сайте производителя ПО (КриптоПро) так и написано, что заявка, сделанная в 2007 офисе не покажет подпись, не отобразит подпись при просмотре в 2010 офисе. Вообще никто вам не запрещает связаться с УРЗ и спросить в какой версии он подписывал ЭД. В условиях котировки никто не запрещает указать РЕКОМЕНДАТЕЛЬНУЮ версию Word, предполижим, "в связи с наличием именно такого лицензионного программного обеспечения у Заказчика". УРЗ будут только в выигрыше.
Машина Тьюринга
Маши́на Тью́ринга (МТ) — aбстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.
Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
В состав машины Тьюринга входит неограниченная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство (также называется головкой записи-чтения (ГЗЧ)), способное находиться в одном из множества состояний. Число возможных состояний управляющего устройства конечно и точно задано.
Управляющее устройство может перемещаться влево и вправо по ленте, читать и записывать в ячейки символы некоторогоконечного алфавита. Выделяется особый пустой символ, заполняющий все клетки ленты, кроме тех из них (конечного числа), на которых записаны входные данные.
Управляющее устройство работает согласно правилам перехода, которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные, и переход в любое из них означает конец работы, остановку алгоритма.
Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ — состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной.
Описание машины Тьюринга
Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: qiaj→qi1aj1dk (если головка находится в состоянии qi, а в обозреваемой ячейке записана буква aj, то головка переходит в состояние qi1, в ячейку вместо aj записывается aj1, головка делает движение dk, которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)). Для каждой возможной конфигурации <qi, aj> имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил). Правил нет только для заключительного состояния, попав в которое машина останавливается. Кроме того, необходимо указать конечное и начальное состояния, начальную конфигурацию на ленте и расположение головки машины.
Пример машины Тьюринга
Приведём пример МТ для умножения чисел в унарной системе счисления. Запись правила «qiaj→qi1aj1R/L/N» следует понимать так: qi — состояние при котором выполняется это правило, aj — данные в ячейке, в которой находится головка, qi1 — состояние в которое нужно перейти, aj1 — что нужно записать в ячейку, R/L/N — команда на перемещение.
Машина работает по следующему набору правил:
q0 q1 q2 q3 q4 q5 q6 q7 q8
1 q01→q01R q11→q2aR q21→q21L
× q0×→q1×R q2×→q3×L q4×→q4×
= q2=→q2=L q4=→q4=R q7=→
a q2a→q2aL q3a→q3aL q4a→
* q0*→q0*R q3*→q6*R q4*→
q5 →q2*L
Описание состояний:
Начало
q0 начальное состояние. Ищем «x» справа. При нахождении переходим в состояние q1
q1 заменяем «1» на «а» и переходим в состояние q2
Переносим все «1» из первого числа в результат
q2 ищем «х» слева. При нахождении переходим в состояние q3
q3 ищем «1» слева, заменяем ее на «а» и переходим в состояние q4.
В случае если «1» закончились, находим «*» и переходим в состояние q6
q4 переходим в конец (ищем «*» справа), заменяем «*» на «1» и переходим в состояние q5
q5 добавляем «*» в конец и переходим в состояние q2
Обрабатываем каждый разряд второго числа
q6 ищем «х» справа и переходим в состояние q7. Пока ищем заменяем «а» на «1»
q7 ищем «1» или «=» справа
при нахождение «1» заменяем его на «а» и переходим в состояние q2 при нахождение «=» переходим в состояние q8
Конец
q8 ищем «х» слева. При нахождении переходим в состояние q9. Пока ищем заменяем «а» на «1»
q9 терминальное состояние (остановка алгоритма)
Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий, при любом наборе исходных данных. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система.
Все ученные сходится в утверждении о том, что понятие алгоритма является фундаментальным в современной информатике. При создании программного обеспечения первым пунктом всегда стоит создание алгоритма.
Алгоритм, записанный на формальном языке, принято называть программой. Очень часто понятие алгоритма тесно связывается с процессом его записи в программу. Именно поэтому термин алгоритма и программы зачастую считают синонимами
Как создать алгоритм
Для того, чтобы создать эффективный и качественный алгоритм, следует соблюдать несколько правил:
Алгоритм обязательно должен писаться на формальном и ясном языке. Неоднозначность или же неясность указаний недопустима.
При составлении алгоритма нужно обязательно учесть и то, для кого он составляется. Исполнитель должен понимать все пункты алгоритма и иметь возможность претворить их в жизнь.
Желательно делать алгоритм кратким, точным и ясным.
.1
Линейная алгоритмическая
Линейным называется алгоритм, блоки которого расположены последовательно один за другим, нет условий и повторений.
Покажем общую структуру линейного алгоритма в виде блок-схемы.
Основной принцип программирования заключается в том, что обрабатывать можно только те данные, которые находятся в определенных областях оперативной памяти компьютера. Для того чтобы поместить исходные данные в оперативную память используются операторы ввода данных.
Для реализации процесса обработки данных используется оператор присваивания.
Результат вычислений помещается в область S оперативной памяти. Чтобы вывести результат из памяти на экран монитора необходимо использовать оператор вывода.
Операторы ввода данных:
1.
INPUT - оператор ввода данных
с клавиатуры. Данные задаются
в виде переменных. Переменная
– это величина, значение которой
может меняться в процессе
выполнения программы. Для обозначения
переменной используются их
· целые INTEGER (Y%) – 2 байта в памяти (от -32768 до 32767),
· длинные целые LONG (Y&) – 4 байта (от -231 до 231-1),
· вещественные SINGLE (Y) – 6 знаков после , -4 байта (от -3.4Е+38 до 3.4Е+38),
· вещественные удвоенной точности DOUBLE (Y#) -16 знаков после ,– 8 байт (от -Е+308 до Е+308),
· символьные STRING (Y$) – последовательность символов до 32767 символов длиной.
Например: INPUT a,b или INPUT “Введите два числа”;a,b
2. DATA, READ – операторы ввода данных из блока памяти. Например: DATA 3,4 : READ a,b
Оператор присваивания может быть использован как для ввода данных (Например: a=3 : b=4), так для вычисления выражений. (Например: S=a*b). Оператор присваивания вычисляет выражение, расположенное справа от символа присваивания (=) и результат присваивается переменной, расположенной слева от символа присваивания. При записи арифметического выражения используются арифметические операции и функции. Приоритет выполнения арифметических операций сохраняется. Функции можно использовать стандартные (встроенные) COS(X), SQR(X) … и задаваемые самим пользователем. (Например: Y=3*SQR(X)^2)
Для вывода данных используется оператор PRINT.
Например: PRINT S или PRINT “Площадь”;S или PRINT a,b,S
Для окончания программы используется оператор END. В начале программы можно использовать оператор очистки экрана – CLS.
Пример линейной программы вычисления площади прямоугольника и ее алгоритм в виде блок-схемы:
CLS
INPUT “Введите две стороны прямоугольника”; a,b
S = a * b
PRINT “Площадь”; S
END
Разветвляющая алгоритмическая структура. Основные операторы циклов. Типовые примеры
Алгоритм называется разветвляющимся, если содержит хотя бы одно условие, в результате которого обеспечивается
переход на один из двух возможных вариантов решения задачи. Ветвление может быть полным (действия и после да и после нет) и неполным (в случае если нет – ничего не происходит).
Пример разветвляющегося алгоритма – алгоритм решения квадратного уравнения. Появление условия при решении этой задачи связано с отсутствием корней при отрицательном дискриминанте. Рассмотрим блок-схему этого алгоритма:
Для данной алгоритмической структуры характерно, что в любой момент времени её реализации осуществляется обработка только по какой-либо одной из ветвей.
Для описания разветвляющегося алгоритма существуют операторы:
1. условный
блочной структуры:
IF условие THEN
блок действий 1
ELSE
блок действий 2
ENDIF
линейной структуры:
IF условие THEN блок 1 ELSE блок 2
Обе структуры могут быть использованы как в полной форме так и в усеченной – без блока ELSE.
При работе условного оператора сначала проверяется выполнение условия. Если условие выполняется (истинное), то реализуется блок 1, в противном случае – блок 2. Условие – это логическое выражение, использующее операции сравнения (=, <, > <=, >=, <>) и логические операции (AND, OR).
Программа решения квадратного уравнения с использованием условного оператора имеет вид:
CLS : INPUT A,B,C : D=B^2-4*A*C
IF D>0 THEN
X1=(-b+SQR(d))/(2*a) : X2=(-b-SQR(d))/(2*a) : PRINT X1,X2
ELSE
PRINT ”Решенией нет”
ENDIF
2. выбора (выражением может быть список через запятую 1,3,4 диапазон значений 1 TO 9; операция сравнения IS >=).
SELECT CASE выражение
CASE условие 1
блок операторов 1
CASE условие 2
блок операторов 2
CASE ELSE
блок операторов n
END SELECT
CLS : INPUT A,B,C : D=B^4*A*C
SELECT CASE D
CASE IS >0
X1=(-b+SQR(d))/(2*a)
X2=(-b-SQR(d))/(2*a) : PRINT X1,X2
CASE ELSE
PRINT ”Решенией нет”
END SELECT
END
Конечность (финитность) алгоритма означает, что для получения результата нужно выполнить конечное число шагов, т. е. исполнитель в некоторый момент времени останавливается. Требуемое число шагов зависит от входных данных алгоритма и не мажорируется константой.
Информация о работе Принтеры. Основные технические характеристики принтеров