Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Объектно ориентированное программирование

Покупка
Артикул: 799094.01.99
Доступ онлайн
350 ₽
В корзину
В пособии рассмотрены основы программирования на примере языка Паскаль, описаны принципы разработки программ с графическим интерфейсом пользователя в среде объектно-визуального программирования Delphi, приведены базовые сведения по языку Microsoft Visual C#. Для запуска содержащихся в издании примеров могут быть использованы бесплатные версии сред разработки приложений, такие как PascalABC. NET и Microsoft Visual C# Express Edition. Предназначено для бакалавров, изучающих электронику и электротехнику.
Зюзев, А. М. Объектно ориентированное программирование : учебно-методическое пособие / А. М. Зюзев, К. Е. Нестеров. - Екатеринбург : Изд-во Уральского ун-та, 2019. - 116 с. - ISBN 978-5-7996-2634-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/1936349 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования
Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

А. М. Зюзев
К. Е. Нестеров

ОБЪЕКТНО 
ОРИЕНТИРОВАННОЕ 
ПРОГРАММИРОВАНИЕ

Учебно-методическое пособие

Рекомендовано методическим советом
Уральского федерального университета
для студентов вуза,
обучающихся по направлению подготовки
13.03.02 — Электроэнергетика и электротехника

Екатеринбург
Издательство Уральского университета
2019

УДК 004.42(075.8)
ББК 32.973я73
          З-98
Рецензенты:
кафедра информатики УГГУ (завкафедрой канд. техн. наук, доц. 
Дружинин А. В.);
директор ООО «Тяжпромэлектропривод» канд. техн. наук, доц. 
Зеленцов В. И.

Научный редактор — канд. техн. наук, доц. Метельков В. П.

 
Зюзев, А. М.
З-98    Объектно ориентированное программирование : учеб.-метод. 
пособие / А. М. Зюзев, К. Е. Нестеров. — Екатеринбург : Изд-во 
Урал. ун-та, 2019. — 116 с.

ISBN 978-5-7996-2634-1

В пособии рассмотрены основы программирования на примере язы-
ка Паскаль, описаны принципы разработки программ с графическим ин-
терфейсом пользователя в среде объектно-визуального программирования 
Delphi, приведены базовые сведения по языку Microsoft Visual C#. Для за-
пуска содержащихся в издании примеров могут быть использованы бес-
платные версии сред разработки приложений, такие как PascalABC. NET 
и Microsoft Visual C# Express Edition.
Предназначено для бакалавров, изучающих электронику и электро-
технику.

Библиогр.: 6 назв. Рис. 9.

УДК 004.42(075.8)
ББК 32.973я73

ISBN 978-5-7996-2634-1 
© Уральский федеральный
 
     университет, 2019

Введение

Я

зыки программирования услов-
но можно разделить на три ос-
новных группы: языки низкого 
уровня (ассемблер), языки высокого уровня 
(Basic, C, Pascal) и языки объектно-визуаль-
ного программирования (Delphi, LabVIEW, 
языки из пакета Microsoft Visual Studio). 
Языки низкого уровня используются в ос-
новном для программирования простейших 
контроллеров, т. к. позволяют получить эф-
фективно исполняемый код минимальной 
длины. Языки высокого уровня применяют-
ся при разработке программ для более слож-
ных контроллеров и персональных компью-
теров (ПК). Языки объектно-визуального 
программирования используются при напи-
сании программ для ПК и позволяют значи-
тельно сократить время разработки пользо-
вательского интерфейса программы.

1. Язык Object Pascal

1.1. Общие сведения
А

лфавит языка Паскаль включает буквы, цифры, шест-
надцатеричные цифры, специальные символы и за-
резервированные слова.
Буквы — это буквы латинского алфавита от а до z и от А до Z. 
В Паскале нет различия между прописными и строчными бук-
вами алфавита, если только они не входят в символьные и стро-
ковые выражения.
Цифры — арабские цифры от 0 до 9. Каждая шестнадцате-
ричная цифра имеет значение от 0 до 15. Первые 10 значений 
обозначаются арабскими цифрами от 0 до 9, остальные шесть — 
латинскими буквами от A до F или от a до f.
Специальные знаки Паскаля — это символы + – * / = , ′ . : ; 
< > [] () {} ^ @ $ #. К специальным знакам относятся также сле-
дующие пары символов: <> <= >= := (* *). В программе такие 
пары символов нельзя разделять пробелами, если они исполь-
зуются как знаки операций отношения или ограничители ком-
ментария. Символы (* и *) могут употребляться соответствен-
но вместо {и}.
Особое место в алфавите языка занимают пробелы, к ко-
торым относятся любые символы ASCII в диапазоне кодов 
от 0 до 32. Эти символы рассматриваются как ограничите-
ли идентификаторов, констант, чисел, зарезервированных 

1.1. Общие сведения

слов. Несколько следующих друг за другом пробелов счита-
ются одним пробелом (последнее не относится к строковым 
константам).
В Паскале имеются следующие зарезервированные слова:
аnd 
end 
nil 
shr
asm 
file 
not 
string
array 
for 
object 
then
begin 
function 
of 
to
сasе 
goto 
or 
type
const 
if 
packed 
unit
constructor 
implementation 
procedure 
until
destructor 
in 
program 
uses
div 
inline 
record 
var
dо 
interface 
repeat 
while
downto 
label 
set 
with
else 
mod 
shl 
xor
Зарезервированные слова не могут использоваться в каче-
стве идентификаторов (что такое идентификатор, см. ниже).
Стандартные директивы первоначально связаны с некоторы-
ми стандартными объявлениями в программе. К ним относятся:
аbsolutе 
far 
near
assembler 
fоrward 
рrivatе
external 
interrupt 
virtual
Можно переопределить любую стандартную директиву, т. е. 
объявить одноименный идентификатор. Стандартные дирек-
тивы PRIVATE и VIRTUAL действуют только в пределах объяв-
ления объектов.
Идентификаторы в Паскале — это имена констант, пере-
менных, меток, типов, объектов, процедур, функций, моду-
лей, программ и полей в записях. Идентификаторы могут иметь 
произвольную длину, но значащими (уникальными в области 
определения) являются только первые 63 символа. Иденти-
фикатор всегда начинается с буквы или знака подчеркивания, 
за которым могут следовать буквы, цифры и знак подчеркива-

1. Язык Object Pascal

ния (код 95 в ASCII). Пробелы и специальные символы алфа-
вита не могут входить в идентификатор. Примеры правильных 
идентификаторов:

а
ALPHA
MyProgramIsTheBestProgram
date_27_ sep_ 39
external
_beta

Примеры неправильных идентификаторов:

1Program (начинается с цифры)
block#1 (содержит специальный символ)
Му Program (содержит пробел)
mod (зарезервированное слово)

В качестве констант в Паскале могут использоваться целые, 
вещественные и шестнадцатеричные числа, логические кон-
станты, символы, строки символов, конструкторы множеств 
и признак неопределенного указателя NIL.
Целые числа записываются со знаком или без него. Диапазон 
допустимых значений зависит от разрядности переменной или 
константы, в которой хранится число. Например, для 32-бит-
ной переменной диапазон значений составляет от –2 147 483 648 
до +2 147 483 647. Следует учесть, что, если целочисленная кон-
станта выходит за допустимые границы, компилятор дает со-
общение об ошибке. В этом случае необходимо использовать 
другой тип переменной.
Вещественные числа записываются со знаком или без него 
с использованием десятичной точки и (или) экспоненциальной 
части. Экспоненциальная часть начинается символом «е» 
или «Е», за которым могут следовать знаки «+» или «–» и число, 
равное десятичному порядку. Например,

1.1. Общие сведения

3.14Е5 — 3.14 умножить на 10 в степени 5;
—17e–2 — минус 17 умножить на 10 в степени минус 2.
Если в записи вещественного числа присутствует десятичная 
точка, перед точкой и за ней должна быть хотя бы одна цифра. 
Если используется символ экспоненциальной части «е» («Е»), 
за ним должна следовать хотя бы одна цифра десятичного порядка.

Шестнадцатеричное число состоит из шестнадцатеричных 
цифр, которым предшествует знак доллара «$» (код 36 
в АSСII). Диапазон шестнадцатеричных чисел от $00000000 
до $FFFFFFFF.
Логическая константа — это либо слово «FALSE» (ложь или 
0), либо слово «TRUE» (истина или 1).
Символьная константа — это любой символ ПК, заключенный 
в апострофы: ′z′ — символ z, ′Ф′ — символ Ф. Если необходимо 
записать собственно символ апострофа, он удваивается: ′′′′ — 
символ ′ (апостроф). Допускается использовать запись 
символа путем указания его внутреннего кода, которому предшествует 
символ «#» (код 35), например: #97 — символ а, #90 — 
символ z, #39 — символ ′, #13 — символ CR.
Строковая константа — любая последовательность символов 
(кроме символа «CR» — возврат каретки), заключенная в апострофы; 
если в строке нужно указать сам символ апострофа, он 
удваивается, например: ′Это — строка символов′, ′That′′s string′.
Строка символов может быть пустой, т. е. не иметь никаких 
символов в обрамляющих ее апострофах. Строку можно составлять 
из кодов нужных символов с предшествующими каждому 
коду символами, например, строка #8З#121#109#98#11#108 
эквивалентна строке ′Symbol′.
В строке можно чередовать части, записанные в обрамляющих 
апострофах, с частями, записанными кодами. Таким способом 
можно вставлять в строки любые управляющие символы, 
в т. ч. и символ «CR», например: #7′Ошибка! ′#13′Нажмите 
любую клавишу … ′#7.

1. Язык Object Pascal

Конструктор множества — список элементов множества, обрамленный 
квадратными скобками, например:

[1,2,4..7,12];
[blue, red];
[];
[true].

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

аbs 
lo 
рtr 
swар
chr 
odd 
round 
trunc
hi 
ord 
sizeof
length 
pred 
succ

Например:

const
МахRеа1 = Maxint div SizeOf (real);
NumChars = ord (′Z′) — ord (′a′) + 1;
Ln10 = 2,302585092994;
Ln10R = 1/Ln10.

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

1.1. Общие сведения

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

Y
21
(а + b) * с
sin (t)*a > 2
a > 2
not Flag and (а = b)
NlL
[1, 3..7] * set1

В Паскале определены следующие операции:
унарные — not, @;
мультипликативные — *, /, div, mod, аnd, shl, shr;
аддитивные — +, —, or, xor;
отношения — =, <>, <, >, <=, >=, in.

Приоритет операций убывает в указанном порядке, т. е. 
наивысшим приоритетом обладают унарные операции, низшим — 
операции отношения. Порядок выполнения нескольких 
операций равного приоритета устанавливается компилятором 
из условия оптимизации кода программы и не обязательно 
слева направо. При исчислении логических выражений, операции 
равного приоритета всегда вычисляются слева направо, 
причем будут вычисляться все или только достаточные операции 
в зависимости от значения опции компилятора СОМPLETЕ 
ВООLEAN EVAL: при установленном значении этой опции вычисляются 
все операции отношения; при неустановленном — 
только те, которые достаточны для получения результата.
При действиях с вещественным типом одним из операндов 
может быть значение любого целого типа. Результат операций 
имеет тип DOUBLE.

1. Язык Object Pascal

Унарная операция @ применяется к операнду любого типа 
и возвращает результат типа POINTER, в котором содержится 
адрес операнда. Пусть, например, задано описание

type
TwoChar = array [1..2] of char;
var Int : integer;
TwoCharPtr: ^TwoChar;

В таком случае оператор TwoCharPtr := @int; приведет к тому, 
что в ТWОСНАRРТR будет храниться адрес целочисленной переменной 
int, которая теперь будет интерпретироваться как совокупность 
двух символов. Поэтому возможен, например, такой 
оператор:
if TwoCharPtr [1]^ = ′С′ then…
Если операция @ применяется к процедуре, функции или 
методу в объекте, ее результатом будет адрес точки входа в эту 
процедуру (функцию, метод). Этот адрес можно использовать 
только в подпрограмме, написанной на ассемблере, или в фрагментах 
INLINE.
В Паскале определены следующие логические операции:
not — логическое НЕ;
and — логическое И;
or — логическое ИЛИ;
xor — исключающее ИЛИ.
Логические операции применимы к операндам целого и логического 
типов. Если операнды — целые числа, то результат 
логической операции есть тоже целое число. К логическим операциям 
в Паскале обычно относятся и две сдвиговые операции 
над целыми числами:
i shl j — сдвиг содержимого i на j разрядов влево; освободившиеся 
младшие разряды заполняются нулями;
i shr j — сдвиг содержимого i на j разрядов вправо; освобо-
дившиеся старшие разряды заполняются нулями.

Доступ онлайн
350 ₽
В корзину