Сайт о программировании, математике и моделировании
Информатика и программирование
Решений краевой задачи. Методом стрельбы
10 Январь
Решить краевую задачу методом стрельбы и полученное решение сравнить с аналитическим (если последнее можно найти). Результаты численного интегрирования представьте в виде графиков, которые необходимо строить для всех параметров .
ПОСТРОЕНИЕ ЗАЩИЩЕННОГО ПРИЛОЖЕНИЯ НА DOTNET
1 Апрель
В данной статье будет рассмотрен процесс создания защищенного программного комплекса на платформе .Net и даны рекомендации по повышению его уровня безопасности. Жизненный цикл программного комплекса состоит из следующих процессов:
1) Разработка технического задания.
2) Разработка программы:
- кодирование;
- отладка;
- тестирование;
3) Разработка документации.
4) Внедрение.
5) Поддержка.
С точки зрения безопасности, при разработке технического задания важно обозначить функции, которые будет выполнять программа, а также определить какие требования предъявляются к системе безопасности программы. Исходя из разрабатываемых функций можно сделать вывод, какими уязвимостями будет обладать программа. Читать дальше >
Взаимодействие агентов – листинг программы
19 Январь
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb; Читать дальше >
Программа возведения в квадрат длинного числа
3 Декабрь
За операцию возведения в квадрат методом «треугольника» отвечает процедура SquareTri./ Вычисление квадрата длинного числа С = А2 методом «треугольника»
void SquareTri(
DIGIT C[ ], /* результат длины 2n цифр */
const DIGIT A[ ], /* основание длины n цифр */
int n) /* длина основания */ Читать дальше >
Программа умножения длинного числа на цифру
3 Декабрь
Приведем листинг программы, выполняющей умножение длинного числа на цифру.
/* Умножение длинного числа на цифру С = АЧх */
void ShortMul(
DIGIT C[ ], /* результат длины n+1 цифра */
const DIGIT A[ ], /* сомножитель длины n цифр */
DIGIT x, /* сомножитель длины 1 цифра*/
int n) /* длина A */ Читать дальше >
Реализация алгоритма вычитания длинных чисел
3 Декабрь
За операцию вычитания отвечает процедура Sub
/* Вычитание длинных чисел длины n цифр C=A-B.
В качестве результата возвращаем заем старшего разряда d */ Читать дальше >
Сложение длинного числа
3 Декабрь
Приведем реализацию алгоритма сложения, а также ввод и вывод длинного числа на Паскале.
{основная программа}
Var A, B, C : Tlong;
Begin
Assign(Input, ‘Input.txt’); Reset(Input);
ReadLong(A); ReadLong(B) ;
Close(Input);
SumLongTwo(A, B, C); Читать дальше >
Сравнение «длинных» чисел длины n
3 Декабрь
Сравнение «длинных» чисел длины n цифр А==В */
int Cmp(
const DIGIT A[ ], /* первое число */
const DIGIT B[ ], /* второе число */
int n) /* длина чисел */
{
int i;
for(i=n-1; (i>=0)&&(A[i]==B[i]); i–);
if (i<0) return 0;
if(A[i]>B[i]) return +1;
return -1;
}
Сложение длинных чисел
3 Декабрь
За операцию сложения отвечает процедура ADD
DIGIT Аdd(
DIGIT C[ ], // результат
const DIGIT A[ ], // первое слагаемое
const DIGIT B[ ], // второе слагаемое
int n) // длина слагаемых Читать дальше >
Длинные числа. Вычисление обратного по модулю
3 Декабрь
При проверке ЭЦП необходимо вычислить величину v = (h(M1))q-2 (mod q). Это можно сделать, по крайней мере, двумя способами:
возведением в степень и вычислением обратного с помощью расширенного алгоритма Евклида. Действительно, в теории чисел известна малая теорема Ферма, которая утверждает, что если р — простое число, а – целое число, не делящееся на р, то ар-1 ≡ 1 (mod p). Читать дальше >