Использование рекурсивных подпрограмм.
Цель: научиться составлять программы решения задач с использованием рекурсивных процедур и функций. Теоретические сведения: Рекурсия - это способ описания функции или процессов через самих себя (когда процедура или функция сама себя вызывает). В Паскале можно пользоваться именами лишь тогда, когда в тексте программы этому предшествует их описание. Рекурсия является единственным исключением из этого правила. Имя рекурсивной функции можно использовать сразу же, не закончив его описания. В Паскале возможно применения рекурсии в процедурах и функциях. Порядок выполнения работы: 1) Запустите программу Pascal.
2) Составить программу нахождения факториала, используя рекурсивную функцию. 3) Написать программу вычисления членов геометрической прогрессии. Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере. { Подсказка: Геометрическая прогрессия: а) а1=а0; б) аn=а n-1*q. При а0=2, q=2 имеем степенной ряд 2,4,8,16,32,...; }
4) Написать программу вычисления членов арифметической прогрессии. Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере. { Подсказка: Арифметическая прогрессия: а)а1=а0; б) аn=аn-1+d. При а0=1, d=1 имеем натуральный ряд 1,2,3,... } 5) Составить программу вычисления всех чисел Фибоначчи, используя рекурсивную функцию. { Подсказка: Числа Фибоначчи. Один из наиболее ярких примеров применения рекурсии дают числа Фибоначчи. Они определяются следующим образом: x1=x2=1, xn=xn-1+xn-2 при n > 2
Каждый элемент ряда Фибоначчи является суммой двух предшествующих элементов, т.е. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… } 8) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.
9) Выйдите из программы Pascal.
Лабораторная работа №14 Использование процедур и функций: графические возможности. Цель: научиться работать в графическом режиме программы Pascal. Теоретические сведения: Система программирования Pascal снабжена несколькими модулями или «библиотеками», в которых хранятся все её процедуры и функции. Библиотека, содержащая процедуры и функции для поддержки графического режима носит имя GRAPH.TPU. Для того, чтобы компилятор «узнавал» названия процедур и функций, содержащихся в библиотеке GRAPH.TPU, необходимо после заголовка программы разместить строчку следующего вида: Uses Graph; До сих пор экран всегда находился в текстовом режиме, поэтому можно было видеть только символы. Для рисования прямых, окружностей и пр. необходимо перевести экран в графический режим. Для включения графического режима используется процедура InitGraph(Gd, Gm: integer; Path: string) три параметра: Gd является кодом графического адаптера, позволяющего использовать несколько графических режимов, отличающихся количеством цветов и разрешающей способностью, Gm предназначен для того, чтобы указать какой из режимов следует включить, Path является строкой, содержащей путь к файлу, в котором содержится драйвер, необходимый для работы мониторов в графическом режиме. CloseGraph – выключение графического режима. Для того, чтобы можно было нарисовать что-то на экране, нужно уметь задавать положение этой фигуры. Для этого с экраном связывается система координат. Точка (0,0) находится в левом верхнем углу. Описание некоторых графических процедур и функций
Line(x1,y1,x2,y2: integer) – рисует на экране отрезок, соединяющий точки (x1,y1) и (x2,y2). По умолчанию, цвет линий белый. Для изменения текущего цвета используется процедура SetColor(Color: word) – нужно указать число, являющееся кодом цвета (0..15). SetBkColor(Color: word) – устанавливает текущий цвет фона; PutPixel(x,y: integer; Pixel:word) – рисует точку с координатами (x,y) и цветом Pixel. Rectangle(x1,y1,x2,y2: integer) – строит контур прямоугольника из линий текущего цвета. Circle(x,y: integer; r:word) – строит окружность с центром в точке (x,y) и радиусом r. Arc(x,y: integer; StA,EndA,Radius:word) – рисует дугу окружности текущим цветом в центром в точке (x,y) и радиусом Radius, где StA,EndA – начальный и конечный угол в градусах. Ellipse (x,y: integer; StA,EndA:word; xr,yr:word) – рисует дугу эллипса текущим цветом в центром в точке (x,y), где StA,EndA – начальный и конечный угол в градусах, xr,yr – горизонтальная и вертикальная полуоси эллипса. SetLineStyle(Ln, P, T) – изменение параметров линий, где Ln – стиль линии (0- сплошная, 1 – пунктирная, 2 – штрихпунктирная, 3 – штриховая), T – толщина линии (1-нормальная, 3- толстая), P – шаблон. Порядок выполнения работы: 1) Запустите программу Pascal. 2) Нарисуйте разноцветную «ромашку», используя рисования окружности и эллипса. Откомпилируйте программу. Проверьте правильность решения задачи. 3) Нарисуйте олимпийский флаг. Откомпилируйте программу. Проверьте правильность решения задачи. 4) Изобразите год вашего рождения и инициалы. Откомпилируйте программу. Проверьте правильность решения задачи. 5) Нарисуйте три окружности с заключенными в них треугольником, квадратом и звездой. Все фигуры должны быть разного цвета. Откомпилируйте программу. Проверьте правильность решения задачи.
6) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.
7) Выйдите из программы Pascal.
Лабораторная работа №15
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|