Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы завершения цикла




Итерационные циклы с постусловием

Итерационные циклы с предусловием

Синтаксис:

while выражение do оператор

Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while.

Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.

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

Пример.

eps:=0.001;while x > eps do x:=x/2;

 

Синтаксис:

repeat оператор; оператор;... операторuntil выражение

Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла.

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

Пример.

repeat WriteLn('Введите положительное число'); ReadLn(x);until x>0;

 

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

В версии Турбо Паскаль 7.0 определены стандартные процедуры:

BreakContinue

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

Заметим, что хотя и существует возможность выхода из цикла с помощью оператора безусловного перехода goto, делать этого не желательно. Во всех случаях можно воспользоваться специально предназначенными для этого процедурами Break и Continue.

Процедуры и функции в Паскале. Подпрограммы на языке Турбо Паскаль Подпрограмма самостоятельный фрагмент программы, реализующий определенный алгоритм и допускающий многократное обращение к нему из различных частей программы. В языке Турбо-Паскаль существует большой набор стандартных (библиотечных) процедур и функций. Процедуры и функции содержатся в стандартных модулях и подключаются к любой программе либо с помощью предложения Uses (например: CRT, GRAPH и др.) либо автоматически (например, System). Принципы хорошего стиля программирования требуют широкое использование собственных подпрограмм, которые составляются и используются также как и библиотечные. Применение подпрограмм позволяет использовать современные технологии конструирования программ: структурное, модульное, объектное. А также использовать современные методы проектирования т.н. нисходящее проектирование. При этом сложная задача разбивается на ряд подзадач, для каждой из которых составляется набор подпрограмм, из которых компонуется общая программа. Язык Турбо-Паскаль содержит два типа подпрограмм: Процедуры. Функции. Процедуры в Паскале Структура процедуры аналогична структуре программы и состоит из заголовка и блока (тела процедуры). PROCEDURE <имя>(<сп. форм. пар.>); <блок> где PROCEDURE – зарезервированное слово процедура; <имя> - имя процедуры, является уникальным, выбирается по общим пра- вилам, желательно чтобы оно отражало смысл процедуры; <сп. форм. пар.> - список формальных параметров т.е. список имен обозначаю- щих исходные данные и результат работы процедуры с указани- ем их типов; <блок> - тело процедуры представляющее разделы описаний и раздел операторов, представляющий составной оператор (совокупность операторов, заключенных в операторные скобки BEGIN END). Разделы описаний процедуры содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). Глобальные объекты – это объекты, описанные в разделах описаний основной программе. Областью их действия является программа и все, содержащиеся в ней подпрограммы. Локальные объекты – это объекты, описанные в разделах описаний подпрограммы. Областью их действия является подпрограмма и все содержащиеся в ней подпрограммы низшего уровня. Локальные описания отменяют глобальные. Оператор вызова процедуры активизирует процедуру. Он имеет вид: <имя>(<сп. факт. пар.>); где: <имя> - имя процедуры; <сп. факт. пар.> - список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в подпрограмму, а так же возвращаемые результаты обработки. Список фактических параметров может отсутствовать. Между формальными и фактическими параметрами существует взаимно - однозначное соответствие по количеству, порядку следования и типу. Виды параметров в Паскале Различают четыре вида параметров: - параметры- значения; - параметры- переменные; - параметры- процедуры; - параметры- функции. Параметры- значения – используются для передачи исходных данных в подпрограмму. Формальные параметры при этом записываются через запятую с указанием их типов. Они получают значения фактических параметров, но не могут передавать свои значения фактическим параметрам. Параметры- переменные – играют роль как входных, так и выходных (возвращаемых) параметров процедуры. В списке формальных параметров они перечисляются после слова Var с указанием их типов. Параметры- процедуры – указываются после слова Procedure. Параметры- функции -. указываются после слова Function. Функции в Паскале Структура описания и механизм использования функции аналогичен процедуре с учетом некоторых особенностей. Описание состоит из заголовка и блока (тела функции). FUNCTION <имя>(<сп. форм. пар.>):<тип>; <блок>; где: FUNCTION – зарезервированное слово функция; <имя> - имя функции, является уникальным, выбирается по общим правилам, желательно чтобы оно отражало смысл функции; <сп. форм. пар.> - список формальных параметров т.е. список имен обозначающих исходные данные функции с указанием их типов; <тип> - тип результата возвращаемого функцией и присваиваемого имени функции; <блок> - тело процедуры представляющее разделы описаний и раздел операторов, представляющий составной оператор (совокупность операторов, заключенных в операторные скобки BEGIN END). Разделы описаний функции содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). В содержательной части функции ее имени должен быть присвоен результат работы функции. Вызов функции представляет собой операнд (указатель функции) в отличии от процедуры обращение к которой представляет оператор. Он имеет вид: <имя>(<сп. факт. пар.>); где: <имя> - имя функции (указатель); <сп. факт. пар.> - список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в функцию. Отличие процедуры от функции Функция в отличие от процедуры возвращает единственное скалярное значение Результат вычисления функции присваивается имени, а процедуре входит в список параметров. Имя функции имеет тип. Обращение к функции представляет операнд, а процедуры оператор.

Билет 7

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

Класс – это структура, которая описывает что-то. Можно сравнить класс с чертежом. Чертеж – это только бумажка с линиями и обозначениями на ней. Этот чертеж, сам по себе, ничего не сможет сделать, это ничто. Никакого физического объекта (кроме листа) он не представляет. Класс – то же самое. Это просто описание, а не физическое представление.

 

Объект – это уже конкретный экземпляр класса. Если вспомнить аналогию выше с чертежом, то объект – это уж что-то физическое, сделанное на основе нашего чертежа. У объекта есть конкретные характеристики (например – болт, у него есть некоторые характеристики – длина, высота, ширина, из какого металла сделан и еще другие). Таких болтов может быть несколько разных (с разными значениями характеристик). Но сделаны они будут по одному и тому же чертежу. Именно поэтому можно сделать вывод – от одного класса может быть порождено множество объектов, а объект – это конкретный экземпляр класса.

 

У объекта могут быть различные параметры, которые описывают (или задают) его состояние. Обычно, такие параметры называют свойствами. Свойство – это очень важное понятие в объектно ориентированном подходе. Именно в свойствах сохраняются состояния созданных объектов. Свойства можно либо прочитать, либо установить. Например, если рассматривать указатель мыши как объект, то его свойством будет положение по оси X и Y, и эти свойства будут меняться тогда, когда будет менять свое положение указатель.

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

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

Инкапсуляция – это скрытие от пользователя класса его внутренней структуры. «Общаться» с классом можно только с помощью открытых для доступа свойств и методов. Эти свойства и методы называют интерфейсной частью класса. Обычно делают так, чтобы в свойства напрямую нельзя было записать значение, можно лишь обратиться к соответствующему методу. Кроме того, если вы захотите поменять реализацию какого-нибудь метода – то вам можно будет это просто сделать, если вы оставите интерфейсную часть такой же, какой она была раньше.

 

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

 

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

Билет 8




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


Дата добавления: 2015-04-23; Просмотров: 523; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.