Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы по МПИ.doc
Скачиваний:
43
Добавлен:
12.09.2019
Размер:
3.03 Mб
Скачать
  1. Методика изучения темы «Элементы программирования».

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

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

• машинно-ориентированные: автокоды, ассемблеры;

• языки программирования высокого уровня (ЯПВУ).

Рис.1 Структура языка программирования высокого уровня

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

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

Языки, в которых имеются структурные операторы, принято называть структурными языками (Turbo Pascal).

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

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

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

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

2) алгоритмизация и язык программирования осваиваются параллельно.

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

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

Под средой системы программирования (СП), как и раньше, будем понимать «обстановку» на экране (системную оболочку), в которой работает пользователь СП. Здесь учитель должен описать и показать ученикам оболочку именно той системы программирования, с которой намерен работать в данной теме. Характерными режимами работы систем программирования являются:

- режим редактирования текста программы;

- режим компиляции;

- режим исполнения;

- режим работы с файлами;

- режим помощи;

- режим отладки программы.

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

Для системы программирования данными являются файлы с текстами программ, с исходной и конечной информацией, связанной с решаемой задачей.

Тема базового курса «Введение в программирование» завершается изучением вопросов, изложенных в разделе 12.8 «О языках программирования и трансляторах». Основные вопросы, которые затрагиваются в этом разделе: понятие об уровнях языков программирования, понятие о трансляторах и способах трансляции. Этот материал носит теоретический характер.

Методические рекомендации по решению задач.

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

Пример 2 Написать на АЯ алгоритм вычисления у по формуле У=(1+ х2+5х4)2, где х -данное целое число. Учесть следующие ограничения: 1) в арифметических выражениях можно использовать только операции сложения, вычитания и умножения; 2) выражение может содержать только одну арифметическую операцию. Выполнить трассировку алгоритма при х = 2.

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

Пример 3: Пользуясь ограничениями предыдущей задачи, написать наиболее короткие алгоритмы вычисления: a) Y = X8; б) У = X10; в) У = X15; г) Y = X19. Постараться использовать минимальное количество дополнительных переменных. Выполнить трассировку алгоритмов.

Пример 4: Записать алгоритм циклического обмена значениями трех переменных А, В, С. Например, если до обмена было: А=1,В = 2, С = 3, то после обмена должно стать: А=3,В=1, С = 2. Выполнить трассировку.

Эта задача также рассматривалась в предыдущем разделе на уровне языка машинных команд. Идея прежняя: для обмена значениями требуется дополнительная переменная, обозначим ее X.

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

линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;

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

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

Пример 5:

Составить алгоритм, по которому на компьютере будет происходить следующее: в переменную S вводится возраст Саши, в переменную М вводится возраст Маши. В качестве результата на экран выводится фраза «Саша старше Маши» или «Маша старше Саши», или: «Саша и Маша ровесники». Написать программу на Паскале по этому алгоритму.

Пример 6: Составить алгоритм упорядочения значений трех переменных по возрастанию, то есть при любых исходных значениях А, В, С отсортировать их так, чтобы стало: А < В < С. Написать программу на Паскале по этому алгоритму.

Пример 7: Дано вещественное число X и натуральное N. Составить алгоритм вычисления X". Написать программу на Паскале.

В Паскале нет операции возведения в степень. Если показатель степени - целое положительное число, то возводить в степень нужно путем N-кратного умножения основания самого на себя. Реализуется это циклическим алгоритмом.

алг Степень Program Power,

цел N, i; вещ X var N, i: integer; X: real;

нач ввод N begin readln(N);

Ввод Х readln(X);

i:=1; Y: = l; i:=l; Y:=l;

пока i<=N while i<=N do

нц begin

Y:=Y*X Y:=Y*X;

i:=i+l i.=i+l;

кц end;

Вывод Y Write(Y);

кон end.

При выполнении трассировки этого алгоритма обязательно проверьте правильность его работы при N = 0. Как известно из математики, Х°= 1. Трассировка доказывает, что и в этом случае алгоритм будет давать правильный результат.

Пример 8: Последовательно вводятся N целых чисел. Найти максимальное из них. В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В разделе «Введение в программирование» не рассматриваются структурированные данные, в том числе массивы. Однако эту задачу можно решить и без использования массива, ограничившись простыми переменными.