Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование рекурсивных подпрограмм.




Цель: научиться составлять программы решения задач с использованием рекурсивных процедур и функций.

Теоретические сведения:

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

В Паскале возможно применения рекурсии в процедурах и функциях.

Порядок выполнения работы:

1) Запустите программу Pascal.

 

2) Составить программу нахождения факториала, используя рекурсивную функцию.
Откомпилируйте программу. Проверьте правильность решения задачи. { Подсказка: Факториал an=n! означает n!=1*2*3*4*5*б*...*n. а)а1=1; б) аn=n*аn-1}

3) Написать программу вычисления членов геометрической прогрессии.

Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

{ Подсказка: Геометрическая прогрессия: а) а10; б) аnn-1*q. При а0=2, q=2 имеем степенной ряд 2,4,8,16,32,...; }

 

4) Написать программу вычисления членов арифметической прогрессии.

Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

{ Подсказка: Арифметическая прогрессия: а)а10; б) аnn-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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...