кандидат технических наук (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)
Program slova; - название программы
var - раздел описания переменных
d : string объявляем переменную, которая называется "d" с типо string(строка)
i, k : integer; объявляем еще 2 переменные с именами "i" и "k", тип у них целочисленный.
begin - начало исполнения программы (в данном случае)
write('Введите предложение'); - Вывод на экран сообщения: Введите предложение
read(d) - даем возможность пользователю ввести строку с клавиатуры, и сохраняем ее в переменную d
for i := 1 to length(d) do - цикл, который будет идти от 1, до длины строки (d), короче говоря, до последнего символа.
if (d[i] = ' ' then - условие, которое ищет пробел в предложении
k := k + 1; увеличиваем переменную на 1, если условие выполняется.
writeln('В вашем предложении:', k+1) вывод на экран сообщения "В вашем предложении", а затем вывод переменой k увеличенной на 1.