Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич Делфи.doc
Скачиваний:
248
Добавлен:
13.04.2015
Размер:
688.64 Кб
Скачать

2.2. Контрольные вопросы

  1. Назначение компонента Label.

  2. Что такое PopupMenu?

  3. Для чего используется StringGrid?

  4. Какова разница между Panel, Splitter, GroupBox и Bevel?

  5. Что такое ComboBox?

  6. Что такое ListBox?

  7. Назовите 5 общих свойств у всех компонентов Delphi?

2.3. Задания

1. Создать форму для тестирования знаний студента.

2. Создать форму Телефонного справочника.

3. Создать форму продажи авиабилетов.

4. Создать форму для магазина бытовой химии.

5. Создать форму для салона красоты

6. Создать форму Калькулятор.

7. Создать форму для книжного магазина.

8. Создать форму для деканата.

9. Создать форму для учета успеваемости студентов.

10. Создать форму Электронный журнал.

ТЕМА № 3 ЭЛЕМЕНТЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

Цель работы: изучить основные элементы языка программирования Delphi; получить навыки работы с составным и условным операторами.

3.1. Теоретическая часть

Основу языка программирования Delphi — составляет язык Pascal.

Язык Delphi обеспечивает возможность визуального программирования на нем с помощью библиотеки компонентов VCL.

Алфавит.

Алфавит языка Delphi включает буквы, цифры, шестнадцатеричные цифры, специальные символы и пробелы.

Буквы – это буквы латинского алфавита от а до z и от А до Z, а также знак подчеркивания “_”.

Цифры – арабские цифры от 0 до 9.

Каждая шестнадцатеричная цифра имеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0...9, остальные шесть – латинскими буквами A...F или a...f.

Специальные символы Delphi – это символы

+ - * / = ' , . : ; < > [ ] ( ) { } ^ @ $ #

К специальным символам относятся также пары символов:

<> <= >= := (* *) (. .) //

Элементы программы.

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

Слова подразделяются на:

ключевые слова;

стандартные идентификаторы;

пользовательские идентификаторы.

Ключевые слова – это зарезервированные слова, которые являются составной частью языка. Ключевые слова имеют конкретный смысл, который изменить нельзя. Вот пример ключевых слов, Label, Unit, Begin и т.д.

Стандартные идентификаторы обозначают заранее определенные программистом конструкции языка: тип данных; константы; процедуры; функции.

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

Типы – это специальные конструкции языка, которые рассматриваются компилятором как образцы для создания других элементов программы, таких как переменные, константы и функции.

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

Переменные связаны с изменяемыми областями памяти, т.е. с такими ее участками, содержимое которых будет изменяться в ходе работы программы. Переменные всегда объявляются в программе. Для этого после идентификатора переменной ставится двоеточие и имя типа, по образу которого должна строиться переменная. Разде­лу объявления переменных должно предшествовать слово var.

Подпрограммы – это специальным образом оформленные фрагменты программы.

Комментарии – любая последовательность символов, заключенная в фигурные скобки. В исходный текст программы может быть добавлена текстовая информация, игнорируемая при компиляции. Такая информация называется комментариями и заключается в пары фигурных скобок { и }. Вместо фигурных скобок могут также использоваться пары символов (* и *):

{ Комментарий } или (* Комментарий *)

В Delphi введена возможность использования однострочных комментариев. Такие комментарии начинаются двумя символами «слеш» и занимают всю оставшуюся строку: // До конца строки - комментарий

Идентификаторы

Идентификаторы в Delphi – это имена констант, переменных, меток, типов, объектов, классов, свойств, процедур, функций, модулей, программ и полей в записях.

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

Идентификатор должен быть уникальным в пределах программы.

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

<Имя переменной> := <Выражение>;

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

Примеры инструкций присваивания для переменных со следующими описаниями:

var

х, у: real;

n: integer;

stroka: string;

...

n := 17 * n + 1;

stroka := 'Дата ' + DateToStr(Date);

x := 12.3 * sin(pi/4) ;

у := 23.789E+3;

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

Формат составной инструкции имеет следующий вид:

begin

<Оператор_1>;

... ;

<Оператор_n>;

end;

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

Пример составной инструкции:

begin

Веер;

Edit1.Text := 'Строка';

Exit;

end;

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

Записывать операторы можно в одну строку:

I := 67; J:= 20+1;

Или на каждой строке свой оператор:

I := 67;

J:= 20+1;

Для визуального удобства лучше использовать второй вариант.

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

Возведение в степень

Нужно воспользоваться модулем Math (подключить его в разделе Uses), содержащем функцию Power ( X, Y: Extended ): Extended;

Эта функция возводит X в степень Y.

Exp(X) - это экспонента от некоторого числа, т.е. число "е" в степени Х.

Пример:

var

Z: Real;

begin

Z:= Power(0.25, 0.5); {Z:=0.5}

end;

Условная инструкция обеспечивает выполнение или невыполнение некоторых инструкций в зависимости от соблюдения определенных условий. Условная инструкция предназначена для организации ветвления программы на два направления. Условная инструкция имеет формат:

if <Условие> then <Инструкция1> else <Инструкция2>;

Условие представляет собой выражение логического типа. Инструкция работает следующим образом: если Условие истинно (имеет значение True), то выполняется Инструкция 1, в противном случае – Инструкция 2. Обе инструкции могут быть составными.

Допускается запись условной инструкции в сокращенной форме, когда слова else и Инструкция2 отсутствуют. В этом случае при невыполнении условия управление сразу передается инструкции, следующей за условной.

Для организации ветвления на три и более направлений можно использовать несколько условных инструкций, вложенных друг в друга. При этом каждое слово else соответствует тому then, которое непосредственно ему предшествует. Из-за возможной путаницы следует избегать большой глубины вложенности условных инструкций.

Расположите на форме кнопку Button и компонент Label. Для кнопки напишите такой обработчик события:

procedure TForm1.Button1Click(Sender: TObject);

var

i : integer;

begin

i :=2;

if i = 1 then begin

Label1.Caption := 'Переменная i равна 1';

Form1.Color := clRed

end else begin

Label1.Caption := 'Переменная i не равна 1';

Form1.Color := clGray

end

end;

Изменяя значение переменной i с 1 на двойку мы увидим работу условного оператора в действии. Как результат будет выбор цвета формы и название заголовка компонента label.

Если условие сложное и само в себе включает несколько условий, то их необходимо объединить путем организации вложений условных операторов или используя логические операторы and, or, xor, not.

В сложных логических выражениях отдельные части-условия необходимо заключать в скобки: if (i > y) and (j = 55) then ...

Инструкция выбора является обобщением условной инструкции и позволяет сделать выбор из произвольного числа имеющихся вариантов, т. е. организовать ветвление на произвольное число направлений. Эта инструкция состоит из выражения, называемого селектором, списка вариантов и необязательной ветви else, имеющей тот же смысл, что и в условной инструкции.

Формат оператора выбора имеет следующий вид:

case <Выражение-селектор> of

<Список1> : <Инструкция1>;

...

<СписокN> : <ИнструкцияN>

else <Инструкция>;

end;

Выражение-селектор должно быть порядкового типа. Каждый из вариантов выбора (от список1 до списокN) представляет собой список констант, отделенных двоеточием от относящейся к данному варианту инструкции (инструкция может быть составной). Список констант выбора состоит из произвольного количества уникальных значений и диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разделитель «...». Тип констант должен совпадать с типом выражения-селектора.

Пример инструкции выбора:

case DayNumber of

2 ... 6 : strDay:='Рабочий день';

7 : strDay: = 'Короткий день'

else strDay:='Выходной день';

end;