Методические рекомендации по решению задач.
Пример 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 целых чисел. Найти максимальное из них. В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В разделе «Введение в программирование» не рассматриваются структурированные данные, в том числе массивы. Однако эту задачу можно решить и без использования массива, ограничившись простыми переменными.
Дата добавления: 2016-07-18; просмотров: 3197;