Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДПРЕПИНФ_Лекции_2013.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
624 Кб
Скачать
☆

7.6. Упражнения на составление и анализ блок-схем

При изучении основных типов алгоритмов, наиболее важных и сложных операторов и приемов программирования полезно использовать задачи и упражнения на составление и анализ блок-схем. Кроме прос­тоты и наглядности, важной отличительной их особенностью и достоинством является то, что они не зависят от языка программирования. Научившись записывать алгоритмы в виде блок-схем, достаточно освоить синтаксические правила конкретного языка, чтобы можно было разрабатывать эффективные программы. Блок-схемы способствуют быст­рому развитию алгоритмического мышления. Их можно использовать как в машинном, так и в без машинном вариантах изучения ОА и П. К сожалению, в последнее время в учебниках по программированию этому удаляется недостаточно внимания.

Блок-схемы можно изучать как параллельно с языком программирования, так и последовательно. В первом случае сначала в течение 1-2 уроков учащимся дают простейшие элементы блок-схем, правила их разработки и требо­вания к ним. При изучении методов программирования и наиболее сложных операторов языка составляется при необходимости блок-схема алгоритма, а потом с ее помощью разрабатывается программа. При та­ком способе, хотя и требуется больше времени, школьники лучше по­нимают динамический смысл выполнения программ.

Последовательное изучение блок-схем и языка программирования заключается в том; что на начальном этапе изучения ОА несколько уроков (5-7) учащихся разрабатывают и анализируют блок-схемы различных типов алгоритмов (линейных, разветвляющихся, циклических с известным и неизвестным количеством повторений, итерационных, алгоритмы с вложенными циклами). Затем эти же типы алгоритмов изучаются на уровне программ.

При этом не обязательно решать только математические задачи. Эффективным является составление и анализ блок-схем так называемых “бытовых” алгоритмов. Вот примеры таких алгоритмов, воз­никающих в повседневной жизни:

переход улицы при различных условиях (есть (нет) светофора);

проход в метро пассажира, пользующегося (не пользующегося) льготами;

алго­ритм, как приготовить и съесть завтрак;

различные игровые алгорит­мы и т.п.

На уровне блок-схем полезно использовать также задачи по управлению движением Робота на клетчатом поле.

Нау­чившись разрабатывать блок-схемы основных типов алгоритмов, можно изучать основные конструкции языка программирования, основываясь на полученных навыках и умениях. Это выполняется качественнее и быстрее, чем без предварительного изучения блок-схем. При таком подходе удачно реализует­ся принцип повторения. Кроме этого, экономится машинное время, так как разработка блок-схем не требует использования компьютеров. На уровне блок-схем легко показать основные принципы и поня­тия структурного программирования: пошаговая детализация алгоритма и базовые алгоритмические (управляющие) структуры с одним входом и одним выходом.

Кроме обычных блок-схем в виде фигур, соединенных линиями, при разработке алгоритмов, представляющих вложенные и (или) последовательные циклы, полезно составить схему циклов и (или) набросок программы. Например, при изучении языка Паскаль для изображения различных типов цикла можно использовать следующие наглядные представления:

1) For i…to…Do 2) For j…downto…Do 3) While…Do 4) Repeat

1) 2) 3) 4)

Например, для последовательности чисел по итерационной формуле Герона найти . Признак конца ввода – число 0 . Тогда схема циклов может иметь, например, вид, представлен­ный на рис.1. Для удобства объяснений циклы можно нумеровать.

В наброске программы не используются никакие геометрические фигуры. Некоторые принципиальные операторы (цикла, if), но не обя­зательно все, записываются по синтаксическим правилам конкретного языка. А вместо группы некоторых операторов или других элементов за­писываем на русском языке, что они делают. Например, рассмотрим следующую задачу. В каждой строке матрицы A[10,15] все положительные числа разделить на пер­вое по порядку отрицательное число. Если отрицательных чисел в строке нет, оставить ее без изменения. Набросок программы для этой задачи выглядит следующим образом:

Ввод матрицы

For i: = l to 10 DO

Begin

поиск первого отрицательного числа в i-ой строке

if есть отрицательное число

then преобразование i-ой строки

Else writeln ( 'отриц. числа в', i, '-ой строке нет');

End

Вывод матрицы.

Некоторые из действий, например, поиск первого отрицательного числа в i-ой строке, можно детализировать, используя в зависимости от сложности этой части программы обычную блок-схему, схему цик­лов, набросок этого фрагмента программы, или операторы языка.

При использовании блок-схем алгоритмов традиционным основным типом задач являются задачи: “составить блок-схему (схему циклов, набросок программы) для решения следующей задачи...”. Кроме этого, на разных этапах изучения ОА и П можно рекомендовать следующие типы задач и упражнений:

– по готовой блок-схеме составить программу (часть программы, записать оператор);

- по заданной программе или ее фрагменту составить блок-схему (схему циклов);

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

Кроме этого, при изучении и использовании блок-схем можно ре­комендовать те же типы упражнений и методические приемы, которые перечислены в других параграфах этой главы.