Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Паскаль.doc
Скачиваний:
127
Добавлен:
30.04.2015
Размер:
661.5 Кб
Скачать

Контрольные задания

  1. Составить программу, которая построит произвольный пейзаж.

  2. Составить программу, которая нарисует на экране мишень из n колец.

  3. Составить программу, которая нарисует на экране пирамидку из n уменьшающихся прямоугольников.

  4. Составить программу, которая нарисует на экране пирамидку из n увеличивающихся прямоугольников.

  5. Составить программу, которая нарисует на экране многоэтажный дом.

  6. Составить программу, изображающую лодку, плывущую по реке.

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

  8. Составить программу, изображающую на экране солнышко с n лучиками длины l.

  9. Составить программу, изображающую на экране снежинку с n лучиками длины l.

  10. Составить программу построения графика функции:

    1. y = ax2;

    2. y = sin x;

    3. y = 1/x;

    4. y = tg x;

Построить и подписать также оси координат.

  1. Дополнить программу, составленную для решения задачи 10.8, движением точки по построенному графику функции.

  2. Составить программу построения графика функции, заданной параметрически:

  1. астроида:

x = a cos3 t,

y = a sin3 t, где t [0, 2)

  1. кардиоида

x = a cos t (1 + cos t),

y = a sin t (1+ cos t), где a>0, t [0, 2)

  1. спираль:

x = R cos t ,

y = R sin t , где R=t/2, <= t <= 2N

  1. улитка Паскаля:

x = a cos2t + b cos t,

y = a cos t sin t + b sin t, где a>0, b>0, t [0, 2)

  1. строфоида:

x = a (t 2 – 1)/(t 2 + 1),

y = at (t 2 – 1)/(t 2 + 1), где a>0, t (-, +)

  1. эпициклоида:

x = (a + b) cos t – a cos ((a + b)t/a),

y = (a + b) sin t – a sin ((a + b)t/a),

где a>0, b>0, t [0, 2), b/a должно быть целым положительным числом

  1. циссоида:

x = a t 2 /(1 + t 2),

y = a t 3 /(1 + t 2), где a>0, t (-, )

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

Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала

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

Процедуры в языке Турбо Паскаль

  1. Описание процедуры:

Procedure <имя> (<список параметров>); { заголовок процедуры }

<блок описаний>

Begin { начало исполняемой части процедуры}

<тело процедуры (исполняемая часть)>

End; { конец процедуры }

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

I. Заголовок: начинается с зарезервированного слова Procedure (а не Program), кроме того содержит список параметров. Параметры – это «средство связи» процедуры с программой и с другими процедурами, механизм обмена данными. Параметры процедуры бывают двух видов:

- параметры-значения, или входные параметры – это исходные (входные) данные, передаваемые в процедуру. Их значения после окончания работы процедуры остаются неизменившимися. Описание параметров-значений: <имя> : <тип> .

- параметры-переменные, или выходные параметры – это результаты работы процедуры, передаваемые обратно в программу или другую процедуру. Их значения после окончания работы процедуры изменяются. Описание параметров-переменных: Var <имя> : <тип> .

Например, процедура может иметь такой заголовок:

Procedure Calculate ( x, y : integer; var z : integer; var f : real );

Имя этой процедуры Calculate. Она имеет 4 параметра: два входных (или параметра значения) – это параметры x и y целого типа; два выходных (или параметра-переменных) – z целого типа и f вещественного типа. Так как типы у них различны, перед описанием каждого указано зарезервированное слово Var.

Параметры, указанные при описании процедуры (т.е. в ее заголовке) называются формальными, т.к. процедура – это по сути формальное правило получения некоторых результатов из некоторых исходных данных. Конкретным смыслом формальные параметры наполняются при вызове процедуры (см. ниже).

Можно использовать процедуры и без параметров.

II. Блок описаний может содержать те же разделы, что и блок описаний программы (Const, Type, Var, Procedure, Function), за исключением описания подключения модулей библиотек Uses (модули подключаются только в блоке описаний в основной программе!).

Данные, описанные в блоке описаний процедуры, называются локальными и могут быть использованы только в этой процедуре.

Данные, описанные в блоке описаний программы, называются глобальными и могут использоваться как в самой программе, так и во всех ее процедурах.

III. Тело процедуры также представляет собой составной оператор, но заканчивается End; (ставится точка с запятой, а не точка, как в конце программы).

  1. Вызов процедуры:

может осуществляться из основной программы или процедуры, описанной после вызываемой. При вызове указывается имя процедуры и список фактических параметров, т.е. тех, которые будут «подставлены» на место формальных. Количество, порядок и типы фактических параметров должны совпадать с количеством, порядком и типами формальных параметров. Например, процедуру Calculate, заголовок которой был описан выше, можно вызвать следующим образом:

Calculate( a, b, c, d ); - при условии, что a, b, c имеют тип Integer, d – Real.

Calculate( 23, р+14, q, w ); - если p и q имеют тип Integer, а w – Real.

(Исходя из всего вышесказанного следует, что команды языка (например, Write, Readln) – это тоже процедуры, которые описаны в некоторых библиотеках и которые мы вызываем при написании наших программ.)