Учебная методика «Алгоритм-Комментарии-Код»

Учебная методика «Алгоритм-Комментарии-Код»

Traducción esta pagina al español

Данная методика была разработана довольно давно в России в процессе преподавания основ программирования в средней школе еще в 90-е. Много лет она применялась в школах и в институтах и всегда давала очень хорошие результаты. Целью данной методики является обеспечение лучшего понимания учащимися перехода от алгоритма решения задачи к программному коду. Суть методики заключается в активном использовании строчных комментариев соответствующего языка программирования. Данная методика может быть применена при решении практически любых учебных задач на всех современных языках программирования, использующихся в учебных целях: Python, Pascal, MS Small Basic, C, C++, Java и т.п.  Она даёт учащимся хорошее понимание того, как описанный словами алгоритм решения задачи превращается в программный код.

Описание методики

  1. Вначале алгоритм записывается в виде строк текста, где каждая строка является описанием элементарной операции алгоритма.
  2. Затем эти строки становятся комментариями для будущего кода.
  3. Для каждой строки комментария записывается соответствующая строка программного кода.

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

Пример применения

Рассмотрим все шаги получения понятного программного кода более подробно. Решение любой задачи начинается с её формулировки в произвольном виде.

1. Формулировка задачи

Решение любой задачи начинается с её формулировки в произвольном виде.

«Подсчитать, сколько раз встречается заданная буква в заданном тексте.»

2. Формализация задачи

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

«Определить количество символов идентичных заданному (по коду) в заданной строке текста.»

3. Запись текстового алгоритма решения задачи

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

«Получить искомый символ и строку. Проходя по строке посимвольно, сравнивать каждый символ с искомым. В случае совпадения символа с искомым увеличивать счетчик символов на единицу. В конце вывести конечное значение счетчика найденных символов.»

4. Построчный текстовый алгоритм (разбитый на отдельные команды)

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

Получить искомый символ.
Получить строку для поиска.
Счетчик количества символов равен 0.
Определить длину строки и записать.
Поставить указатель текущего символа на первый символ в строке.
Идти до конца строки (посимвольно)
     Если встретился искомый символ, …
         …увеличить счетчик символов на единицу
     Перейти к следующему символу.
Вывести полученное значение счетчика.

5. Текстовый алгоритм в виде комментариев

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

# Получить искомый символ.
# Получить строку для поиска.
# Счетчик количества символов равен 0.
# Определить длину строки и записать.
# Поставить указатель текущего символа на первый символ в строке.
# Идти до конца строки (посимвольно)
# Если встретился искомый символ,…
# …увеличить счетчик символов на единицу
# Перейти к следующему символу.
# Вывести полученное значение счетчика.

6. Программный код, соответствующий комментариям

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

letra = «a» # Получить искомый символ.
texto = «América Latina tiene su voz propia que durante seis décadas seguidas pertenecía a la cantante argentina Mercedes Sosa.» # Получить строку для поиска.
num = 0 # Счетчик количества символов равен 0.
lon = len(texto) # Определить длину строки и записать.
i = 0 # Поставить указатель текущего символа на первый символ в строке.

while i < lon : # Идти до конца строки (посимвольно)
        if texto[i] == letra : # Если встретился искомый символ,…
                num = num + 1 # …увеличить счетчик символов на единицу
        i = i + 1 # Перейти к следующему символу.

print(num) # Вывести полученное значение счетчика.

 

Теперь запишем этот же алгоритм на языке С или C++.

char letra = ‘a’; // Получить искомый символ.
char texto[] = «América Latina tiene su voz propia que durante seis décadas seguidas pertenecía a la cantante argentina Mercedes Sosa.»; // Получить строку для поиска.
int num = 0; // Счетчик количества символов равен 0.
int lon; // объявляем тип переменной lon
lon = strlen(texto); // Определить длину строки и записать.
int i = 0; // Поставить указатель текущего символа на первый символ в строке.
while (i < lon) // Идти до конца строки (посимвольно)
{
    if (texto[i] == letra) // Если встретился искомый символ,…
        num++; // …увеличить счетчик символов на единицу
    i++; // Перейти к следующему символу.
}
printf(«%i\n»,nnm); // Вывести полученное значение счетчика.

Как мы видим, принципиальных отличий в коде на разных языках программирования нет.

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

 

Поделиться: 

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать rubasic.ru, вы соглашаетесь на использование файлов cookie.
Понятно