RSS    

   Учебное пособие: Основы программирования

Инструкция присваивания выполняется следующим образом:

1. Сначала вычисляется значение выражения, которое находится справа от символа инструкции присваивания.

2. Затем вычисленное значение записывается в переменную, имя которой стоит слева от символа инструкции присваивания.

Например, в результате выполнения инструкций:

·  i:=0; — значение переменной i становится равным нулю;

·  а:=b+с; — значением переменной а будет число, равное сумме значений переменных ь и с;

·  j :=j+1; — значение переменной j увеличивается на единицу.

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

Так, например, если переменные i и n имеют тип integer, а переменная d — тип real, то инструкции

i:=n/10; i:=1.0;

неправильные, а инструкция

d:=i+1; правильная.

Во время компиляции выполняется проверка соответствия типа выражения типу переменной. Если тип выражения не соответствует типу переменной, то компилятор выводит сообщение об ошибке:

Incompatible types ... and ...

где вместо многоточий указывается тип выражения и переменной. Например, если переменная п целого типа, то инструкция n: = m/2 неверная, поэтому во время компиляции будет выведено сообщение :

Incompatible types 'Integer' and.'Extended'.

Стандартные функции

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

Значение функции связано с ее именем. Поэтому функцию можно использовать в качестве операнда выражения, например в инструкции присваивания. Так, чтобы вычислить квадратный корень, достаточно записать k:=Sqrt(n), где Sqrt — функция вычисления квадратного корня, п — переменная, которая содержит число, квадратный корень которого надо вычислить.

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

Математические функции

Математические функции (табл. 6) позволяют выполнять различные вычисления.

Таблица 6. Математические функции

Функция Значение
Аbs (n) Абсолютное значение n
Sqrt (n) Квадратный корень из n
Sqr (n) Квадрат n
Sin (n) Синус n
Cos (n) Косинус n
Arctan (n) Арктангенс n
Ехр(n) Экспонента n
Ln(n) Натуральный логарифм n
Rardom(n) Случайное целое число в диапазоне от 0 до n- 1

Величина угла тригонометрических функций должна быть выражена в радианах. Для преобразования величины угла из градусов в радианы используется формула (а*з.141525б)/180, где: а— величина угла в градусах; 3.1415926 — число л. Вместо дробной константы 3.1415926 можно использовать стандартную именованную константу PI. В этом случае выражение пересчета угла из градусов в радианы будет выглядеть так: a*Pi/180.

Функции преобразования

Функции преобразования (табл. 7) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.

Например, инструкция Label1.caption := FioatTostr(x) выводит значение переменной х в поле Label1.

Использование функций

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

n := Round((x2-x1)/dx);

x1:= (-b + Sqrt(d)) / (2*а);

m := Random(10);

cena := StrToInt(Edit1.Text);

Edit2.Text := IntToStr(100);

mes := 'x1=' + FloatToStr(xl);

Ввод данных

Наиболее просто программа может получить исходные данные из окна ввода или из поля редактирования (компонент Edit).

Ввод из окна ввода

Окно ввода — это стандартное диалоговое окно, которое появляется на экране в результате вызова функции inputBox. Значение функции inputBox — строка, которую ввел пользователь.

В общем виде инструкция ввода данных с использованием функции inputBox выглядит так:

Переменная := InputBox(Заголовок, Подсказка, Значение);

где:

·  Переменная — переменная строкового типа, значение которой должно быть получено от пользователя;

·  Заголовок — текст заголовка окна ввода; Подсказка — текст поясняющего сообщения;

·  Значение — текст, который будет находиться в поле ввода, когда окно ввода появится на экране.

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

s:=InputBox('Пример', 'Введите что-нибудь', 'Привет');

Рис.3. Пример окна ввода

Если во время работы программы пользователь введет строку и щелкнет на кнопке ОК, то значением функции inputBox будет введенная строка. Если будет сделан щелчок на кнопке Cancel, то значением функции будет строка, переданная функции в качестве параметра значение.

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

s:=StrToInt(InputBox('Пример', 'Введите что-нибудь','10'));


Ввод из поля редактирования

Поле редактирования — это компонент Edit. Ввод данных из поля редактирования осуществляется обращением к свойству Text.

Рис. 4. Компонент Edit1 используется для ввода данных

На рис. 4 приведен вид диалогового окна программы в которой осуществляем ввод данных с помощью компонента Editl. Компонент Editl используется для ввода исходных данных. Инструкция ввода данных в этом случае будет иметь вид:

s := Edit1.Text;

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.