Теория и методика преподавания раздела "Алгоритмизация и программирование" в школьном курсе информатики

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

одимости для решения очередного типа задач. Рассмотрим решение некоторых задач с использованием языка Паскаль, предлагаемых в учебнике [6]. Эти примеры иллюстрируют использование метода аналогии между учебным алгоритмическим языком и Паскалем.

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

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

 

алг САША-МАШАProgram SashaSMasha;

веш; S, Мvar S, М: real;

нач вывод Возраст Саши:begin write (Возраст

ввод SСаши:);

вывод Возрастreadin(S) ;

Маши:write(Возраст

Ввод ММаши:) ;

если S > Мreadln( М);

то вывод Сашаif S > М

старше Машиthen write(Cашa

иначе если S = Мстарше Маши)

то вывод Сашаelse if S = М

и Машаthen write(Саша

ровесникии Маша ровесники)

иначе выводelse write (Маша

Маша старшестарше Саши)

Сашиend.

кв

кв

кон

 

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

Решение. В подразделе 12.4 учебника [6] рассмотрен алгоритм упорядочения значений двух переменные. Для решения данной задачи требуется трижды применить этот алгоритм: упорядочить А и В, упорядочить В и С (после этого максимальное значение попадет в С), еще раз упорядочить А и В. Таким образом, алгоритм будет иметь структуру трех последовательных неполных ветвлений.

 

Алг СОРТИРОВКА-3Program SORT_3;

вещ А, В, С, Хvar А,В,С,X: real;

начbegin

ввод А, В, Сreadln(А, В, С);

если А > Вif A > В

тоthen begin:= А;X := А;

А := В;А := В;

В := ХВ := Х

квend;

если В > Сif В > С

тоthen begin:= В;Х := В;

В := С;В := С;

С := ХС := Х

квend;

если А > Вif A > В

тоthen begin:= А;Х := А;

А := В;А := В;

В := ХВ := Х

квend;

вывод А,В,Сwrite(А,В,С)

конend.

 

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

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

 

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

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

нач ввод NX: real;

ввод Хbegin readln(N) ;:=l;readln(X) ;:=l;i:=l;

пока i<=N, повторятьY:==l;

нцwhile i<=N do:=Y*Xbegin:=i+1Y:=Y*X;

кцi:=i+l

вывод Yend;

конwrite(Y)

end.

 

Пример 4. Последовательно вводятся N целых чисел. Найти максимальное из них.

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

 

Алг максимумProgram maximum;

цел N, i, X, MAXvar N, i, X, MAX: integer;

начbegin

вывод введите N;write(введите N);

ввод Nreadln(N);

вывод введите X;write(введите X);

ввод Хreadln(X) ;

МАХ:=Х; i:=lМАХ:= X; i:=l;

пока i < N, повторятьwhile i < N do

нцbegin

вывод Введите X;write(Введите X);

ввод Хreadln(X);

если Х > MAXif Х > МАХ

то МАХ:=Хthen MAX:=X;

квi:=i+l end;:=i+lend;

кцwriteln(MAX)

вывод MAXend.

кон