Автор работы: Пользователь скрыл имя, 29 Ноября 2012 в 09:58, курсовая работа
Изучаемые вопросы:
Предметная область программирования; парадигмы программирования.
Методические вопросы изучения языков программирования
Методические вопросы изучения систем программирования
Изучаемые вопросы:
Программирование – это раздел информатики, задача которого разработка программного обеспечения ЭВМ. В узком смысле слова «программирование» обозначает процесс разработки программы на определенном языке программирования.
Разработку средств системного ПО и систем программирования принято называть системным программированием. Разработку прикладных программ называют прикладным программированием.
По этому принципу делят программистов на системных и прикладных, в зависимости от типа создаваемых ими программ.
Существуют различные парадигмы программирования, и преподавание каждой из них имеет свои особенности. К основным парадигмам программирования относятся:
В скобках приведены
примеры языков программирования, в
которых реализована
Прочес изучения и практического освоения программирования можно разделить на три части:
Достаточно хорошо известна методика изучения языков программирования с целью практического их освоения. Эта методика опирается на структуру самого объекта изучения – языка программирования.
Языки программирования делятся на две группы:
В настоящее время фактически все программисты пользуются языками высокого уровня. Даже такие системные программные продукты как трансляторы, операционные системы и др,
Составляются на языках высокого уровня (обычно для этого используют язык Си).
На любом языке, демонстрируется на примерах учебных компьютеров. В ЯПВУ одна команда определяет уже не одну операцию процессора, а, в общем случае, множество. Поэтому к командам ЯПВУ более подходит термин «оператор».
Важнейшим оператором является оператор присваивания. В ЯПВУ оператор присваивания записывается практически так же, как алгоритмическом языке команда присваивания.
В ЯПВУ одним оператором представляются целые алгоритмические структуры: ветвление, цикл. Правда, такое есть не во всех языках ( например, нет в стандартном Бейсике). Языки, в которых имеются структурные операторы, принято называть структурными языками. К их числу относятся Паскаль и Си.
Изучение языков программирования высокого уровняв базовом курсе должно носить только ознакомительный характер. Но использовать для этого какой-то учебный язык, учебную систему программирования, совсем не обязательно. Реальные ЯПВУ можно изучать с разной степенью подробности. Освоение же работы современных системах программирования на таких языках не вызывает больших затруднений.
Наиболее целесообразно для начального знакомства с языками программирования использовать язык Паскаль. Язык Паскаль был создан в 1971г. Никлаусом Виртом как учебный язык. Основной принцип, заложенный в нем, - это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка (АЯ). По сути дела, расхождения между АЯ и Паскалем состоит в следующем: АЯ - русскоязычный, Паскаль - англоязычный; синтаксис Паскаля определен строго и однозначно в отличие от сравнительно свободного синтаксиса АЯ.
Конечно, Учитель может выбрить и язык Бейсик из-за привычки к нему или при отсутствии системы программирования на Паскале. Но в этом случае возникают серьезные методические проблемы: как аккуратно отразить концепцию типов данных и структурную методику программирования на Бейсике? В принципе, известно, как это делать, но для неопытного учителя это может оказаться проблемой.
Поскольку в базовом курсе ставится только лишь цель первоначального знакомства с программированием, то строгого описания языка программирования не требуется. Основной используемый метод – демонстрация языка на примерах простых программ с краткими комментариями. Некоторые понятия достаточно воспринять ученикам на «интуитивном» уровне. Наглядность такого языка, как Паскаль, облегчает это восприятие. Кроме того, пониманию помогает аналогия между Паскалем и русскоязычным алгоритмическим языком. Для выполнения учениками несложных самостоятельных заданий достаточно действовать методом «по образцу».
Учитель может задуматься над проблемой: как лучше связать изучение методов построения алгоритмов работы с величинами языка программирования. Здесь возможны два варианта:
Опыт показывает, что теоретическое изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приемы работы в системе программирования. Метод последовательного изучения алгоритмизации и навыка программирования приемлем лишь в «безмашинном» варианте.
Даже при использовании компьютер. На первом этапе рекомендуется не отказываться от ручной трассировки алгоритма. Этот приём помогает ученикам «почувствовать» процесс исполнения, увидеть свои ошибки, допущенные в алгоритме. Когда же они станут более опытными программистами, например, осваивая профильный курс программирования в старших классах, тогда можно будет отказаться от ручной трассировки.
Обучение программированию должно
проводиться на примерах типовых
задач с постепенным
Рассмотрим решение некоторых задач с использованием языка Паскаль. Эти примеры иллюстрируют использование метода аналогии между учебным алгоритмическим языком и Паскалем.
Пример№1
Составить алгоритм, по которому на компьютере будет происходить следующее: в переменную S вводится возраст Саши, в переменную М вводится возраст Саши. В качестве результата на экран выводится фраза «Саша старше Маши», или !Маша старше Саши», или «Саша и Маша Ровесники». Написать программу на Паскале по этому алгоритму.
Решение. Алгоритм имеет структуру двух вложенных полных ветвлений. При переходе от алгоритмического языка к Паскалю следует обратить особое внимание на необходимость точного соблюдения правил синтаксиса языка: точки с запятой конце операторов, параметров ввода и вывода в круглых скобках и пр.
алг САША- МАША
вещ S, M
нач вывод ‘Возраст Саши:’
ввод S
вывод ‘Возраст
Маши:’
ввод M
если S>M
то вывод ‘Саша
старше Маши’
иначе если S=M
то вывод ‘Саша
и Маша
ровесники’
иначе вывод
Саши’
кв
кв
кон
Program Sasha & Masha;
var S, M: real;
begin write (‘Возраст
Саши:’);
readln (S);
write (Возраст
Маши:’);
readln (M);
if S>M
then write (‘Саша
старше Маши’)
else if S=M
then write (‘Саша
и Маша ровесники’)
else write (‘Маша
старше Саши’)
end
Пример №2.
Дано вещественное число Х и натуральное N. Составить алгоритм вычисления ХN. Написать программу на Паскале.
Решение. В Паскале нет операции возведения в степень. Если показатель степени -целое положительное число, то возводить степень нужно путём N- кратного умножения основания самого на себя. Реализуется это циклическим алгоритмом:
алг степень
цел N,I; вещ Х;
нач ввод N
ввод
I: =1;
Y: =1;
пока I<=N, повторять
нц
Y: =Y*X
I: =I+1
кц
Вывод Y
кон
program Power;
var N, I: integer;
X: real;
begin readln (N);
readln (X);
I: =1;
Y: =1;
while I<=N do
begin
Y: =Y*X;
I: =I+1
end;
write (Y)
end.
При выполнении трассировки этого алгоритма обязательно следует проверить правильность его работы при N=0. Как известно из математики, Х0=1. трассировка доказывает, что и в этом случае алгоритм будет давать правильный результат.
Пример № 3.
Последовательно вводятся N целых чисел. Найти максимальное из них
Решение. В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В базовом курсе могут не рассматриваться структурированные данные, в том числе массива, ограничившись простыми переменными. Для этого ввод данных и обработку надо совместить в одном цикле. Вот как это делается:
Алг максимум
цел N, I, X, MAX
нач
вывод ‘введите N’;
ввод N
вывод ‘введите X’;
ввод X
MAX: =X; I: =1
пока I<N, повторять
нц
вывод ‘Введите Х’;
ввод Х
если Х> MAX
то MAX:=Х
кв
I:=I+1
кц
вывод MAX
кон
Program maximum;
var N, I, X, MAX: integer;
begin
write (‘введите N’);
readln (N);
write (‘введите X’);
readln (X);
MAX: =X; I: =1;
while I<N do
begin
write (‘введите X’);
readln (X);
if X.MAX
then MAX: =X;
I: =I+1
end;
writeln (MAX)
end.
В данной теме, как и в темах, связанных с информационными технологиями, следует придерживаться основного методического принципа изучения – принципа исполнителя. Выше уже говорилось о том, что теперь в качестве исполнителя рассматривается компьютер, оснащенный определенной системой программирования (СП). Всякий исполнитель предназначен для выполнения определенного вида работы. Что это за работа? Она состоит из трех составляющих: создание программы, отладка программы, исполнение программы.