Download - Образовательный модуль «Блок-схемы»
![Page 1: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/1.jpg)
1
Образовательный модуль «Блок-схемы»
Образовательный модуль«Блок-схемы»
С.Г. Кузин, Р. Митин, И. Скрибловский
Нижний Новгород, 2003 г.
www.unn.ru/vmk/GraphMod
![Page 2: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/2.jpg)
2
Образовательный модуль «Блок-схемы»
Может быть использован:
При изучении «Основ алгоритмизации» для наглядного знакомства с основными алгоритмами и приобретения навыков структурного программирования
Для выполнения упражнений на языке блок-схем
В качестве одного из инструментов при проектировании алгоритмов
Образовательный модуль «Блок-схемы»
![Page 3: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/3.jpg)
3
Образовательный модуль «Блок-схемы»
Структура модуляФакультативный курс «Основы алгоритмизации»для учащихся школ. (Школа 91 Ленинского р-на Н.Н.).
Конструктор-интерпретатор блок-схем.(Создание и исполнение блок-схемы).
Интернет – коллекция блок-схем. (Проводник по коллекции, каталоги блок-схем на серверах www.roman.nnov.ru и www.unn.ru)
![Page 4: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/4.jpg)
4
Образовательный модуль «Блок-схемы»
Учебный курсС.Г. Кузин, И.Б. Каськова, Р. Митин, А. Боровков
![Page 5: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/5.jpg)
5
Образовательный модуль «Блок-схемы»
Учебный курсВключает: Изучение основных понятий и простейших
алгоритмов (в т.ч. разбор олимпиадных задач) Основы структурного программирования Практика на машине Flowchart builder (FCHB)
Количественно FCHB используется: Из 78 академических часов курса более 20 часов
рассчитаны на работу в виртуальной машине Flowchart builder.
По мимо этого преподаватель также использует Flowchart builder для подготовки к занятиям
![Page 6: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/6.jpg)
6
Образовательный модуль «Блок-схемы»
Конструктор блок-схемС.Г. Кузин, Р. Митин, И. Скрибловский, А. Котков
![Page 7: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/7.jpg)
7
Образовательный модуль «Блок-схемы»
Цель проектаСоздать виртуальную машину для уровня абстракции
используемого на занятиях по курсу «Основы алгоритмизации» в школе и университете:
Графический язык блок-схем (на входе) Псевдоязык (для записи операторов)
В итоге, конструктор блок-схем позволяет:
Нарисовать блок-схему Задать операторы Запустить на интерактивное выполнение
![Page 8: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/8.jpg)
8
Образовательный модуль «Блок-схемы»
Рабочая среда
![Page 9: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/9.jpg)
9
Образовательный модуль «Блок-схемы»
Пример работы
Создадим каркас блок-схемы для поиска максимума из двух чисел
![Page 10: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/10.jpg)
10
Образовательный модуль «Блок-схемы»
Запустим редактор
Палитра блоков
![Page 11: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/11.jpg)
11
Образовательный модуль «Блок-схемы»
Создание блока - выбор
Щелкните мышью
Выберите тип блока из палитры.В нашем примере мы сначала создадим «начало».
![Page 12: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/12.jpg)
12
Образовательный модуль «Блок-схемы»
Создание блока - размещение
Щелкните мышью
Теперь нужно разместить выбранный блок в поле редактирования.Для этого просто щелкните мышью в нужное место.
![Page 13: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/13.jpg)
13
Образовательный модуль «Блок-схемы»
Блок создан Так мы создали один
блок «начало». Аналогично добавим
три блока «ввод / вывод», «условие», два «оператора», «слияние» и еще одно «окончание».
![Page 14: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/14.jpg)
14
Образовательный модуль «Блок-схемы»
Блоки созданы Мы создали все
блоки. Теперь
рассмотрим приемы работы с блоками…
![Page 15: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/15.jpg)
15
Образовательный модуль «Блок-схемы»
Текущий блок Во время
редактирования текущие блоки выделен четырьмя синими точками.
Выбор блока осуществляется щелчком мыши
Текущий блок
![Page 16: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/16.jpg)
16
Образовательный модуль «Блок-схемы»
Группа блоков Выделить группу
можно двумя способами:
Удерживая Shift щелкнуть мышью по очереди по блокам
Растянуть мышью «резиновый» прямоугольник
Здесь нажаликнопку мыши
Здесь отпустиликнопку мыши
![Page 17: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/17.jpg)
17
Образовательный модуль «Блок-схемы»
Выравнивание блоков Для группы
блоков можно прменить выравнивание.
Выделим нужные блоки и щелкнем по кнопке
По вертикали
![Page 18: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/18.jpg)
18
Образовательный модуль «Блок-схемы»
Установка соединения
После начала «растягивания» стрелочки зелеными точками подсвечиваются узлы «зацепления» доступные для окончания.
Доступная точка «зацепления» у блока
![Page 19: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/19.jpg)
19
Образовательный модуль «Блок-схемы»
Изменение пути стрелочки
![Page 20: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/20.jpg)
20
Образовательный модуль «Блок-схемы»
Соединим все блоки…
![Page 21: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/21.jpg)
21
Образовательный модуль «Блок-схемы»
Надписи к блокам
Щелчок правой кнопкой мыши
Для ввода надписи, оператора или подсказки можно использовать контекстное меню, а можно дважды щелкнуть по блоку.
![Page 22: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/22.jpg)
22
Образовательный модуль «Блок-схемы»
Введем надписи Текст вводим в
поле «надпись». Надпись
необязательна. Если её не задать, то будет отображено поле «оператор»
![Page 23: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/23.jpg)
23
Образовательный модуль «Блок-схемы»
Операторы
Выражения и синтаксис записи операторов в Flowchart builder
![Page 24: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/24.jpg)
24
Образовательный модуль «Блок-схемы»
Выражения Выражения могут содержать:
Числовые или строковые константы Переменные Обращения к элементу массива Вызовы внутренних функций
(математические, строковые, файловые) Математические, логические, сравнения
и целочисленные операторы
![Page 25: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/25.jpg)
25
Образовательный модуль «Блок-схемы»
Оператор ввода Для ввода используется
оператор вида
?<имя переменной>Пример:
?a В результате
интерпретатор запросит у пользователя значение переменной а при переходе через блок.
Ввод переменной А
![Page 26: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/26.jpg)
26
Образовательный модуль «Блок-схемы»
Оператор вывода
Оператор вывода позволяет выводить как значения переменной так и строковые константы.
Так например оператор
'A=',a,', B=',b,';' если пользователь введет 25 и 17 программа выведет на экран
A=25, B=17; Вывод строки содержащей Значения переменных А и В.
![Page 27: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/27.jpg)
27
Образовательный модуль «Блок-схемы»
Присваиваеие Формат:
<имя переменной>:=<выражение>;
В одном блоке может быть записано несколько операторов присваивания.
Так на примере слева если пользователь введет чила 5 и 6 на экране в результате работы будет напечатано A=11, B=77;
![Page 28: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/28.jpg)
28
Образовательный модуль «Блок-схемы»
Условный оператор Условный оператор сравнивает
выражение с нулем. Ноль считается ЛОЖЬЮ (FALSE) а любой другое число ИСТИНОЙ (TRUE).
Так, на примере слева, ели пользователь введет 4 и 9, то программа выдаст результат: "Максимум из 4 и 9 = 9"
![Page 29: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/29.jpg)
29
Образовательный модуль «Блок-схемы»
Вызов подпрограммы В блоке вызова нужно
указать имя файла с вызываемой подпрограммой БЕЗ РАСШИРЕНИЯ.
Так если мы предыдущую программу сохранили в файл максимум.bsh, то команда максимум вызовет на выполнение сохраненную подпрограмму.
![Page 30: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/30.jpg)
30
Образовательный модуль «Блок-схемы»
Глобальные переменные Список глобальных
переменных используется для связи между подпрограммами и для передачи параметров при рекурсивном вызове
Все остальные – локальные
![Page 31: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/31.jpg)
31
Образовательный модуль «Блок-схемы»
Структурное программирование
![Page 32: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/32.jpg)
32
Образовательный модуль «Блок-схемы»
Структурное программирование
Логическая структура программы может быть выражена комбинацией трех базовых структур: следование, ветвление и цикл
Эти структуры могут комбинироваться одна с другой, как того требует программа
![Page 33: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/33.jpg)
33
Образовательный модуль «Блок-схемы»
Структурное программирование
Поскольку в блок схеме базовые структуры воспринимаются в первую очередь визуально, их следует изображать таким образом, чтобы структура программы становилась сразу очевидной.
Главным является не указание последовательности операций, а группирование символов, выражающих базовые конструкции: следование, выбор и повторение.
![Page 34: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/34.jpg)
34
Образовательный модуль «Блок-схемы»
… в конструкторе блок-схем
Система Flowchart builder ориентирована на использование с целью дистанционного обучения методу структурного проектирования алгоритмов с использованием пошаговой детализации.
![Page 35: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/35.jpg)
35
Образовательный модуль «Блок-схемы»
Средства Любой оператор может быть
заменен на: Цепочку операторов Условие
Полное Неполное
Цикл С предусловием С постусловием
Ничего
![Page 36: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/36.jpg)
36
Образовательный модуль «Блок-схемы»
Пример
Тот же пример для максимума двух чисел но используя приемы структурного программирования
![Page 37: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/37.jpg)
37
Образовательный модуль «Блок-схемы»
Создадим «процедуру»
Начальная структура для любой блок-схемы.
![Page 38: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/38.jpg)
38
Образовательный модуль «Блок-схемы»
Замена на следование
Вызываем контекстное меню для оператора
Выбираем Заменить на
Следование
![Page 39: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/39.jpg)
39
Образовательный модуль «Блок-схемы»
Результат замены
Появился еще один оператор
За размещение блоков отвечаетпрограмма, но Вы можете всё переделать вручную
![Page 40: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/40.jpg)
40
Образовательный модуль «Блок-схемы»
Замена оператора на ввод/вывод
Контекстное меню Заменить наБлокВвод / вывод
![Page 41: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/41.jpg)
41
Образовательный модуль «Блок-схемы»
Результат замены
Изменился тип блока
![Page 42: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/42.jpg)
42
Образовательный модуль «Блок-схемы»
Замена на ветвление
Контекстное менюЗаменить наУсловие
![Page 43: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/43.jpg)
43
Образовательный модуль «Блок-схемы»
Результат
![Page 44: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/44.jpg)
44
Образовательный модуль «Блок-схемы»
Мы получили тот же результат, но не задумываясь о рисовании и используя более очевидный подход
Для сложных задач такой путь позволяет избежать ряда «тривиальных» ошибок и создать более понятную программу
![Page 45: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/45.jpg)
45
Образовательный модуль «Блок-схемы»
Выполнение программы
Наглядный просмотр работы программы в среде Flowchart builder
![Page 46: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/46.jpg)
46
Образовательный модуль «Блок-схемы»
Запуск на выполнение
Начало
Кнопки управления: - сделать шаг - шагать по таймеру - останов исполнения
Возможны два режима работы Пошаговый (вы каждый
раз для выполнения очередного блока нажимаете кнопку
Автоматический. Вы нажимаете вначале кнопку и далее программа переход будет осуществляться по таймеру
![Page 47: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/47.jpg)
47
Образовательный модуль «Блок-схемы»
Интерактивное исполнение
![Page 48: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/48.jpg)
48
Образовательный модуль «Блок-схемы»
…ввод первого числа
![Page 49: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/49.jpg)
49
Образовательный модуль «Блок-схемы»
… окно запроса
![Page 50: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/50.jpg)
50
Образовательный модуль «Блок-схемы»
… вводим 97
![Page 51: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/51.jpg)
51
Образовательный модуль «Блок-схемы»
… ввод второго числа
![Page 52: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/52.jpg)
52
Образовательный модуль «Блок-схемы»
… вводим 77
![Page 53: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/53.jpg)
53
Образовательный модуль «Блок-схемы»
… проверка условия
![Page 54: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/54.jpg)
54
Образовательный модуль «Блок-схемы»
… максимум := первое число
![Page 55: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/55.jpg)
55
Образовательный модуль «Блок-схемы»
… вывод
![Page 56: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/56.jpg)
56
Образовательный модуль «Блок-схемы»
… консоль вывода
![Page 57: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/57.jpg)
57
Образовательный модуль «Блок-схемы»
… просмотр текущих значений переменных
![Page 58: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/58.jpg)
58
Образовательный модуль «Блок-схемы»
Internet коллекцияблок-схем
Р. Митин, А. Морозов, И. Скрибловский
![Page 59: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/59.jpg)
59
Образовательный модуль «Блок-схемы»
Интернет-коллекция
Два сервера-каталога блок-схем www.roman.nnov.ru www.unn.ru/vmk/GraphMod
Проводник по коллекции блок-схем Программа просмотра блок-схем
![Page 60: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/60.jpg)
60
Образовательный модуль «Блок-схемы»
Цели создания коллекции
Собрать в одном месте наиболее часто используемые в образовательном процессе блок-схемы в формате FCHB.
Предоставить всем желающим доступ к уже накопленным материалам.
![Page 61: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/61.jpg)
61
Образовательный модуль «Блок-схемы»
Проводник по коллекции
![Page 62: Образовательный модуль «Блок-схемы»](https://reader035.vdocuments.pub/reader035/viewer/2022062519/568153ce550346895dc1c25f/html5/thumbnails/62.jpg)
62
Образовательный модуль «Блок-схемы»
Контакты
Программы можно загрузить с сайта
www.unn.ru/vmk/GraphMod