Внастоящее время в компьютерном мире существует множество языков программирования
Вид материала | Документы |
- Календарный план учебных занятий по дисциплине «Языки и технология программирования», 43.35kb.
- Лекция №3. Состав и работа системы программирования Турбо Паскаль Язык программирования, 84.43kb.
- Лекция 3 Инструментальное по. Классификация языков программирования, 90.16kb.
- Внастоящее время существует большой социальный заказ на психологические методы профилактики, 117.85kb.
- Методические указания для выполнения лабораторных работ и курсовой работы содержание, 1317.09kb.
- Программа дисциплины Языки и технологии программирования Семестры, 20.19kb.
- Теория автоматов и формальных языков составил доцент А. А. Мальцев, 38.01kb.
- Внастоящее время в мире повсеместно и во все более разрастающихся масштабах происходит, 373.75kb.
- Вмире существует множество замечательных повестей, романов, рассказов и стихов, главными, 21kb.
- Пояснительная записка, 185.11kb.
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 вида условных операторов:
- If условие then действие;
- 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, в свою очередь также могут быть условными операторами.
- Условный оператор первого типа - 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.
- Условный оператор второго типа – If условие then действие1 else действие2
- Оператор действие1 условный оператор первого типа, оператор действие2 не является условным оператором (Рис. 2.4.). Получаем конструкцию:
If условие1 then
begin
If условие2 then действие1
end
else действие2.
Видно, что оператор действие1необходимо заключить в операторные скобки, их отсутствие приведет к схеме на рис.2.3.
Рекомендации:
- Для упрощения чтения текста программы при описании условных операторов используйте лидирующие пробелы для выделения каждого раздела.
- Если возникают трудности в оценке порядка выполнения действий в условном операторе, используйте операторные скобки.
Оператор выбора. Если при построении условного оператора известны большинство возможных значений условия, то необходимо использовать оператор выбора. В общем виде структура этого оператора следующая:
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.