BigEdu.ru
» » » Програмування допоміжних алгоритмів
Вернуться назад

Програмування допоміжних алгоритмів

Тема . Програмування допоміжних алгоритмів

1. Процедури-оператори.

Раніше були розглянути стандартні процедури та функції, які надавали досить широкий набір функціональних залежностей. Разом з тип мова ПАСКАЛЬ дозволяє користувачеві створювати власні допоміжні алгоритми. Розрізняють два види алгоритмів: процедури-оператори (далі просто процедури ) та процедури-функції (далі просто функції ). Вони дозволяють включати в основний програмний блок додаткові блоки команд. Процедура активізується за допомогою оператора процедури. Функція активізується при обчисленні виразу, що містить виклик цієї функції.

Як вже відмічалось, блок опису процедур та функції не має спеціального службового слова для свого початку. Цей блок завжди розташовується останнім в описовій частині програми і починається оголошенням відповідного допоміжного алгоритму.

Розглянемо оголошення процедури.

Процедура складається з таких частин:

· заголовка процедури;

· розділу описів процедури;

· операторної частини (тіла) процедури.

Заголовок процедури починається службовим словом procedure , після якого вказується ім’я процедури й описується список формальних параметрів (якщо він є присутнім). Формальні параметри задають вихідні дані для процедури та змінні для результатів її роботи.

ПРИКЛАД:

procedure print(x:string);

procedure paint;

Розділ описів процедури містить опис об’єктів, які будуть використовуватись лише даною процедурою. Такі об’єкти називаються локальними для даної процедури. Їх використання поза межами процедури неможливе і приведе до появи повідомлення про помилку. Використання локальних змінних не є обов’язковим. Можна обійтись глобальними змінними, які описані в основній програмі. Однак використання локальних змінних робить і процедуру, і основну програму більш зрозумілими.

Блок операторів задає дії, які повинна виконати процедура.

Запуск процедури здійснюється за допомогою оператора процедури, який містить ім’я процедури список фактичних параметрів. Фактичні параметри задають дійсні імена об’єктів для початкових даних та результатів.

ПРИКЛАД. Розглянемо опис процедури для обчислення добутку перших k натуральних чисел (k!).

Процедура містить два формальних параметри: параметр k є вихідною величиною, параметр p результатом. Про правила оголошення параметрів буде сказано далі.

procedure fakt(k: integer; var p: integer);

{в заголовку процедури міститься два параметри: перший – k – є параметром-значенням і являє вихідні дані; другий – p –являє собою результат і оголошений як параметр-змінна}

var

i: integer;

{ локальна змінна i буде використовуватись як параметр циклу }

begin

{ тіло процедури задає дії }

p:=1;

for i:=1 to k do p:=p*i;

end;

В деяких випадках потрібно при оголошенні деякої процедури використати посилання на іншу процедуру, яка ще не була оголошена, але яка буде оголошена далі. В такому випадку використовують випереджальне оголошення.

Оголошенням, що випереджає, називається оголошення процедури, що задає директиву forward замість блока описів та блоку операторів. Після цього оголошення процедура повинна бути визначена за допомогою визначального оголошення, тобто такого оголошення процедури, що використовує такий же ідентифікатор процедури, але опускає список формальних параметрів і містить блок описів і блок операторів. Оголошення, що випереджає, і визначальне оголошення повинні знаходитися в одній і тій же частині оголошення процедур і функцій. Між ними можуть бути оголошеніінші процедури і функції, і вони можуть викликати процедуру з оголошенням, що випереджає. Таким чином, можлива взаємна рекурсія. Як правило, такий запис процедури використовується саме при взаємній рекурсії.

Оголошення, що випереджає, і визначальне оголошення складають повне оголошення процедури. Вважається, що процедура задана в оголошенні, що випереджає.

ПРИКЛАД оголошення, що випереджає:

procedure first(k: integer; var p: integer): forward;
{випереджальне оголошення}

procedure second(var n: integer; var s:real);

{дана процедура використовує процедуру first ,тіло якої буде задано далі}

begin

...

first(n,m); { виклик процедури, що ще не оголошена }

...

end;

procedure first;

begin

second(k,p); {виклик процедури, тіло якої описано вище}

end;

2. Процедури-функції.

Функції, оголошені користувачем, також складаються із заголовка, блока оголошень та тіла функції.

Заголовок функції починається стандартним ідентифікатором fun ction , містить ім’я для функції, формальні параметри (якщо вони присутні) і тип результату функції. Тип результату може бути будь-яким скалярним або рядковим типом. Тіло функції являє собою локальний блок операторів, аналогічний блокові для процедури. Відмінність полягає в тому, що хоча б один раз в тілі функції повинен зустрітись оператор присвоювання, який містить її ім’я в лівій частині.

Функція активізується за допомогою виклику функції або обчислення. Виклик функції містить ідентифікатор функції і необхідні фактичні параметри. Функція виконується при обчисленні виразу, а значення операнду стає значенням, що пов

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по астрономии Тема . Програмування допоміжних алгоритмів 1. Процедури-оператори. Раніше були розглянути стандартні процедури та функції, які надавали досить
Оценок: 1006 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru