Внастоящее время в компьютерном мире существует множество языков программирования

Вид материалаДокументы

Содержание


2. Условные операторы
Целые числа
Поддержка 16 разрядов
Поддержка 32 разряда
Вещественные числа
Тип данных
Переменные и константы.
имя : тип
Имя := Выражение
Константа = значение
Тип выражения
True, если первый операнд больше второго, иначе False
True, если первый операнд равен второму, иначе False
True, если первый операнд больше или равен второму, иначе False
Значение1, … , ЗначениеN
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   16

1.3. Итоги


В первой теме были изучены: оболочка Delphi; структура программы; команды редактора.

При создании демонстрационной программы были получены навыки работы со следующими командами и визуальными компонентами: окном формы Form; кнопкой Button; кнопкой с картинкой BitBtn; рисунком Image; меткой Label; командой закрытия окна Close.

2. Условные операторы


Цель: изучение типов переменных, описание переменных и констант, операций с переменными; изучение условных операторов.

2.1. Теоретические сведения

Типы данных. Язык Object Pascal предоставляет ряд типов данных. Все они построены на базе стандартных типов стандарта языка Паскаль: Integer – целый тип, переменные этого типа могут принимать положительные и отрицательные числа в диапазоне от –32768 до 32767; Real – вещественный тип, переменные этого типа могут принимать положительные и отрицательные числа, записываемые как в простой форме: 10.12, 5.6, так и в экспоненциальной: 2.123Е5 (=2.123*105), 0.854Е-3 (=0.854*10-4). Диапазон чисел этого типа от 2.9Е-39 до 1.7Е38; Char –символьный тип, переменные этого типа служат для записи значений символов, которые должны заключаться в прямые кавычки: ‘A’, ‘ю’, ‘7’ – переменная содержит символы А, ю, 7; Boolean – логический тип, переменные этого типа могут принимать только два значения true (истина) и false (ложь); Перечисляемый тип – указывает возможные значения переменной, Пример: 1, 5, 45, 56 – переменная такого типа может содержать только одно из перечисленных чисел. На базе стандартных типов переменных созданы все остальные типы Object Pascal. Сводная таблица типов Object Pascal представлена в таблице 2.1 (ячейки стандартных типов выделены).


Таблица 2.1

Целые числа

Тип данных
Диапазон
Формат

ShortInt

-128…127

Знаковый, 8 бит

SmalInt

-32768…32767

Знаковый, 16 бит

LongInt

-2147483648…2147483647

Знаковый, 32 бита

Byte

0…255

Беззнаковый, 8 бит

Word

0…65535

Беззнаковый, 16 бит

Integer


Поддержка 16 разрядов

–32768…32767

Знаковый, 16 бит

Cardinal

0..65535

Беззнаковый, 16 бит

Integer

Поддержка 32 разряда

–2147483648…2147483647

Знаковый, 32 бита

Cardinal

0… 2147483647

Беззнаковый, 32 бита
Comp

–9.2*1018 …9.2*1018

Целый, абсолютно точный

Вещественные числа

Тип данных
Диапазон
Кол-во цифр
Кол-во байт

Real


2.9*10-39…1.7*10+38

11–12

6

Single

1.5*10-45…3.4*10+38

7–8

4

Double

5.0*10-324…1.7*10+308

15–16

8

Extended

3.4*10-4932…1.1*10+4932

19–20

10
Символы

Тип данных

Символы

Коды
AnsiChar

ANSI

0…255
WideChar

Unicode

0…65535
Char

ANSI

0...255

Таблица 2.1 (продолжение)
Строки

Тип

Тип строки

String

Статическая длина от 0 до 255 символов
ShortString
LongString

Динамический

Длина ограничена объемом памяти
WideString

Тоже, но каждый символ Unicode-символ (16 бит)
Логический

Тип

Значение
Boolean

True (истина), False (ложь)

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

имя : тип;


где имя – имя объявляемой переменной; тип – один из типов языка Object Pascal. Пример:

var

a,b,c: real;

S : String;

В примере введены три переменные типа real и одна переменная string. Однотипные переменные можно перечислять через запятую.

Замечание: имя переменной может содержать только латинские буквы и не зависит от выбранного регистра, то есть переменные s и S – это одна и та же переменная. Удобно записывать разнотипные переменные на разных строках.

При назначении переменной значения используется оператор «присвоить» – «:=».

В общем виде присвоение выглядит так:

Имя := Выражение;

Пример: k := 5; – присвоить переменной k значение 5; с := 5 + t; – присвоить переменной с значение 5 + t .

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

Константа = значение;

где константа – имя объявляемой константы; значение – значение именованной константы.

Пример:

Const

Ch = ‘S’; // Константа Ch содержит символ S

V = 3; // Константа V содержит значение цифры 3

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

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

Таблица 2.2

Оператор

Действие

Тип оператора

Тип выражения

+

Сложение

Если один операнд real

все integer

Real

Integer

-

Вычитание

Если один операнд real

все integer

Real

Integer

*

умножение

Если один операнд real

все integer

Real

Integer

/

Деление

real или integer

Real

div

Деление нацело

Всегда integer

Integer

mod

Остаток от деления

Всегда integer

Integer

Логические операторы
Оператор
Действие
Операнд1

Операнд2
Результат

and

Дизъюнкция

(«И»)

False

false

false

False

true

false

True

false

false

True

true

true

or

Конъюнкция

(«ИЛИ»)

False

false

false

True

false

true

False

true

true

True

true

true

Not

Инверсия

(Отрицание)

false

true

true

false
Оператор
Описание
Значение выражения

>

Больше

True, если первый операнд больше второго, иначе False

<

Меньше

True, если первый операнд меньше второго, иначе False

=

Равно

True, если первый операнд равен второму, иначе False

<>

Не равно

True, если первый операнд не равен второму, иначе False

>=

Больше или равно

True, если первый операнд больше или равен второму, иначе False

<=

Меньше или равно

True, если первый операнд меньше или равен второму, иначе False

Условные операторы. Условный оператор позволяет выбирать одно из двух действий, причем выбор осуществляется во время выполнения программы. Существует 2 вида условных операторов:

              1. If условие then действие;
              2. If условие then действие1 else действие2.

где условие – выражение логического типа; действие1, действие2 – отдельные операторы или операторы, сгруппированные вместе при помощи операторных скобок begin и end. Такой оператор называется составным.

Графически операторы условия изображены на рис 2.1.

З
амечание:
над потоками должны быть указаны значения условия, при котором выполняется действия (на рисунке это «истина» и «ложь»).

Для оператора первого типа, если выражение условие принимает значение true, выполняется действие, стоящее после ключевого слова then. Если же значение условие равно false, то действие не выполняется. Пример: If X > Y then X := 5; - значение переменной Х станет равным 5 только в том случае, если выполняется условие X > Y, в противном случае значение Х останется без прежним.

Для оператора второго типа, если условие принимает значение true, то выполняется действие1, стоящее после оператора true, при значении условия false выполняется действие2, стоящие после оператора else.

Пример: If X > Y then X := 5 else X := 3; - значение переменной Х станет равным 5 при условии X > Y, при невыполнении условия Х станет равным 3.

Замечание 1: перед оператором else значок «точка с запятой» не ставится!

Замечание 2: в условном операторе выполняется только один оператор стоящий после слов then или else, если требуется выполнить несколько операторов, необходимо поместить операторы между операторными скобками begin и end.

Пример, переменные X и Y должны получить значения 5 и 23 соответственно при выполнении условия А>0 и обнуляются (получают значение 0), если A<0. Оператор условия будет выглядеть так:

If A > 0 then

begin

X := 5;

Y := 23;

end

else

begin

X := 0;

Y := 0;

end;

Операторы, следующие после then или else, в свою очередь также могут быть условными операторами.
  1. Условный оператор первого типа - If условие then действие
  • Оператор действие может быть условным оператором первого типа (рис. 2.2.). Тогда будет конструкция:

If условие1 then

If условие2 then действие

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

If условие1 then

If условие2 then действие1

else действие2.

Возникает вопрос: какому оператору then соответствует else?
(Рис. 2.3). Для обеспечения однозначности в языке Паскаль принято соглашение о том, что каждому else соответствует предыдущий свободный then.
  1. Условный оператор второго типа – If условие then действие1 else действие2
  • Оператор действие1 условный оператор первого типа, оператор действие2 не является условным оператором (Рис. 2.4.). Получаем конструкцию:

If условие1 then

begin

If условие2 then действие1

end

else действие2.

Видно, что оператор действие1необходимо заключить в операторные скобки, их отсутствие приведет к схеме на рис.2.3.

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

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

Case переменная of

Значение1 : Действие1;



ЗначениеN : ДействиеN;

else

ДействиеN1;

end;

где

Переменная – переменная перечисляемого типа (например: integer, char);

Значение1, … , ЗначениеN – возможные значения переменной;

Действие1, … , ДействиеN – действия, выполняемые при значении переменной равному одному из значений Значение1, … ,ЗначениеN;

ДействиеN1 – действие, выполняемое в случае, когда переменная не принимает ни одно из перечисленных значений ( Значение1, … , ЗначениеN).

Структурная схема оператора выбора показана на рисунке 2.5.

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

Case переменная of

Значение1 : Действие1;



ЗначениеN : ДействиеN;

e
nd;


Замечание: Оператор Case всегда оканчивается оператором end.

Очень удобно использовать оператор выбора при анализе нажатия клавиш клавиатуры.

Пример: Пусть в разделе переменных описана переменная Ch типа Char.

Case Ch of

‘W’ : Y := Y + 1;

‘X’ : Y := Y – 1;

end;

В примере анализируется переменная Ch. Если Ch содержит символ «W», то переменная Y увеличивается на 1; Если Ch содержит символ «X», то переменная Y уменьшается на 1.