2. Возможности методического обеспечения структурного программирования в школе

 

2.1 Принципы структурной алгоритмизации

 

На сегодняшний день самой популярной методикой программирования является структурное программирование "сверху – вниз". Эта технология программирования представляет собой процесс пошагово разбиения алгоритма на все более мелкие части с целью получить такие элементы, для которых можно легко написать конкретные предписания [5].

Структурная алгоритмизация основывается на двух принципах:

1)      последовательная детализация "сверху - вниз";

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

Из принципов вытекают требования структурного программирования:

1)      программа должна составляться мелкими шагами, таким образом, сложная задача разбивается на достаточно простые, легко воспринимаемые части;

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

Базовый набор структурной алгоритмизации содержит линейные, разветвляющиеся и циклические структуры.

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

1)      возможность преодоления барьера сложности программ;

2)      возможность демонстрации правильности программ на различных этапах решения задачи;

3)      наглядность программ;

4)      простота модификации программ.

2.2 Выбор подхода к преподаванию структурного программирования

 

При решении задач с использованием структурного программирования можно выделить два основных направления [7, c. 78]:

1)      "алгоритмический" подход заключается в следующем: схема решения задачи описывается на алгоритмическом языке (языке блок-схем алгоритмов) и затем переводится в программную реализацию на конкретном языке программирования;

2)      "программный" подход – описание решения задачи сразу на конкретном языке программирования.

В соответствии с этими направлениями чаще всего и преподается программирование. Уровень развития современных систем программирования, благодаря хорошо организованным средствам отладки, позволяет создавать программы без использования первого подхода. Однако, программный подход требует от человека наличие определенного стиля мышления и навыков работы с языком программирования. Очевидно, что специалисты, имеющие пусть даже небольшой опыт в программировании, пользуются программным подходом. Им не обязательно описывать решение задачи на алгоритмическом языке, они разрабатывают ее в "уме". В преподавании такой подход хорош при изучении второго языка программирования, когда ученики уже имеют определенную подготовку.

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

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

При изучении программирования с использованием алгоритмического подхода учащиеся сталкиваются с двумя проблемами [6, c. 86]:

1)      описание и детализация решения задачи на алгоритмическом языке;

2)      переход от алгоритмических конструкций к конкретному языку программирования.

На разрешение этих трудностей должно быть направлено методическое обеспечение. В первом случае это могут быть схемы основных базовых структур с описанием их работы и особенностей использования при построении алгоритмов. Во-втором – таблицы перевода алгоритмических конструкций в конструкции языка программирования.

 

2.3 Базовый набор структур и построение алгоритмов на их основе

 

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

1)      последовательная (линейная) структура;

2)      ветвящаяся структура;

3)      циклическая структура.

Наиболее простыми для понимания и использования являются линейные структуры. Линейным называется алгоритм (фрагмент алгоритма), в котором отдельные предписания выполняются в естественном порядке (в порядке записи) независимо от значений исходных данных и промежуточных результатов [3, c. 9].

Алгоритм может быть реализован в ЭВМ, если он содержит только элементарные предписания. Такими элементарными, т.е. не требующими детализации, можно считать следующие предписания или операции:

1)      начало, конец;

2)      список данных;

3)      ввод, вывод;

4)      вычислительные операции, реализуемые оператором присваивания.

Не всякий алгоритм можно описать только линейными структурами. Часто для дальнейшей детализации используются ветвящиеся структуры, т.е. такие, в которых в зависимости от исходных данных или промежуточных результатов алгоритм реализуется по одному из нескольких, заранее предусмотренных направлений. Такие направления часто называются ветвями.

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

Реализация на ЭВМ линейных и разветвляющихся программ не дает большого выигрыша во времени по сравнению, например, с использованием простого калькулятора. Настоящее преимущество вычислительной машины становится очевидным лишь при решении тех задач, где возникает необходимость многократного повторения одних и тех же фрагментов алгоритмов [2].

В циклических алгоритмах выполнение некоторых операторов (групп операторов) осуществляется многократно с одними и теми же или модифицированными данными.

Циклические алгоритмы часто называют циклами. В зависимости от способа организации числа повторений различают три типа циклов:

1)      цикл с заданным условием продолжения работы (цикл-пока);

2)      цикл с заданным условием окончания работы (цикл-до);

3)      цикл с заданным условием повторений работы (цикл с параметром).

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

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

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

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

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

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


Информация о работе «Обучение решению задач из раздела "Основы алгоритмизации и программирования"»
Раздел: Педагогика
Количество знаков с пробелами: 41340
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
29193
3
0

... профессором Н. Виртом, язык назван в честь французского математика и по замыслу автора предназначался для обучения программированию. Однако язык получился на столько удачным, что стал одним из основных инструментов прикладных и системных программистов при решении задач вычислительного и информационно-логического характера. В 1979 году был подготовлен проект описания языка – Британский стандарт ...

Скачать
49877
5
0

... в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. Курс завершается разработкой игры. Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi. Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод. Контроль знаний и умений ...

Скачать
27624
3
2

... учеников 1. Организационный момент Здравствуйте. Сегодня мы будем говорить о том, как работать с графикой при помощи языка программирования Pascal. Вы уже знакомы с различными типами графики. Какие это типы? (растровый и векторный) Как задается графический объект при использовании графики этих типов. Pascal поддерживает вывод на экран и векторной и растровой графики, но мы рассмотри ...

Скачать
75362
0
4

... (Wide Area Information Server) сервере; news - группа новостей телеконференции Usenet; telnet - выход на ресурсы сети Telnet; ftp - файл на FTP - сервере. host. domain - доменное имя в сети Интернет. port - число, которое необходимо указывать, если метод требует номер порта. Пример: http://support. vrn.ru/archive/index.html. Префикс http://указывает, что далее следует адрес Web-страницы, / ...

0 комментариев


Наверх