TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
Vert, Т., Krikun, Т. и Glukhih, М., St. Petersburg State Polytechnic University, Clausthal Technical University
Finding Defects in C and C++ Pointers Using Static Analysis and Logical Inference
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...Iosif Itkin
TMPA-2013 Conference in Kostroma
Anureyev, I., A.P.Ershov Institute of Informatics Systems
On the Road to Technology of Developing the Means of Deductive Program Verification
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
Vert, Т., Krikun, Т. и Glukhih, М., St. Petersburg State Polytechnic University, Clausthal Technical University
Finding Defects in C and C++ Pointers Using Static Analysis and Logical Inference
TMPA-2013 Anureyev: On the Road to Technology of Developing the Means of Dedu...Iosif Itkin
TMPA-2013 Conference in Kostroma
Anureyev, I., A.P.Ershov Institute of Informatics Systems
On the Road to Technology of Developing the Means of Deductive Program Verification
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...ITMO University
Предлагается метод представления автоматов в виде особей эволюционного алгоритма, основанный на использовании линейных бинарных графов. На примере выполнено сравнение этого метода с известными методами. Предлагаемый метод является более эффективным по сравнению с представлением функции переходов полными таблицами. При некоторых значениях числа состояний он более эффективен, чем метод представления функции переходов деревьями решений.
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
Expanding the Meta-Generation of Correctness Conditions by Means of Semantic Markup
Dmitry Kondratyev, A.P. Ershov Institute of Informatics Systems, Novosibirsk
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...ITMO University
Предлагается метод представления автоматов в виде особей эволюционного алгоритма, основанный на использовании линейных бинарных графов. На примере выполнено сравнение этого метода с известными методами. Предлагаемый метод является более эффективным по сравнению с представлением функции переходов полными таблицами. При некоторых значениях числа состояний он более эффективен, чем метод представления функции переходов деревьями решений.
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
Expanding the Meta-Generation of Correctness Conditions by Means of Semantic Markup
Dmitry Kondratyev, A.P. Ershov Institute of Informatics Systems, Novosibirsk
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
1. АЛГОРИТМИЗАЦИЯ И
ПРОГРАММИРОВАНИЕ
ТЕМА 1
АЛГОРИТМ И ЕГО СВОЙСТВА.
СПОСОБЫ ЗАПИСИ АЛГОРИТМА
2. ПОНЯТИЕ АЛГОРИТМА
Алгоритм – это четкое описание последовательности
действий, которые необходимо выполнить для
решения задачи
Свойства алгоритма
1) Дискретность
2) Определенность (или детерминированность)
3) Результативность (или конечность)
4) Массовость
Формы представления алгоритма
1) Словесная
2) Графическая
3) Запись на специальном языке
(алгоритмическом языке или псевдокоде)
3. СЛОВЕСНЫЙ СПОСОБ
Описание последовательных этапов обработки
данных на естественном языке
Алгоритм Евклида
1) задать два числа;
2) если числа равны, то взять любое из них в
качестве ответа и остановиться, в противном
случае продолжить выполнение алгоритма;
3) определить большее из чисел;
4) заменить большее из чисел разностью большего
и меньшего из чисел;
5) повторить алгоритм с шага 2
10. АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ
ab ab ab a*b
Пример псевдокода
алг (алгоритм) сим (символьный) дано для да
арг (аргумент) лит (литерный) надо от нет
рез (результат) лог (логический) если до при
нач (начало) таб (таблица) то знач выбор
кон (конец) нц (начало цикла) иначе и ввод
цел (целый) кц (конец цикла) все или вывод
вещ (вещественный) длин (длина) пока не утв
11. ОБЩИЙ ВИД АЛГОРИТМА
алг название алгоритма (аргументы и результаты)
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
Примеры предложений алг:
алг объем_и_площадь_цилиндра (арг вещ R, H,
рез вещ V, S)
алг диагональ (арг цел N, арг цел таб A[1:N, 1:N],
рез лит otvet)
12. ПРИМЕР ЗАПИСИ
НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ
алг произведение (арг цел n, m, рез цел s)
нач цел i
| ввод n, m
| s:=0
| i:=0
| нц пока i<n
| | s:=s+m
| | i:=i+1
| кц
| вывод s
кон
15. ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА
Образуется последовательностью действий, следующих
одно за другим:
Схема алгоритма Алгоритмический язык
действие 1 алг
нач
| ……………
действие 2 | действие 1
| действие 2
| ……………
| действие n
действие n | ……………
кон
16. ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА
(ПРИМЕР)
Схема алгоритма Алгоритмический язык
Начало
Ввод
a, b алг сумма (арг вещ a, b, рез вещ s)
нач
| ввод a, b
s:=a+b | s:=a+b
| вывод s
кон
Вывод
s
Конец
17. РАЗВЕТВЛЯЮЩАЯСЯ АЛГОРИТМИЧЕСКАЯ
СТРУКТУРА
Обеспечивает в зависимости
от результата проверки условия
выбор одного из альтернативных путей
работы алгоритма
Виды ветвлений
1) ветвление (если-то-иначе)
2) множественный выбор
18. ВЕТВЛЕНИЕ (1-ЫЙ СЛУЧАЙ)
Схема алгоритма Алгоритмический язык
алг
нач
| ……………
условие
да | если условие
| | то действия
действия | все
нет
| ……………
кон
19. ВЕТВЛЕНИЕ (2-ОЙ СЛУЧАЙ)
Схема алгоритма Алгоритмический язык
алг
нач
условие нет | ……………
| если условие
да | | то действия 1
| | иначе действия 2
действия 1 действия 2
| все
| ……………
кон
20. ВЕТВЛЕНИЕ (3-ИЙ СЛУЧАЙ)
Схема алгоритма Алгоритмический язык
алг
да нач
условие 1 | ……………
нет действия 1 | если условие 1
| | то действия 1
да | | иначе если условие 2
условие 2
| | | то действия 2
нет действия 2 | | | иначе действия 3
действия 3 | | все
| все
| ……………
кон
21. МНОЖЕСТВЕННЫЙ ВЫБОР
Схема алгоритма Алгоритмический язык
алг
i
альтернатива 1 нач
| ……………
действия 1 | выбор i
| | при альт. 1: действия 1
альтернатива n
| | ……………
действия n
| | при альт. n: действия n
| | иначе действия n+1
иначе | все
| ……………
действия n+1 кон
22. ЦИКЛИЧЕСКАЯ АЛГОРИТМИЧЕСКАЯ
СТРУКТУРА
Обеспечивает многократное выполнение
некоторой совокупности действий,
которая называется телом цикла
Виды циклов
1) Цикл с предусловием
2) Цикл с постусловием
3) Цикл со счётчиком (с известным
количеством повторений)
23. ЦИКЛ С ПРЕДУСЛОВИЕМ
Развёрнутая схема Альтернативное
Алгоритмический язык
алгоритма обозначение
алг
начальные имя цикла, нач
присваивания условие | ……………
завершения | начальные
| присваивания
Условие да тело цикла | нц пока условие
завершения | | тело цикла
нет | | (действия)
| кц
тело цикла имя цикла | ……………
кон
24. ЦИКЛ С ПОСТУСЛОВИЕМ
Развёрнутая схема Альтернативное
Алгоритмический язык
алгоритма обозначение
начальные алг
присваивания имя цикла нач
| ……………
| начальные
тело цикла тело цикла | присваивания
| нц
| | тело цикла
имя цикла, | | (действия)
Условие да условие | кц пока условие
завершения
завершения | ……………
кон
нет
25. ЦИКЛ СО СЧЁТЧИКОМ
Развёрнутая схема Альтернативное
Алгоритмический язык
алгоритма обозначение
i:=i1 алг
имя цикла, нач
i = i1,i2 | ……………
да | нц для i от i1 до i2
i>i2 | | тело цикла
тело цикла
нет | | (действия)
| кц
тело цикла | ……………
имя цикла кон
i:=i+1