Паскаль это программа begin end

Содержание

Модуль(UNIT) в Pascal – это особым образом оформленная библиотека подпрограмм. Модуль, в отличие от программы, не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей.

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

Все программные элементы модуля можно разбить на две части:

1) программные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля;

2) программные элементы, необходимые только для работы самого модуля, их называют невидимыми (или скрытыми).

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

Рекурсивное использование модулей запрещено. Перечислим, какие бывают виды модулей.

1. Модуль SYSTEM.

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

pascal «Лишние» begin end — когда да, а когда нет, разрбор

Модуль Dos реализует многочисленные процедуры и функции Pascal, которые эквивалентны наиболее часто используемым вызовам DOS, как, например, GetTime, SetTime, DiskSize и так далее.

Модуль CRT реализует ряд мощных программ, предоставляющих полную возможность управления средствами компьютера РС, такими, как управление режимом экрана, расширенные коды клавиатуры, цвета, окна и звуковые сигналы.

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

5. Модуль OVERLAY.

Модуль OVERLAY позволяет уменьшить требования к памяти программы DOS реального режима.

Алгоритмы нахождения минимального и максимального чисел.

. нахождение максимального числа из n введенных чисел.

for i:=1 to n do begin

if a>=max then max:=a;

Давайте рассмотрим простой пример:

Презентация на тему Язык программирования Pascal

Программа — это упорядоченный список команд, необходимых для решения некоторой задачи. Языком программирования называют систему обозначений, служащую в целях точного описания алгоритмов для ЭВМ. Эти языки являются искусственными языками со

  • Главная
  • Разное
  • Язык программирования Pascal

Слайды и текст этой презентации

Слайд 1Язык программирования Pascal

Язык программирования Pascal

Слайд 2Программа — это упорядоченный список команд, необходимых

для решения некоторой задачи.
Языком программирования называют

систему обозначений, служащую в целях точного описания алгоритмов для ЭВМ. Эти языки являются искусственными языками со строго определенным синтаксисом.

Программа — это упорядоченный список команд, необходимых для решения некоторой задачи.

Как установить Pascal для подготовки к ОГЭ и ЕГЭ

Слайд 3Интегрированная система Турбо Паскаль состоит из языка

программирования и среды программирования. В эту систему

входят:
текстовый редактор;
компилятор;
компоновщик;
загрузчик.

Интегрированная система Турбо Паскаль состоит из языка программирования и среды программирования. В

Слайд 4Интегрированная среда Турбо Паскаль запускается программой TURBO.EXE

(Вр.ехе). После успешного вызова системы экран ПК

приобретает вид, показанный ниже.

Интегрированная среда Турбо Паскаль запускается программой TURBO.EXE (Вр.ехе). После успешного вызова системы

Слайд 5Алфавит и некоторые основные операторы языка Pascal
Алфавит

языка Паскаль включает буквы, цифры, шестнадцатеричные цифры,

специальные символы, пробелы и зарезервированные слова.
Буквы — это буквы латинского языка, а также знак подчеркивания. Паскаль не различает прописные и строчные буквы, если только они не используются в качестве данных программы.

Алфавит и некоторые основные операторы языка Pascal Алфавит языка Паскаль включает буквы,

Слайд 6Цифры — арабские цифры от 0 до

9.
Каждая шестнадцатеричная цифра имеет значение от 0

Слайд 7Идентификаторы — это имена констант, переменных, меток,

типов, объектов, процедур, модулей, функций и других

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

Идентификаторы — это имена констант, переменных, меток, типов, объектов, процедур, модулей, функций

Слайд 8Константы. В качестве констант в Паскале могут

использоваться целые вещественные и шестнадцатеричные числа, логические

константы, символы, строки символов.
Целые числа могут принимать значения от -231 до (231- 1). Если целочисленная константа выходит за рамки указанного диапазона, то компилятор выдает сообщение об ошибке.
Вещественные числа записываются с использованием десятичной точки и/или экспоненциальной части.
Символьная константа — это любой символ ПК, заключенный в апострофы. Например: ‘z’ — символ z.

Читайте также:
Кто создал программу access

Константы. В качестве констант в Паскале могут использоваться целые вещественные и шестнадцатеричные

Слайд 9Переменные можно сравнить с устройством, способным хранить

элемент информации, например, число. Во время выполнения

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

Переменные можно сравнить с устройством, способным хранить элемент информации, например, число. Во

Слайд 10Операция присваивания.
В результате присваивания переменная получает

конкретное значение.
Имя Пременной:=Выражение
:= — оператор присваивания

Операция присваивания. В результате присваивания переменная получает конкретное значение. Имя

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

выражения, находящегося справа от символа «:=»;
вычисленное значение

записывается в переменную, имя которой стоит слева от символа «:=».
Пример.
Counter:=0;
Pi:=3.1415926;
z:=(rl+r2)/(r2*rl);
d:=b*b-4*c*a;

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

Слайд 12Выражение состоит из операндов и операторов. Операторы

находятся между операндами.
Операндами выражений могут быть

числа (константы) и переменные.
Операторы обозначают действия, выполняемые над операндами.

Выражение состоит из операндов и операторов. Операторы находятся между операндами. Операндами

Слайд 13Арифметические операторы, которые применяются для записи алгебраических

выражений на Паскале:

Арифметические операторы, которые применяются для записи алгебраических выражений на Паскале:

Слайд 14Правила выполнения операторов:
Операторы *,/, div, mod имеют

более высокий приоритет и выполняются раньше ,

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

Правила выполнения операторов: Операторы *,/, div, mod имеют более высокий приоритет и

Слайд 15Пример.
Математическая запись функции имеет вид:

функции на Паскале:

Пример. Математическая запись функции имеет вид: Запись

Слайд 16Cтруктура программы на языке Pascal
Любая программа (или

программная единица — процедура или функция) на

Паскале состоит из трех основных разделов:
Раздел заголовка
Раздел описаний
Раздел исполняемых операторов (тело программы)

Cтруктура программы на языке Pascal Любая программа (или программная единица — процедура

которого следует собственно имя программы. В конце

обязательно ставится знак ;.
Описание переменных начинается с зарезервированного слова VAR, а описание констант (если они используются) — CONST.
Тело программы — раздел исполняемых операторов. Оформляется операторными скобками:
begin . end. Все операторы, реализующие алгоритм, должны помещаться между этими операторными скобками.

Слайд 18Структура программы Pascal имеет вид:
Program ИмяПрограммы;
Var . ;
Begin


End.

Структура программы Pascal имеет вид: Program ИмяПрограммы; Var . ; Begin … End.

Слайд 19Типы данных языка Паскаль
Для всех переменных в

программе должен быть определен их тип.
Целый

— Integer — значением переменной этого типа может быть целое число из отрезка
[-32768; 32767].
Вещественный — Real — значением переменной этого типа может быть вещественное число, модуль которого принадлежит отрезку [2,9 • 10-39; 1,7 • 108].
Логический — Boolean — переменная этого типа может принимать только два значения: истина (true) или ложь (false).
Символьный — Char — значением переменной этого типа может быть любой символ из набора ASCII-символов.

Типы данных языка Паскаль Для всех переменных в программе должен быть определен

Слайд 20

Слайд 21Составной оператор — это последовательность произвольных операторов

программы, заключенная в операторные скобки — зарезервированные

слова Begin . end.
Begin

begin


end;

end
End.
Символ «;» называется пустым оператором и означает окончание предшествующего ему оператора.

Составной оператор — это последовательность произвольных операторов программы, заключенная в операторные скобки

Слайд 22Операторы
Оператор вывода – Write( ); или Writln(

)
Оператор ввода – Read( ); или Readln(

Для вывода вещественного значения используют форматы вывода.
Например: Write(D:5:2 ), где первая цифра – количество знаков в числе, вторая – количество знаков после запятой.

Операторы Оператор вывода – Write( ); или Writln( ) Оператор ввода –

Слайд 23Линейный алгоритм
Задание. Составить программу.
Даны переменные А

и В. Требуется обменять их значения, т.е.

переменная А должна получить значение В, а В — значение А.

Линейный алгоритм Задание. Составить программу. Даны переменные А и В. Требуется

Слайд 24Оператор условного перехода
if then ;

if then

if then
begin end;
else begin ; end;

Оператор условного перехода if then ; if then

Слайд 25Ветвящийся алгоритм
Задание. Составить программу.
Вычислить значение Y:

Слайд 26Оператор цикла с параметром
а) шаг равен +1
For :=

to do ;

б) шаг равен -1
For

Оператор цикла с параметром а) шаг равен +1 For := to do

Слайд 27Оператор цикла с параметром
Пример.
Вычислить сумму натуральных чисел:

S=1+2+3+…+N.

Program Sum1;
var n:integer;
Begin

write(n);
readln(n);
S:=0;
for i:=1 до n
do S:=S+i;
writeln(S);
End.

Оператор цикла с параметром Пример. Вычислить сумму натуральных чисел: S=1+2+3+…+N. Program

Слайд 28Оператор цикла с постусловием
repeat
;
;

Оператор цикла с постусловием repeat ; ; … until ;

Слайд 29Оператор цикла c постусловием
Пример. Составить программу, которая

вводит символ и выводит на экран его

код.
Функция Ord(ch) – возвращает код символа ch в ASCII-таблице

Program Symbol;
var ch:char;
const Cr=13;
Begin
repeat
write(ch);
readln(ch);
writeln(Ord(ch));
until Ord(ch)=Cr;
End.

Оператор цикла c постусловием Пример. Составить программу, которая вводит символ и выводит

Слайд 30Оператор цикла с предусловием
while do ;

Оператор цикла с предусловием while do ;

Слайд 31Оператор цикла с предусловием
Пример.
Дано натуральное число N.

Просуммировать это число 5 раз.

var k,N,S:integer;
Begin
write (N);
readln(N);
S:=0;
k:=0;
while k

Слайд 32Для управления работой циклическими операторами существуют две

процедуры:
BREAK — немедленный выход из цикла, управление

передается оператору, стоящему сразу после тела цикла;
CONTINUE — обеспечивает досрочное прохождение цикла, эквивалентна передаче управления в конец циклического оператора.

Источник: thepresentation.ru

Объявление процедур и функций без параметров

Вызов процедуры без параметров осуществляется по имени данной процедуры в теле программы. Имя процедуры воспринимается как оператор. При выполнении этого оператора выполняется вся подпрограмма.

function MyCoolFunc: String;
begin
MyCoolFunc:= ‘Hello, world!’;
end;

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

Определение процедуры, основные особенности работы

Процедура — это часть программы, в которой выполняется специфическое действие, обычно основанное на наборе параметров.

В заголовке процедуры определяются ее идентификатор и набор формальных параметров (если таковые есть).

Процедура вызывается с помощью процедурного оператора.

· разделом описаний, в котором объявляются локальные объекты

· операторами, находящимися между Begin и End, которые определяют, что должно быть выполнено при вызове процедуры.

Определение функции, основные особенности работы

Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.

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

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

var …; function название (параметры): тип результата; var…; begin … название:=результат; end; begin … end.

Области видимости процедур и функций

  • Имена объектов, описанных в некотором блоке, считаются известными в пределах данного блока, включая и все вложенные блоки.
  • Имена объектов, описанные в блоке, должны быть уникальными в пределах данного блока и могут совпадать с именами объектов из других блоков.
  • Если в некотором блоке описан объект, имя которого совпадает с именем объекта, описанного в объемлющем блоке, то последнее становится недоступным в данном блоке (экранировка).
Читайте также:
Государственная программа субсидирования это

Пример:
Program X;
Var
I,j:integer;
z:real;

Procedure x1(i:integer;);
Var
j:integer;
begin
End;
Begin
End;

Procedure x2;
Var
z:integer;

Procedure x3(z:string);
Begin
End;

Function y4(z:string):integer;
Begin
End;

Оформление исходного текста процедур и функций

Структурирование текста отступами («лесенка»). Правильно подобранные («мнемонические») имена пользовательских типов, процедур и функций, переменных, констант.

Все глобальные имена – пользовательские типы, процедуры и функции, глобальные переменные, глобальные константы, модули, имена программ, имена файлов и т.п. – обязательно должны быть достаточно длинными и осмысленными. Причем чем реже в программе используется имя, тем больше оно должно содержать символов. Локальные имена должны быть осмысленными. Существует ряд имен, использование которых общепринято: счетчики цикла – i, j, k …, сумма – s (или sum), координаты – x, y и т.п.

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

Явная и неявная рекурсия

Прямая или явная рекурсия характеризуется существованием в теле процедуры оператора обращения к самой себе.

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

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

сначала задаются прототипы подпрограмм с параметрами, за которыми вместо тела подпрограммы следует forword;

затем описываются тела этих подпрограмм (причем параметры второй раз можно уже не описывать).

Типизированные константы

Типизированные константы представляют собой фактически переменные с начальным значением, которые инициализируются (принимают указанное в описании значение) при запуске программы. В отличие от значений локальных переменных, которые теряются при выходе из подпрограммы, типизированные константы сохраняют свои значения между вызовами подпрограммы. Это связано с тем, что типизированные константы размещаются в памяти так же, как и глобальные переменные программы. Локальные же переменные располагаются во временной области памяти, называемой стеком.

В Паскале типизированные константы задаются в разделе объявления констант следующим образом:

Здесь – идентификатор константы;

Типизированные константы могут быть любого типа, кроме файлов. Фактически они ничем не отличаются от переменных и могут использоваться в левой части оператора присваивания. Их нельзя использовать в качестве значения при объявлении других констант или границ типа-диапазона.

II. Файлы

III. Модули

Стандартные модули Паскаль

В Турбо Паскале имеется 8 стандартных модулей, в которых содержится множество различных типов, констант, процедур и функций. Этими модулями являются SYSTEM, DOS, CRT, GRAPH, OVERLAY, TURBO3, GRAPH3. Модули Паскаля GRAPH, TURBO 3, GRAPH 3 выделены в отдельные TPU -файлы, а остальные входят в состав библиотечного файла TURBO. TPL. Лишь один модуль Паскаля SYSTEM подключается к любой программе автоматически, все остальные становятся доступны только после указания их имен в списке подключаемых модулей.

Модуль Паскаля SYSTEM. В него входят все процедуры и функции стандартного Паскаля, а также встроенные процедуры и функции, которые не вошли в другие стандартные модули (например, INC, DEC, GETDIR и т.п.). Модуль Паскаля SYSTEM подключается к любой программе независимо от того, объявлен ли он в предложении USES или нет, поэтому его глобальные константы, переменные, процедуры и функции считаются встроенными в Турбо Паскаль.

Модуль Паскаля PRINTER делает доступным вывод текстов на матричный принтер. В нем определяется файловая переменная LST типа TEXT, которая связывается с логическим устройством PRN. После подключения данного модуля Паскаля можно выполнить, например, такое действие:

Пример стандартного модуля Паскаля

Uses printer;
Begin
Writeln(lst, ‘ Турбо Паскаль ‘);
End.

Модуль Паскаля CRT. В нем сосредоточены процедуры и функции, обеспечивающие управление текстовым режимом работы экрана. С его помощью можно перемещать курсор в любую точку экрана, менять цвет выводимых символов и фона, создавать окна. Кроме того, в данный модуль включены также процедуры «слепого» чтения клавиатуры и управления звуком.

Модуль Паскаля GRAPH. Содержит набор типов, констант, процедур и функций для управления графическим режимом работы экрана. Этот модуль позволяет создавать различные графические изображения и выводить на экран надписи стандартными или созданными программистом шрифтами.

Модуль Паскаля DOS. В модуле собраны процедуры и функции, открывающие доступ к средствам дисковой операционной системы MS — DOS.

Модуль Паскаля OVERLAY. Данный модуль необходим при разработке громоздких программ с перекрытиями. Турбо Паскаль обеспечивает создание программ, длина которых ограничивается лишь основной оперативной памятью. Операционная система MS — DOS оставляет программе около 580 Кбайт основной памяти. Память такого размера достаточна для большинства исполняемых программ, тем не менее, использование программ с перекрытиями снимает это ограничение.

IV. Указатели

Основные понятия, типы указателей, объявление

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

* Если ваша программа работает с большими объемами данных (общий объем которых превышает 64К).

* Если ваша программа во время компиляция использует данные неизвестного размера.

* Если программа использует временные буферы данных.

* Если ваша программа работает с несколькими типами данных.

* Если ваша программа использует связанные списки данных или объектов.

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

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

Могут быть типизированными или нетипизированными. Типизированные указатели — указатели, которые ссылаются на область данных фиксированного типа.

Для описания используется символ ^.

Схема объявления указателя:

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

Читайте также:
Переключить язык на клавиатуре программа

Такие указатели определяются с помощью предопределенного идентификатора Pointer.

2. Способы задания значений переменных

Чтобы хранить указатели, вам требуется переменная-указатель, а для создания переменной-указателя вам необходим ссылочный тип (или тип «указатель»). Простейшим ссылочным типом является стандартный тип с именем Pointer. Переменная типа Pointer — это общий (нетипизированный) указатель, то есть, просто адрес. Он не содержит информации о том, на что он указывает.

Таким образом, чтобы использовать тот же пример SomeNumber, вы можете присвоить его адрес переменной-указателю:

Нетипизированные указатели в Паскале не используются, поскольку они очень ограничены. Они наиболее полезны, когда указываемый элемент будет изменяться, так как нетипизированный указатель совместим с любым другим указателем. Типизированные указатели значительно более полезны, и как вы узнаете в следующем разделе, они более надежны.

V. Объекты

1. ООП, основные понятия и определения

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

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

• Объекты относятся к соответствующим типам (классам).

• Типы (классы) могут наследовать атрибуты от супертипов (суперклассов).

К базовым принципам объектно-ориентированного стиля программирования относятся:

пакетирование или инкапсуляция;

Достоинства и недостатки

1. спользование более естественных с точки зрения обычной повседневной практики понятий, простота введения новых понятий;

2. упрощение разработки многократно используемых компонент приложений;

3. некоторое сокращение размера программ за счет того, что повторяющиеся (наследуемые) свойства и действия можно не описывать многократно; кроме того, использование динамических объектов позволяет более эффективно распределять оперативную память;

4. возможность создания библиотеки классов; в частности, библиотека визуальных компонент Delphi и является примером такой библиотеки;

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

6. возможность написания подпрограмм с различными наборами формальных параметров, но имеющих одно и то же имя;

7. более четкая локализация свойств и поведения объектов конкретного класса в одном месте (используется свойство инкапсуляции), позволяющая проще разбираться со структурой программы, отлаживать ее, находить ошибки;

8. возможность разделения доступа к различным объектам программы и т. д.

1. Умеренное быстродействие программы

2. Эффективна для больших программ

Наследование

Если объектный тип создается «на базе» другого существующего объекта, то имя родительского типа должно быть указано в скобках после слова object при описании потомка:

Как уже говорилось выше, такие объекты автоматически наследуют от родителя его поля и методы. Поля могут быть добавлены (но не переопределены), а методы переопределены и добавлены.

Создадим новый объект — точку на основе существующего объекта — позиции на графическом экране. Новый объект, кроме координат, будет характеризоваться еще и цветом, может быть видимым или невидимым, перемещаться по экрану. Для этого нам понадобится добавить два свойства и несколько методов, а также переопределить методы Init и Done:

Type TPoint = object(TLocation) Clr: Byte; Visib: Boolean; Procedure Init (InitX, InitY:Word; InitColor:Byte); Function GetColor: Byte; Function IsVisib: Boolean; (Возвращает видимость> Procedure Show; Procedure Hide; Procedure ChangeColor(NewColor: Byte); Procedure MoveTo(NewX, NewY: Word); Procedure Done; end;

Теперь напишем реализацию методов:

Procedure TPoint.Init (InitX, InitY:Word; InitColor:Byte); begin X:= InitX; Y:= InitY; Clr:= InitColor; Visib:= False end;

Как видите, этот метод добавляет новую функциональность по сравнению с предыдущим. Первые две строки тела метода повторяют (причем полностью) операторную часть метода Init объекта TLocation, две следующие — новые. И хотя такой вариант переопределения метода тоже работоспособен, в данном случае его можно упростить с помощью такого механизма, как вызов метода непосредственного родителя из метода потомка. Для этого в Turbo Pascal есть специальное зарезервированное слово inherited (в переводе с английского — унаследованный), которым мы и воспользуемся:

Procedure TPoint.Init (InitX, InitY:Word; InitColor:Byte); begin inherited Init(InitX, InitY); Clr:= InitColor; Visib:= False end;

Как видите, этот метод добавляет новую функциональность по сравнению с предыдущим. Первые две строки тела метода повторяют (причем полностью) операторную часть метода Init объекта TLocation, две следующие — новые. И хотя такой вариант переопределения метода тоже работоспособен, в данном случае его можно упростить с помощью такого механизма, как вызов метода непосредственного родителя из метода потомка. Для этого в Turbo Pascal есть специальное зарезервированное слово inherited (в переводе с английского — унаследованный), которым мы и воспользуемся:

Procedure TPoint.Init (InitX, InitY:Word; InitColor:Byte); begin inherited Init(InitX, InitY); Clr:= InitColor; Visib:= False end;

Текст стал несколько короче. Это будет особенно заметно при дальнейшем наследовании. Вместо слова inherited можно указать имя объекта-родителя: TLocation.Init(InitX, InitY);

Function TPoint.GetColor: Byte; begin GetColor:= Clr; end; Procedure TPoint.Show; begin Graph.PutPixel(X, Y, Clr); Visib:= True end; Procedure TPoint.Hide; begin Graph.PutPixel(X, Y, Graph.GetBkColor); Visib:= False end; Procedure TPoint.IsVisib: Boolean; begin IsVisib:= Visib end; Procedure TPoint.ChangeColor(NewColor: Byte); begin Clr:= NewColor; If IsVisib then Show end; Procedure TPoint.MoveTo(NewX, NewY: Word); Var Status: Boolean; begin Status:= IsVisib; Hide; X:= NewX; Y:= NewY; If Status then Show end; Procedure TPoint.Done; begin Hide; Clr:= Graph.GetBkColor end;

Дочерний объектный тип «точка» — потомок родительского объекта «позиция» создан.

I. Процедуры и функции

Объявление процедур и функций без параметров

Вызов процедуры без параметров осуществляется по имени данной процедуры в теле программы. Имя процедуры воспринимается как оператор. При выполнении этого оператора выполняется вся подпрограмма.

function MyCoolFunc: String;
begin
MyCoolFunc:= ‘Hello, world!’;
end;

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

Источник: cyberpedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru