
ҚР ДЕНСАУЛЫҚ САҚТАУ МИНИСТРЛІГІ С.Д.АСФЕНДИЯРОВ АТЫНДАҒЫ ҚАЗАҚ ҰЛТТЫҚ МЕДИЦИНА УНИВЕРСИТЕТІ |
|
МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РК КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ ИМЕНИ С.Д.АСФЕНДИЯРОВА |
Тема №23. Операторы и подпрограммы
Цель: Изучить операторы: ветвления, выбора. Изучить структуру подпрограмм, формирование процедур и функций и обращение к ним. Дать понятие о структуре модуля; класса; объекта. Знакомство с тремя принципами объектно-ориентированного программирования. Дать понятие поля, свойства, события, методов. Изучить компонент ListBox.
Задачи обучения: Формирование умений и навыков создания программ с ветвлениями; создания и использования подпрограмм, описания класса и присваивания объектов.
Организационная часть - 5 мин
Перекличка студентов и выяснение причин отсутствия студентов.
Количество формируемых компетенций: знания, практические навыки.
Основные вопросы темы: - 45 мин
1. Условный оператор и оператор выбора.
2. Структура подпрограммы (функции и процедуры).
3. Структура модуля. Понятие класса.
4. Три принципа объектно-ориентированного программирования.
5. Поля, свойства, события, методы.
6. Компонент ListBox, его основные свойства и методы.
перерыв - 10 мин
Методы обучения и преподавания: деловые игры, ажурная пила.
Методы контроля формируемых на занятии компетенций:
тестирование проводится в компьютерной форме (студент должен ответить на «тест», содержащий в себе минимальные знания и навыки – основные определения, теоретические вопросы данной темы);
решение ситуационных задач (занятии студент должен выполнить индивидуальное задание: по получению определенных навыков, решению типовых задач);
Самостоятельная работа студентов - 50 мин
Освоение практических навыков: Решение типовых и ситуационных задач.
В 80-годах стали появляться первые коммерческие системы разработки, в которых была реализована новая парадигма программирования, так называемый объектный подход, что позволило резко повысить производительность труда программистов. Подход был основан на понятии объекта, типа данных, в котором сочетаются как свойства, сгруппированные данные (пример – поля в записи), так и методы их обработки (подпрограммы).
Фактически объект стал отражать реальные и даже абстрактные понятия окружающего мира. Например, автомобиль характеризуется такими свойствами, как марка, тип двигателя, наличие колес и руля, а файл – названием и размером. «Методы» автомобиля определяют его способность двигаться в нужном направлении в соответствии со значениями своих свойств: объемом бензина в баке, углом поворота руля. Из файла можно считывать данные, менять их и записывать обратно.
Благодаря этому теперь удается выполнять проектирование программ, основываясь на понятии объекта, что значительно проще и быстрее, чем раньше. Работать с привычными понятиями человеку легче, нежели с абстрактными числами. При этом специалистам удалось выделить большой набор объектов, которые нужны при создании самых разных программ. Эти объекты используются повторно, без расходования времени на их программирование. Именно такой подход и реализован в среде Delphi7.
Операторы
С помощью оператора присваивания можно написать простые программы, преимущественно ориентированные на математические вычисления, но для создания приложений, реализующих сложную алгоритмическую логику, нужны средства управления ходом работы программы: изменения порядка выполнения операторов в зависимости от различных условий и эффективной реализации часто повторяющихся вычислений.
Условный оператор
Условия
Один из важнейших операторов Паскаля – условный оператор. Он позволяет изменить порядок выполнения операторов в зависимости от некоторого условия, представляющего собой логическое выражение типа Boolean. Если это значение равно True, то выполняется одна группа операторов, если оно равно False, то выполняется другая группа операторов или не выполняется ничего.
Условия представляют собой логические выражения. В них происходит сравнение значений выражений, вызов функций, возвращающих значение типа Boolean, и комбинирование этих значений с помощью логических операций. В таблице 23.1 приведены основные операции сравнения данных.
Таблица 23.1. Основные операции сравнения данных
Знак операции |
Название операции |
= < > > < >= <= |
Равно Не равно Больше Меньше Больше или равно Меньше или равно |
Если используются логические операции or, and и так далее, то связываемые ими проверки заключаются в круглые скобки.
X>5
(I>=1) and (I<=10)
(a+5< >b) or BoolFunc
Alf=3
Для некоторых типов данных в Паскале имеются дополнительные операции, позволяющие сформировать более сложные условия. В частности, для множеств определена операция in (зарезервированное слово), которая проверяет, входит ли конкретное значение в множество:
X:=[2,4,6,8,10];
Выражение 2 in X имеет значение True.
Выражение 5 in X имеет значение False.
Такой способ очень удобен тем, что позволяет выполнить проверки более наглядно и компактно. Например вместо того, чтобы писать (I>=1) and (I<=10) можно использовать операцию in: I in [1..10].
Выполняются подобные проверки тоже значительно эффективнее.
Оператор if … then …
Условный оператор записывается в такой форме:
if условие then действие;
Слова if (если) и then (то) – зарезервированные.
Действие выполняется только в том случае, если значение равно True. В противном случае ничего не происходит. Действие – это любой оператор Паскаля, или группа операторов, взятых в логические скобки begin/end, или вызов подпрограммы.
Оператор if … then … else …
Нередко требуется выполнить определенные действия и в том случае, когда проверяемое условие ложно. Для этого можно использовать другую форму условного оператора:
if условие
then действие_1
else действие_2;
Действие_1 будет выполнено, если условие истинно (равно True), действие_2 выполняется, если условие ложно.
if X>0 then X:=-1 else X:=+1;
Замечание: Перед ключевым словом else (иначе) точка с запятой не ставится.
Оператор выбора
Когда требуется осуществить проверку множества условий, например выполнить один из пяти операторов в зависимости от того, чему равно значение переменной Х, приходится записывать цепочки условных операторов наподобие следующей:
if X=1 then а:=1 else
if X=2 then а:=2 else
if (X=3) or (X=4) then а:=3 else
if X=5 then а:=4 else
if ( X=1) or (X in [8..100]) then а:=5
else a:=0;
Подобная запись довольно громоздка и преобразовывается компилятором в не очень эффективный машинный код. В Паскале имеется более удобный оператор выбора case, позволяющий наглядно описать выбор выполняемого оператора или группы операторов в зависимости от ряда условий.
case выражение of
список-условий_1: действие_1;
…
список-условий_n: действие_n;
else действие_n+1;
end;
Тип выражения может быть одним из стандартных типов: целым числом, перечислимым типом, символьным типом и так далее. Список условий может содержать произвольные выражения, состоящие из констант и имеющие подходящий тип. В этом списке допускается использовать как обычные константы, так и символы и диапазоны значений. Результат выражения будет поочередно сравниваться с каждым из значений в списках, и при первом совпадении будет выполнено соответствующее действие (оператор или группа операторов, взятых в логические скобки begin/end), а все оставшиеся действия будут пропущены. В случае, когда ни одного совпадения результата выражения с заданными значениями не произошло, выполняется действие, указанное за словом else (если оно имеется), или не выполняется ничего, если слово else внутри оператора выбора отсутствует.
Подпрограмма
Подпрограмма - это небольшая программа, которая решает часть общей задачи. В языке Delphi есть два вида подпрограмм - процедура и функция.
У каждой подпрограммы есть имя, которое используется в программе для вызова подпрограммы (процедуры).
Отличие функции от процедуры состоит в том, что с именем функции связано значение, поэтому функцию можно использовать в качестве операнда выражения, например, инструкции присваивания.
Как правило, подпрограмма имеет параметры. Различают формальные и фактические параметры.
Параметры, которые указываются в объявлении функции, называются формальными. Параметры, которые указываются в инструкции вызова процедуры, называются фактическими.
Параметры используются:
для передачи данных в подпрограмму;
для получения из результата подпрограммы.
В общем случае в качестве фактического параметра процедуры можно использовать выражение, тип которого должен совпадать с типом соответствующего формального параметра.