II.2 Структурное и объектно-ориентированное программирование — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

II.2 Структурное и объектно-ориентированное программирование

2020-04-01 105
II.2 Структурное и объектно-ориентированное программирование 0.00 из 5.00 0 оценок
Заказать работу

Рассмотрим идею структурного и объектно-ориентированного программирования с использованием языка Pascal.

Возможность структурного программирования в ТП 7.0 заключается в разделении программы на меньшие программы, оформив последние как процедуры и функции.

При создании процедур или функций пытаются достичь целей:

1. разделения некоторой большой общей задачи на несколько меньших по объему и сложности частных задач;

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

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

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

 

Структура процедуры, функции:

Раздел объявлений и соглашений

PROCEDURE (FUNCTION) Имя процедуры (функции) со списком параметров;
LABEL Подраздел объявления локальных меток;
CONST Подраздел объявления локальных констант;
TYPE Подраздел объявления локальных типов;
VAR Подраздел объявления локальных переменных;

Раздел вложенных процедур и функций

PROCEDURE (FUNCTION) Имя вложенной процедуры (функции)
LABEL Подраздел объявления локальных меток;
CONST Подраздел объявления локальных констант;
TYPE Подраздел объявления локальных типов;
VAR Подраздел объявления локальных переменных;
BEGIN  

Раздел основного блока процедуры или функции

END;  

 

Непосредственно текст процедуры располагается в разделе объявлений и соглашений основной программы перед оператором BEGIN основной программы. Завершается описание процедуры оператором END;. Начинается блок описания процедуры (функции) оператором BEGIN.

Процедура может содержать также при необходимости и вложенные процедуры, описанные согласно структуре.

Все переменные, метки, константы, типы, описанные внутри процедуры (функции), называемые локальными, доступны только внутри ее, но не в основной программе. Глобальные переменные, типы, константы, метки можно использовать внутри процедуры (функции).

Объявление процедуры:

PROCEDURE <Имя процедуры> (Список параметров);

Список параметров может отсутствовать.

Объявление функции:

FUNCTION <имя функции>(Список параметров):<Тип возвращаемого результата>;

Список параметров может отсутствовать.

Вызов процедуры (функции) в основной программе выполняется командой:

<Имя процедуры>(Список параметров);

<Имя функции>(Список параметров);

Если в описании процедуры (функции) список параметров отсутствует, то вызов последней выполняется просто командой:

<Имя процедуры>;

<Имя функции>;

Пример: PROCEDURE INPUT(VAR P1:Integer; P2,P3:Byte);

Здесь: P1 – параметр-переменная,P2,P3 – параметры-значения, INPUT – имя процедуры.

Перед параметром-переменной всегда ставится VAR. Это значит, что при выполнении процедуры параметр P1 может изменяться в отличие от параметров P2,P3, поглощаемых процедурой.

Рассмотрим пример задачи: сложение двух целых чисел.

1 вариант решения задачи

Program Summa;

Uses Crt;

Var A,B,S: LongInt;

Procedure SSS(Var SUM:LongInt; A,B:LongInt);

Begin

SUM:=A+B;

End;

Begin {Основной блок программы}

ClrScr;

Write(‘Введите числа а и b=’);

ReadLn(A,B);

{Вызов процедуры SSS для поиска суммы}

SSS(S,A,B); {В глобальную переменную S считывается значение локальной переменной Sum вызываемой процедуры, значения А и В «поглощаются» процедурой для суммирования}

WriteLn(‘Сумма А+В=’,S);

ReadKey;

End.

2 вариант решения задачи

Program Summa;

Uses Crt;

Var A,B,S: LongInt;

Function SSS(A,B:LongInt):LongInt;

Begin

SSS:=A+B;

End;

Begin {Основной блок программы}

ClrScr;

Write(‘Введите числа а и b=’);

ReadLn(A,B);

{Вызов функции SSS для поиска суммы}

S:=SSS(A,B); {В переменную S считывается значение функции SSS, переменные A,B – параметры, необходимые для суммирования}

WriteLn(‘Сумма А+В=’,S);

ReadKey;

End.

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

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

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

В основе ООП лежат три основных понятия:

- наследование: данный объект может наследовать свойства объекта и добавлять свойства, характерные только для данного объекта; в рассмотренном выше примере объект «геометрическая фигура» является объектом-предком, включающий в себя остальную иерархию объектов-потомков. Здесь все свойства и методы объекта-предка могут быть использованы объектами-потомками.

- инкапсуляция: объединение данных и методов (процедур и функций) в одно целое – объект;

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

Объект – определяемый пользователем тип, содержащий в себе как данные, так и подпрограммы для их обработки. Данные объекта называют полями, а подпрограммы для их обработки – методами объекта.

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

Данные типа объект в программе описываются в разделе описания типов TYPE:

TYPE

{Описание полей объекта}

<Имя>=OBJECT

<поле 1>:<Тип 1>;

<поле 2>:<Тип 2>;

………………..

<поле N>:<Тип N>;

{Описание методов объекта}

PROCEDURE <Имя метода 1>[(параметры)];

……………………..

FUNCTION <Имя метода N>[(параметры)]:<Тип>;

END;

Требования, предъявляемые к полям и методам объекта:

1) Необязательное: поля объекта обрабатываются только с помощью его методов.

2) Обязательное: поля объекта являются параметрами по умолчанию для его методов, т.е. не допускается указание в списке параметров-переменных с такими же именами как и поля.

Описание методов объектов производится по составному имени:

имя объекта. имя метода:

<имя объекта>.<имя метода> [(параметры)];

Begin

<список команд>;

End;

Переменная типа объект называется экземпляром объекта.

Переменная типа объект описывается в разделе описания переменных VAR:

VAR <имя экземпляра>:<имя объекта>;

В основной программе доступ к полям и методам экземпляра объекта производится по составному имени:

<имя экземпляра>:<имя метода>; - обращение к методу экземпляра,

<имя экземпляра>:<имя поля>; - обращение к полю (переменной) экземпляра.

 


Заключение

 

Даже при наличии десятков тысяч программ для ЭВМ пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать системы программирования, т.е. системы для разработки новых программ.

Современные системы программирования для персональных компьютеров обычно предоставляют пользователю весьма мощные и удобные средства для разработки программ. В них входят:

ü компилятор, осуществляющий преобразование программ на языке программирования в программу машинных кодах, или интерпретатор, осуществляющий непосредственное выполнение текста программы на языке программирования высокого уровня;

ü библиотеки программ, содержащие заранее подготовленные программы, которыми могут пользоваться программисты;

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

Системы программирования, прежде всего, различаются, естественно, по тому, какой язык программирования они реализуют. Среди программистов пишущих программы для персональных компьютеров, наибольшей популярностью пользуются языки Си, Си++, Паскаль, Visual Basic, Delphi.

 


Список использованной литературы

 

1. Информатика и математика для юристов: Учебное пособие для вузов (Гриф МО РФ) / Под ред.проф. Х.А.Андриашина, проф. С.Я.Казанцева – М.:Юнити-Дана, 2006.- 463 с.

2. Информатика и математика: Учебник / Под ред. Д.В. Захарова, 2007.

3. Информатика: Учебник (Гриф МО РФ) / Каймин В.А.,2-е изд. перераб. И доп.- М: Инфра-М., 2004.- 272 с.

4. Информатика: Учебник (Гриф МО РФ) / Под ред. Н.В.Макаровой, 3-е изд., перераб. и доп. – М.: Финансы и статистика, 2007.- 768 с.

5. Информатика: Учебник для вузов (Гриф МО РФ) / Острейковский В.А., М: Высшая школа, 2001.- 511 с.

6. Математика и информатика / Турецкий В.Я. – 3-е изд., испр. И доп. – М.: Инфра-М, 2004.- 560 с.

7. Основы информатики и математики для юристов. В 2-х томах: краткий курс в таблицах, схемах и примерах. Учебник / Богатов Д.Ф., Богатов Ф.Г.- М.: Приор, 2004.- 144 с., 166 с.

8. Бобровский С.И. Delphi. Учебный курс – СПб.: Питер, 2005. – 736 с.: ил.

9. Турбо Паскаль 7.0 – К.: Торгово-издательское бюро BHV, 2006 – 448 с.: ил.

10. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. – М.: Мастерство; НМЦ СПО; Высшая школа, 2003. – 432 с.

11. Дагене В.А., Григас Г.К., Аугутис К.Ф. 100 задач по программированию. – М.: Просвещение, 2003.

12. Гофман В., Хомоненко А Delphi. – СПб.: БХВ – Санкт-Петербург, 2006. – 800.


Поделиться с друзьями:

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

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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.036 с.