Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

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

Методические рекомендации по решению задач (реферат, курсовая, диплом, контрольная)

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

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

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

алг САША-MАША Program Sasha&Masha;

вещ S, M var S, M: real;

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

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

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

Маши:' write ('Возраст ввод М Маши:');

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

то вывод 'Саша if S > М старше Маши' then write ('Саша.

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

то вывод 'Саша else if S = М и Маша then write ('Саша ровесники' и Маша ровесники').

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

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

Саши1 end.

кв.

кв кон.

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

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

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

вещ А, В, С, X var A, B, C, X: real;

нач begin.

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

если А > В if A > В то then begin.

X := А; X := А;

А := В; А := В;

В := X В := X.

kb end;

если В > С if В > С то then begin.

X := В; X := В;

В := С; В := С;

С := X С := X.

kb end;

если, А > В if A > В то then begin.

X := А; X := А;

А := В; А := В;

В := X В := X.

kb end;

вывод А, В, С write (А, В, С) кон end.

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

В учебнике [6] подпрограммы не рассматриваются. Это объясняется ограниченностью учебного времени, которое можно выделить в базовом курсе на тему «Введение в программирование». При наличии дополнительного времени рекомендуется дать ученикам представление о подпрограммах. Рассмотренная здесь задача может быть использована как опорная для раскрытия этой темы. Приведем пример программы сортировки значений трех переменных с использованием процедуры (правила работы с процедурами смотрите в учебниках по Паскалю).

Program Sort3;

var А, В, С: real;

Procedure SOR2(var X, Y: real);

var Z: real; begin

Z:=X; X:=Y; Y:=Z.

end;

begin readln (А, В, С);

SOR2(A, B);

SOR2(B, C) ;

SOR2(A, B) ;

writeln (A, B, C).

end.

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

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

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

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

нач ввод N X: real;

ввод X begin readln (N);

i:=l; readln (X);

Y:=l; i:=i;

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

нц while i<=N do.

Y:=Y*X begin

i:=i+l Y:=Y*X;

кц i:=i+l.

вывод Y end;

кон write (Y).

end.

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

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

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

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

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

нач begin.

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

ввод N readln (N);

вывод 'введите X'; write С введите X');

ввод X readln (X);

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

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

нц begin.

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

ввод X readln (X);

если X > MAX if X > MAX.

то MAX:=X then MAX: = X;

kb i: = i + 1.

i: = i + l end;

кц writeln (MAX).

вывод MAX end.

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

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

Показать весь текст
Заполнить форму текущей работой