Разработка программы, обеспечивающую с помощью средств языка С++ ввод анкетных данных студентов и вывод в табличном виде списка студентов, отобранных по заданному условию, страница 11

     IF (:old_row.vozvrat IS NULL) THEN

              SELECT Stoimost_prok

       INTO Prok

       FROM Film

       WHERE :new_row.filmid=film.filmid;

         Stoim:=(:new_row.vozvrat - :new_row.vidacha);

       Itog:=Stoim*Prok;

      DBMS_OUTPUT.PUT_LINE('-----------------------------------------');

      DBMS_OUTPUT.PUT_LINE('                                         ');

      DBMS_OUTPUT.PUT_LINE('Kolichestvo dnei prokata:');

      DBMS_OUTPUT.PUT_LINE(TO_CHAR(Stoim));

      DBMS_OUTPUT.PUT_LINE('Obshaya summa k oplate:');

      DBMS_OUTPUT.PUT_LINE(TO_CHAR(Itog));

      DBMS_OUTPUT.PUT_LINE('                                         ');

      DBMS_OUTPUT.PUT_LINE('-----------------------------------------');

          END IF;

 END IF;

END;

/

Запуск триггера на выполнение:

SQL> @trig274

Ввод усечен до 1 символов

Триггер создан.

Выполняем проверку работы триггера:

SQL> update dogovor

2  set vozvrat='20.11.2004'

  3  where filmid=1 and clientid=2;

-----------------------------------------

Kolichestvo dnei prokata:

10

Obshaya summa k oplate:

1000

-----------------------------------------

Проверка в словаре данных:

SELECT TRIGGER_NAME, TRIGGER_TYPE, TABLE_NAME, TRIGGERING_EVENT

FROM USER_TRIGGERS

WHERE TRIGGER_NAME = ' trig274'

Задача 17.

ДАНО:            В организацию пришло письмо «Вышлите нам сто тысяч», подписанное цифровой подписью 21. Подпись была сформирована на основе хэш-функции X.509 по упрощенной схеме (в десятичных кодах) с параметрами p=5, q=17 и начальным значением H0 = 2 и алгоритма RSA.

ТРЕБУЕТСЯ: Определить, следует ли высылать отправителю сто тысяч?

РЕШЕНИЕ:

А – 01

З – 08

О - 15

Х – 22

Ь – 29

Б – 02

И – 09

П – 16

Ц – 23

Э – 30

В – 03

Й – 10

Р – 17

Ч - 24

Ю – 31

Г – 04

К – 11

С – 18

Ш – 25

Я – 32

Д – 05

Л – 12

Т – 19

Щ – 26

_ - 33

Е – 06

М – 13

У – 20

Ъ – 27

Ж - 07

Н – 14

Ф- 21

Ы – 28

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

M11

M12

M13

M14

M15

M16

M17

M18

M19

M20

M21

в

ы

ш

л

и

т

е

_

н

а

м

_

с

т

о

_

т

ы

с

я

ч

3

28

25

12

9

19

6

33

14

1

13

33

18

19

15

33

19

28

18

32

24

1. Вычислить произведение двух простых чисел p и q:

n = pq = 5*17 = 85

2. Для каждого блока вычислить его хэш-код по формуле:

, т. е. каждый из блоков складывается с предыдущим и возводится в квадрат по модулю n. Полученное в итоге значение Hk и будет хэш-кодом.

H1 = (М1 + H0)2 mod85 = (3 + 2)2mod85 = 25

H2 = (М2 + H1)2 mod85= (28 + 25)2mod85 = 4

H3 = (М3 + H2)2 mod85= (25 + 4)2mod85 = 76

H4 = (М4 + H3)2 mod85= (12 + 76)2mod85 = 9

H5 = (М5 + H4)2 mod85= (9+ 9)2mod85 = 69

H6 = (М6 + H5)2 mod85= (19 + 69)2mod85 = 9

H7 = (М7+ H6)2 mod85= (6 + 9)2mod85 = 55

H8 = (М8 + H7)2 mod85= (33 + 55)2mod85 = 9