МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ К ИЗУЧЕНИЮ ПРОГРАММИРОВАНИЯ

Изучаемые вопросы:

  • • предметная область программирования;
  • • парадигмы программирования;
  • • методические вопросы изучения языков программирования.

Предметная область программирования. Программирование — это раздел информатики, предметом которого являются методы и средства разработки программного обеспечения ЭВМ. В узком смысле слово «программирование» обозначает процесс разработки программы на определенном языке программирования. Разработку средств системного ПО и систем программирования принято называть системным программированием; разработку прикладных программ называют прикладным программированием. По этому принципу делят программистов на системных и прикладных, в зависимости от типа создаваемых ими программ.

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

  • процедурное программирование (Паскаль, Бейсик, Фортран, Си, Ассемблеры);
  • логическое программирование (Пролог);
  • функциональное программирование (Лисп);
  • объектноориентированное программирование (Смол- ток, Си++, Делфи, Java).

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

Классической, универсальной и наиболее распространенной является процедурная парадигма. Наибольшее количество существующих языков программирования относятся к этой линии. Поэтому чаще всего в учебных заведениях изучается процедурное программирование. А наиболее часто изучаемыми в школе языками программирования являются Паскаль и Бейсик. В дальнейшем под словом «программирование» мы будем подразумевать именно процедурную парадигму.

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

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

Здесь и в дальнейшем термин «вычислительные алгоритмы» будем понимать в самом широком смысле как алгоритмы работы с величинами любых типов, ориентированные на исполнителя, — ЭВМ.

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

Изучение языков программирования. Языки программирования принято разделять по двум уровням:

  • • машинно-ориентированные: Автокоды, Ассемблеры;
  • • языки программирования высокого уровня (ЯПВУ).

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

Достаточно хорошо известна методика изучения процедурных ЯПВУ с целью практического их освоения. Эта методика опирается на структуру самого объекта изучения — языка программирования (рис. 11.5).

Рис. 11.5

Структура процедурного ЯПВУ

На любом языке программирования алгоритм решения задачи представляется через совокупность команд. Команда на машинно-ориентированном языке определяет одну операцию процессора. В языках высокого уровня одна команда определяет уже не одну операцию процессора, а, в общем случае, множество. Поэтому к командам ЯПВУ более подходит термин «оператор».

Важнейшим оператором является оператор присваивания. В ЯПВУ оператор присваивания записывается практически так же, как в Алгоритмическом языке команда присваивания.

В ЯПВУ одним оператором представляются целые алгоритмические структуры: ветвление, цикл. Правда, такое есть не во всех языках (например, нет в первых версиях Бейсика). Языки, в которых имеются структурные операторы, принято называть структурными языками. К их числу относятся Паскаль и Си.

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

Наиболее целесообразно для начального знакомства с языками программирования использовать язык Паскаль. Язык Паскаль был создан в 1971 г. Никлаусом Виртом как учебный язык. Основной принцип, заложенный в нем, — это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка (АЯ). По сути дела, расхождение между АЯ и Паскалем состоит в двух вещах: АЯ — русскоязычный, Паскаль — англоязычный; синтаксис Паскаля определен строго и однозначно, в отличие от сравнительно свободного синтаксиса АЯ.

Поскольку в курсе основной школы ставится только лишь цель первоначального знакомства с программированием, то строго формального описания языка программирования не требуется (формулы Бэкуса, диаграммы Вирта). Основной используемый метод — демонстрация языка на примерах простых программ с пояснением правил их написания. Некоторые понятия достаточно воспринять ученикам на «интуитивном» уровне. Наглядность такого языка, как Паскаль, облегчает это восприятие. Кроме того, пониманию помогает аналогия между Паскалем и русскоязычным АЯ. Для выполнения учениками несложных самостоятельных заданий достаточно действовать методом «по образцу».

Учитель может задуматься над проблемой: как лучше связать изучение методов построения алгоритмов работы с величинами и языка программирования. Здесь возможны два варианта:

  • • сначала рассматриваются всевозможные алгоритмы, для описания которых используются блок-схемы и АЯ, а затем — правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке;
  • • алгоритмизация и язык программирования осваиваются параллельно.

Опыт показывает, что теоретическое изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов и программ, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приемы работы в системе программирования. Метод последовательного изучения алгоритмизации и языка программирования приемлем лишь в «безмашинном» варианте.

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

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

  • линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;
  • ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трех значений; диалог с ветвлениями;
  • циклические алгоритмы: вычисление сумм и произведений числовых последовательностей; циклический ввод данных с последовательной обработкой.

Такая последовательность задач рассматривается в учебниках [37], [40] и предлагается в списке заданий для самостоятельного выполнения.

В результате изучения темы «Программирование» учащиеся должны:

  • 1) знать: назначение языков программирования; правила представления данных на одном из языков программирования высокого уровня; правила записи основных операторов: ввода, вывода, присваивания, цикла, ветвления; правила записи программы; что такое трансляция; назначение систем программирования; содержание этапов разработки программы: алгоритмизация — кодирование — отладка — тестирование;
  • 2) уметь: составлять несложные программы решения вычислительных задач, программировать простой диалог, работать в среде одной из систем программирования, осуществлять отладку и тестирование программы;
  • 3) использовать приобретенные знания и умения в практической деятельности и повседневной жизни для определения адекватных способов решения учебной задачи на основе заданных алгоритмов.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >