кандидат технических наук (1971)
доктор технических наук (1991)
доцент (1976)
профессор (1993)
заслуженный профессор Санкт-Петербургского государственного политехнического университета (2006)
Членство в профессиональных обществах
член Американского Математического общества (с 1975 г.)
член Association for Computing Machinery (ACM)
член IEEE Computer Society
член программных комитетов нескольких продолжающихся международных конференций, в частности, ИММОД, CoLoS, SEEMAS, РаСТ и других
член редколлегий журналов "Моделирование и анализ информационных систем", "Научно-технические ведомости СПбГПУ", "Bulletin of the Novosibirsk computing center"
член двух специализированных советов по защите докторских диссертаций
эксперт Российского фонда фундаментальных исследований (2012 г.)
федеральных эксперт научно-технической сферы (ГУ РИНКЦЭ при министерстве промышленности, науки и технологий РФ, свидетельство № 11313707.281)
член Правления Национального общества имитационного моделирования
член Научно-Методического Совета по информатике Министерства образования и науки РФ. Секция фундаментальных основ информатики
Другие заслуги
премия Правительства Санкт-Петербурга за выдающиеся достижения в области высшего и среднего профессионального образования в номинации "Научные достижения повышению качества подготовки специалистов и кадров высшей квалификации" (2011)
премия СПбГПУ за лучшие учебные и научные издания (за монографию "Model Checking. Верификация параллельных и распределенных программных систем") (2011)
диплом фирмы Интел за научный проект "Верификация взаимодействующих временных автоматов" (2001)
инструктор альпинизма (1964)
кандидат в мастера спорта по альпинизму(1969)
uses crt;
var n:string;
begin
read(n);
writeln(strtoint(n[1])*strtoint(n[2])*strtoint(n[3]));
end.
2.
uses crt;
var n,i:integer;
res:double;
begin
read(n);
for i:=1 to n do
res:=res+cos(1/i);
writeln(res:5:3);
end.
3.
uses crt;
var n,i:integer;
mult:real;
a:array[1..100] of real;
begin
mult:=1;
writeln('Input N and elements of array.');
read(n);
for i:=1 to n do
begin
read(a[i]);
if i mod 2=0 then
mult:=mult*a[i];
end;
writeln(mult);
end.
4.
uses crt;
var n,i,sum:integer;
a:array[1..100] of integer;
begin
writeln('Input N and elements of array.');
read(n);
for i:=1 to n do
read(a[i]);
i:=1;
while (a[i]<>0) and (i<=n) do
begin
if a[i] mod 2=0 then
sum:=sum+a[i];
i:=i+1;
end;
writeln(sum);
end.