62
1 Образовательный модуль «Блок-схемы» Образовательный модуль «Блок-схемы» С.Г. Кузин, Р. Митин, И. Скрибловский Нижний Новгород, 2003 г. www.unn.ru/vmk/GraphMod

Образовательный модуль «Блок-схемы»

  • Upload
    emil

  • View
    88

  • Download
    1

Embed Size (px)

DESCRIPTION

Образовательный модуль «Блок-схемы». С.Г. Кузин, Р. Митин, И. Скрибловский. www.unn.ru/vmk/GraphMod. Нижний Новгород, 2003 г. Образовательный модуль «Блок-схемы». Может быть использован: - PowerPoint PPT Presentation

Citation preview

Page 1: Образовательный модуль «Блок-схемы»

1

Образовательный модуль «Блок-схемы»

Образовательный модуль«Блок-схемы»

С.Г. Кузин, Р. Митин, И. Скрибловский

Нижний Новгород, 2003 г.

www.unn.ru/vmk/GraphMod

Page 2: Образовательный модуль «Блок-схемы»

2

Образовательный модуль «Блок-схемы»

Может быть использован:

При изучении «Основ алгоритмизации» для наглядного знакомства с основными алгоритмами и приобретения навыков структурного программирования

Для выполнения упражнений на языке блок-схем

В качестве одного из инструментов при проектировании алгоритмов

Образовательный модуль «Блок-схемы»

Page 3: Образовательный модуль «Блок-схемы»

3

Образовательный модуль «Блок-схемы»

Структура модуляФакультативный курс «Основы алгоритмизации»для учащихся школ. (Школа 91 Ленинского р-на Н.Н.).

Конструктор-интерпретатор блок-схем.(Создание и исполнение блок-схемы).

Интернет – коллекция блок-схем. (Проводник по коллекции, каталоги блок-схем на серверах www.roman.nnov.ru и www.unn.ru)

Page 4: Образовательный модуль «Блок-схемы»

4

Образовательный модуль «Блок-схемы»

Учебный курсС.Г. Кузин, И.Б. Каськова, Р. Митин, А. Боровков

Page 5: Образовательный модуль «Блок-схемы»

5

Образовательный модуль «Блок-схемы»

Учебный курсВключает: Изучение основных понятий и простейших

алгоритмов (в т.ч. разбор олимпиадных задач) Основы структурного программирования Практика на машине Flowchart builder (FCHB)

Количественно FCHB используется: Из 78 академических часов курса более 20 часов

рассчитаны на работу в виртуальной машине Flowchart builder.

По мимо этого преподаватель также использует Flowchart builder для подготовки к занятиям

Page 6: Образовательный модуль «Блок-схемы»

6

Образовательный модуль «Блок-схемы»

Конструктор блок-схемС.Г. Кузин, Р. Митин, И. Скрибловский, А. Котков

Page 7: Образовательный модуль «Блок-схемы»

7

Образовательный модуль «Блок-схемы»

Цель проектаСоздать виртуальную машину для уровня абстракции

используемого на занятиях по курсу «Основы алгоритмизации» в школе и университете:

Графический язык блок-схем (на входе) Псевдоязык (для записи операторов)

В итоге, конструктор блок-схем позволяет:

Нарисовать блок-схему Задать операторы Запустить на интерактивное выполнение

Page 8: Образовательный модуль «Блок-схемы»

8

Образовательный модуль «Блок-схемы»

Рабочая среда

Page 9: Образовательный модуль «Блок-схемы»

9

Образовательный модуль «Блок-схемы»

Пример работы

Создадим каркас блок-схемы для поиска максимума из двух чисел

Page 10: Образовательный модуль «Блок-схемы»

10

Образовательный модуль «Блок-схемы»

Запустим редактор

Палитра блоков

Page 11: Образовательный модуль «Блок-схемы»

11

Образовательный модуль «Блок-схемы»

Создание блока - выбор

Щелкните мышью

Выберите тип блока из палитры.В нашем примере мы сначала создадим «начало».

Page 12: Образовательный модуль «Блок-схемы»

12

Образовательный модуль «Блок-схемы»

Создание блока - размещение

Щелкните мышью

Теперь нужно разместить выбранный блок в поле редактирования.Для этого просто щелкните мышью в нужное место.

Page 13: Образовательный модуль «Блок-схемы»

13

Образовательный модуль «Блок-схемы»

Блок создан Так мы создали один

блок «начало». Аналогично добавим

три блока «ввод / вывод», «условие», два «оператора», «слияние» и еще одно «окончание».

Page 14: Образовательный модуль «Блок-схемы»

14

Образовательный модуль «Блок-схемы»

Блоки созданы Мы создали все

блоки. Теперь

рассмотрим приемы работы с блоками…

Page 15: Образовательный модуль «Блок-схемы»

15

Образовательный модуль «Блок-схемы»

Текущий блок Во время

редактирования текущие блоки выделен четырьмя синими точками.

Выбор блока осуществляется щелчком мыши

Текущий блок

Page 16: Образовательный модуль «Блок-схемы»

16

Образовательный модуль «Блок-схемы»

Группа блоков Выделить группу

можно двумя способами:

Удерживая Shift щелкнуть мышью по очереди по блокам

Растянуть мышью «резиновый» прямоугольник

Здесь нажаликнопку мыши

Здесь отпустиликнопку мыши

Page 17: Образовательный модуль «Блок-схемы»

17

Образовательный модуль «Блок-схемы»

Выравнивание блоков Для группы

блоков можно прменить выравнивание.

Выделим нужные блоки и щелкнем по кнопке

По вертикали

Page 18: Образовательный модуль «Блок-схемы»

18

Образовательный модуль «Блок-схемы»

Установка соединения

После начала «растягивания» стрелочки зелеными точками подсвечиваются узлы «зацепления» доступные для окончания.

Доступная точка «зацепления» у блока

Page 19: Образовательный модуль «Блок-схемы»

19

Образовательный модуль «Блок-схемы»

Изменение пути стрелочки

Page 20: Образовательный модуль «Блок-схемы»

20

Образовательный модуль «Блок-схемы»

Соединим все блоки…

Page 21: Образовательный модуль «Блок-схемы»

21

Образовательный модуль «Блок-схемы»

Надписи к блокам

Щелчок правой кнопкой мыши

Для ввода надписи, оператора или подсказки можно использовать контекстное меню, а можно дважды щелкнуть по блоку.

Page 22: Образовательный модуль «Блок-схемы»

22

Образовательный модуль «Блок-схемы»

Введем надписи Текст вводим в

поле «надпись». Надпись

необязательна. Если её не задать, то будет отображено поле «оператор»

Page 23: Образовательный модуль «Блок-схемы»

23

Образовательный модуль «Блок-схемы»

Операторы

Выражения и синтаксис записи операторов в Flowchart builder

Page 24: Образовательный модуль «Блок-схемы»

24

Образовательный модуль «Блок-схемы»

Выражения Выражения могут содержать:

Числовые или строковые константы Переменные Обращения к элементу массива Вызовы внутренних функций

(математические, строковые, файловые) Математические, логические, сравнения

и целочисленные операторы

Page 25: Образовательный модуль «Блок-схемы»

25

Образовательный модуль «Блок-схемы»

Оператор ввода Для ввода используется

оператор вида

?<имя переменной>Пример:

?a В результате

интерпретатор запросит у пользователя значение переменной а при переходе через блок.

Ввод переменной А

Page 26: Образовательный модуль «Блок-схемы»

26

Образовательный модуль «Блок-схемы»

Оператор вывода

Оператор вывода позволяет выводить как значения переменной так и строковые константы.

Так например оператор

'A=',a,', B=',b,';' если пользователь введет 25 и 17 программа выведет на экран

A=25, B=17; Вывод строки содержащей Значения переменных А и В.

Page 27: Образовательный модуль «Блок-схемы»

27

Образовательный модуль «Блок-схемы»

Присваиваеие Формат:

<имя переменной>:=<выражение>;

В одном блоке может быть записано несколько операторов присваивания. 

Так на примере слева если пользователь введет чила 5 и 6 на экране в результате работы будет напечатано A=11, B=77;

Page 28: Образовательный модуль «Блок-схемы»

28

Образовательный модуль «Блок-схемы»

Условный оператор Условный оператор сравнивает

выражение с нулем. Ноль считается ЛОЖЬЮ (FALSE) а любой другое число ИСТИНОЙ (TRUE).

Так, на примере слева, ели пользователь введет 4 и 9, то программа выдаст результат: "Максимум из 4 и 9 = 9"

Page 29: Образовательный модуль «Блок-схемы»

29

Образовательный модуль «Блок-схемы»

Вызов подпрограммы В блоке вызова нужно

указать имя файла с вызываемой подпрограммой БЕЗ РАСШИРЕНИЯ.

Так если мы предыдущую программу сохранили в файл максимум.bsh, то команда максимум вызовет на выполнение сохраненную подпрограмму.

Page 30: Образовательный модуль «Блок-схемы»

30

Образовательный модуль «Блок-схемы»

Глобальные переменные Список глобальных

переменных используется для связи между подпрограммами и для передачи параметров при рекурсивном вызове

Все остальные – локальные

Page 31: Образовательный модуль «Блок-схемы»

31

Образовательный модуль «Блок-схемы»

Структурное программирование

Page 32: Образовательный модуль «Блок-схемы»

32

Образовательный модуль «Блок-схемы»

Структурное программирование

Логическая структура программы может быть выражена комбинацией трех базовых структур: следование, ветвление и цикл

Эти структуры могут комбинироваться одна с другой, как того требует программа

Page 33: Образовательный модуль «Блок-схемы»

33

Образовательный модуль «Блок-схемы»

Структурное программирование

Поскольку в блок схеме базовые структуры воспринимаются в первую очередь визуально, их следует изображать таким образом, чтобы структура программы становилась сразу очевидной.

Главным является не указание последовательности операций, а группирование символов, выражающих базовые конструкции: следование, выбор и повторение.

Page 34: Образовательный модуль «Блок-схемы»

34

Образовательный модуль «Блок-схемы»

… в конструкторе блок-схем

Система Flowchart builder ориентирована на использование с целью дистанционного обучения методу структурного проектирования алгоритмов с использованием пошаговой детализации.

Page 35: Образовательный модуль «Блок-схемы»

35

Образовательный модуль «Блок-схемы»

Средства Любой оператор может быть

заменен на: Цепочку операторов Условие

Полное Неполное

Цикл С предусловием С постусловием

Ничего

Page 36: Образовательный модуль «Блок-схемы»

36

Образовательный модуль «Блок-схемы»

Пример

Тот же пример для максимума двух чисел но используя приемы структурного программирования

Page 37: Образовательный модуль «Блок-схемы»

37

Образовательный модуль «Блок-схемы»

Создадим «процедуру»

Начальная структура для любой блок-схемы.

Page 38: Образовательный модуль «Блок-схемы»

38

Образовательный модуль «Блок-схемы»

Замена на следование

Вызываем контекстное меню для оператора

Выбираем Заменить на

Следование

Page 39: Образовательный модуль «Блок-схемы»

39

Образовательный модуль «Блок-схемы»

Результат замены

Появился еще один оператор

За размещение блоков отвечаетпрограмма, но Вы можете всё переделать вручную

Page 40: Образовательный модуль «Блок-схемы»

40

Образовательный модуль «Блок-схемы»

Замена оператора на ввод/вывод

Контекстное меню Заменить наБлокВвод / вывод

Page 41: Образовательный модуль «Блок-схемы»

41

Образовательный модуль «Блок-схемы»

Результат замены

Изменился тип блока

Page 42: Образовательный модуль «Блок-схемы»

42

Образовательный модуль «Блок-схемы»

Замена на ветвление

Контекстное менюЗаменить наУсловие

Page 43: Образовательный модуль «Блок-схемы»

43

Образовательный модуль «Блок-схемы»

Результат

Page 44: Образовательный модуль «Блок-схемы»

44

Образовательный модуль «Блок-схемы»

Мы получили тот же результат, но не задумываясь о рисовании и используя более очевидный подход

Для сложных задач такой путь позволяет избежать ряда «тривиальных» ошибок и создать более понятную программу

Page 45: Образовательный модуль «Блок-схемы»

45

Образовательный модуль «Блок-схемы»

Выполнение программы

Наглядный просмотр работы программы в среде Flowchart builder

Page 46: Образовательный модуль «Блок-схемы»

46

Образовательный модуль «Блок-схемы»

Запуск на выполнение

Начало

Кнопки управления: - сделать шаг - шагать по таймеру - останов исполнения

Возможны два режима работы Пошаговый (вы каждый

раз для выполнения очередного блока нажимаете кнопку

Автоматический. Вы нажимаете вначале кнопку и далее программа переход будет осуществляться по таймеру

Page 47: Образовательный модуль «Блок-схемы»

47

Образовательный модуль «Блок-схемы»

Интерактивное исполнение

Page 48: Образовательный модуль «Блок-схемы»

48

Образовательный модуль «Блок-схемы»

…ввод первого числа

Page 49: Образовательный модуль «Блок-схемы»

49

Образовательный модуль «Блок-схемы»

… окно запроса

Page 50: Образовательный модуль «Блок-схемы»

50

Образовательный модуль «Блок-схемы»

… вводим 97

Page 51: Образовательный модуль «Блок-схемы»

51

Образовательный модуль «Блок-схемы»

… ввод второго числа

Page 52: Образовательный модуль «Блок-схемы»

52

Образовательный модуль «Блок-схемы»

… вводим 77

Page 53: Образовательный модуль «Блок-схемы»

53

Образовательный модуль «Блок-схемы»

… проверка условия

Page 54: Образовательный модуль «Блок-схемы»

54

Образовательный модуль «Блок-схемы»

… максимум := первое число

Page 55: Образовательный модуль «Блок-схемы»

55

Образовательный модуль «Блок-схемы»

… вывод

Page 56: Образовательный модуль «Блок-схемы»

56

Образовательный модуль «Блок-схемы»

… консоль вывода

Page 57: Образовательный модуль «Блок-схемы»

57

Образовательный модуль «Блок-схемы»

… просмотр текущих значений переменных

Page 58: Образовательный модуль «Блок-схемы»

58

Образовательный модуль «Блок-схемы»

Internet коллекцияблок-схем

Р. Митин, А. Морозов, И. Скрибловский

Page 59: Образовательный модуль «Блок-схемы»

59

Образовательный модуль «Блок-схемы»

Интернет-коллекция

Два сервера-каталога блок-схем www.roman.nnov.ru www.unn.ru/vmk/GraphMod

Проводник по коллекции блок-схем Программа просмотра блок-схем

Page 60: Образовательный модуль «Блок-схемы»

60

Образовательный модуль «Блок-схемы»

Цели создания коллекции

Собрать в одном месте наиболее часто используемые в образовательном процессе блок-схемы в формате FCHB.

Предоставить всем желающим доступ к уже накопленным материалам.

Page 61: Образовательный модуль «Блок-схемы»

61

Образовательный модуль «Блок-схемы»

Проводник по коллекции

Page 62: Образовательный модуль «Блок-схемы»

62

Образовательный модуль «Блок-схемы»

Контакты

Программы можно загрузить с сайта

www.unn.ru/vmk/GraphMod