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

Вопрос 7. При запуске Паскаля всё время появляется старая программа и приходится закрывать окно с этим текстом и открывать свежее. Как от этого избавится?

После того, как вы открыли "свежее", сделайти следующие действия: F10-Options-Save. Теперь каждый раз при запуске у вас бедет открываться новое окно.

Вопрос 8. В рассылке n11 Вы рассказывали про форматный вывод .Чтобы реализовать это, мы приписывали к переменной, стоящей в процедуре два числа, разделив их двоеточием: Write('Real: ', a:5:2);

После запятой цифры реагируют на команду, а вот до запятой совершенно не реагирует.

А теперь попробуйте:

var

a:array[1..10]of real;

................

begin

...............

for i:=1 to 10 do write(a[i]);

writeln;

for i:=1 to 10 do write(a[i]:10:4);

writeln;

for i:=1 to 10 do write(a[i]:5:4);

...............................

end.

И почуствуйте разницу

Вы давно знакомы с понятием процедуры и функции языка Паскаль, а также разницей между ними. Однако до сегодняшнего дня я не рассказывал о том, как можно создавать собственные процедуры и фукнции. Зачем они нужны? Давайте зададимся этим вопросом и на примерах постараемся в нем разобраться.

Для начала попробуем поставить себе задачу. Пусть необходимо написать программу, в которой будет определенная, часто повторяющаяся, последовательность действий. К примеру, сложение двух чисел.

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

Что же такое подпрограмма? Подпрограмма (процедура, функция) - это оформленная обособленно часть программы, к которой потом можно обратиться из любого места основной программы (вызвать ее). Написать и использовать подпрограмму очень просто. При этом она будет обладать следующими свойствами:

  • Подпрограмма - это фактически отдельная программа. Она может иметь свои переменные, метки, константы, равно как и вложенные подпрограммы.

  • Она может использовать переменные, общие для всей программы (глобальные переменные), с учетом того, что они были описаны в основной программе до самой подпрограммы.

  • Если подпрограмма - функция, она может использоваться внутри стандартных конструкций, в качестве параметра для процедур, присваиваться переменным и т.д., то есть обладает всеми возможностями функций.

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

Создание своих процедур

Создаваемая процедура в Паскале имеет следующие элементы:

  • Служебное слово Procedure;

  • Собственное имя, по которому она будет использоваться в программе. Оно идет после служебного слова Procedure

  • Параметры, передаваемые программе (необязательно).

  • Свои разделы var, const, label (необязательно).

 Собственный раздел begin - end, причем end - это конец подпрограммы. После него всегда ставиться точка с запятой: ";"

 Внутри этой конструкции - любые элементы языка: циклы, сравнения, дополнительные блоки begin - end.

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

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

    1. Числа, переданные как параметры складываются друг с другом;

    2. Получившееся значение выводиться на экран;

  2. Сделаем цикл repeat - until. Внутри след. действия:

    1. Запрашиваем 1-е число;

    2. Запрашиваем 2-е число;

    3. Вызываем нашу процедуру, передав ей в качестве параметров эти два числа;

    4. Спрашиваем - повторить?

  3. Цикл повторяется, пока ответ "ДА".

Вот такая вот простая программка. Исходный код:

Program P1;

uses Crt;

Procedure Add(a, b: Integer);

var

C: Integer;

begin

C := A + B;

Write(C);

end;

var

N1, N2: Integer;

C: Char;

begin

repeat

{ Очищаем экран }

ClrScr;

{ Читаем переменные }

Write('Введите число N1: ');

Readln(N1);

Write('Введите число N2: ');

Readln(N2);

Writeln;

{ Вызываем нашу процедуру }

Add(N1, N2);

{ Спрашиваем - Выйти? }

Writeln;

Write('Выйти? (Y/N): ');

Readln(C);

until UpCase(C) = 'Y';

end.

Теперь давайте разберемся, как создается процедура.

В первую очередь, посморите на служебное слово Procedure. Это и есть подпрограмма, являющаяся в нашем случае процедурой (помните, есть еще функции). Дальше идет имя процедуры - Add, по этому имени мы обращаемся к ней в программе.

Следующий шаг - определение параметров, передаваемых процедуре. Они указываются в скобках сразу после имени, причем в следующем формате:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]