Presentation is loading. Please wait.

Presentation is loading. Please wait.

Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных.

Similar presentations


Presentation on theme: "Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных."— Presentation transcript:

1 Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных технологий Санкт-Петербургского государственного университета информационных технологий, механики и оптики

2 2 Введение Обучение проектированию программ сегодня Автоматный подход для обучения проектированию программ Используется на кафедре несколько лет Документация и проекты публикуются на сайте http://is.ifmo.ru

3 3 План Виртуальная лаборатория для обучения проектированию программ Текстовый язык автоматного программирования Пример – задача об «умном муравье»

4 4 Предлагается создать программные модули для управления различными сущностями Описание Граф переходов Текст программы Виртуальная лаборатория

5 5 Текстовый язык автоматного программирования automata Auto { state s0 { on e0 if(a) do {g}; on e0 if(!a) do {tr} go to s3; } state s1 { on e0 if(a) do {g}; on e0 if(!a) do {g} go to s0; } …. }

6 6 Состав виртуальной лаборатории Редактор кода Компилятор Набор заданий

7 7 Задача об «умном муравье» Поле 32x32 клетки 89 яблок 200 ходов Пример

8 8 Рассматриваемая задача может быть решена с помощью автомата с семью состояниями Решение

9 9 Реализация automata Auto4 { state s0 { on e0 if(a) do {g} go to s4; on e0 if(!a) do {tr} go to s2; } state s1 { on e0 if(a) do {g} go to s3; on e0 if(!a) do {g} go to s0; } state s2 { on e0 if(a) do {g} go to s6; on e0 if(!a) do {tr} go to s4; } state s3 { on e0 if(a) do {g} go to s4; on e0 if(!a) do {g} go to s1; } state s4 { on e0 if(a) do {g} go to s1; on e0 if(!a) do {tr} go to s5; } state s5 { on e0 if(a) do {g} go to s6; on e0 if(!a) do {tl} go to s1; } state s6 { on e0 if(a) do {g} go to s1; on e0 if(!a) do {g} go to s3; }

10 10 Результат

11 11 Заключение Авторы надеются, что предложенный подход к начальному обучению проектированию программ окажется полезным, совмещая в себе увлекательность и интерактивность Состав задач в лаборатории пополняется и будет пополняться в дальнейшем

12 12 Спасибо за внимание


Download ppt "Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных."

Similar presentations


Ads by Google