Общий вид условного оператор If (полная форма).
- для выбора одного действия из двух возможных
If <условие> Then
Begin
…
end
Else
Begin
…
end;
Общий вид условного оператор If (краткая форма)
- для выбора одного действия из двух и более возможных
If <условие> Then
Begin
…
End
В условии используется как минимум один из следующих знаков сравнения:
< > <= >= = <>
Условия могут быть простыми (два выражения связаны знаком сравнения) и составными (состоят из нескольких простых, каждое из которых берется в скобки), разделенных одним из союзов (соединительных слов) OR (или) или AND (и).
Процедуры преобразования типов
Функции преобразования наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации.
Например, чтобы вывести в поле компонента Label значение переменной типа real, необходимо преобразовать число в строку символов, изображающих данное число. Это можно сделать при помощи процедур
Val(s, x, k) – преобразует строку символов s (String) в число х (числовой тип, Real). k – переменная целого типа (Integer) принимает значение 0, если преобразование выполнено успешно.
|
|
Str(x,s) – преобразует число x в строку символов s. (параметр k отсутствует: число в строку можно преобразовать всегда.) Если х имеет тип Real, то результат выводится в «некрасивом» виде: 1.2Е+0000001, что соответствует числу 12. Поэтому при преобразовании используется форматированный вывод: Str(x:5:1,s) – это значит в числе х отразить 5 знаков, один из которых – после запятой (округлить х до десятых): 12.0.
В отличие от функций StrToInt и IntToStr при неверном вводе числа проект не зависает, а переменная k принимает значение, отличное от 0 (можно контролировать процесс преобразования, когда, например, ввели вместо числа текст, или по ошибке в качестве разделителя целой и дробной части использовали запятую.)
Val(s, x, k) и Str(x,s) - это самостоятельные процедура, а не функции, поэтому они не могут входить в состав команды присваивания.
Пример 8: Составить программу, которая вычисляет сумму двух любых чисел.
Вид формы после добавления компонентов и установки начальных свойств.
procedure TForm1.Button1Click(Sender: TObject);
var x1,x2, sum: real;
k1,k2: integer;
s:string;
begin
Val(Edit1.Text,x1,k1);
Val(Edit2.Text,x2,k2);
if (k1=0) and (k2=0) then begin
sum:=x1+x2;
Str(Sum:5:2,s);
Label4.Caption:=s;
end
else Label4.Caption:='Ошибка ввода данных';
end;
Задача 1: Найти сумму трех любых чисел.
Задача 2: В магазине Вам надо заплатить S рублей. Вы даете продавцу k купюр по N рублей каждая. Сколько вы должны доплатить или сколько вам должны дать сдачи?
Задача 3: Принадлежит ли точка с координатами (x,y) окружности с центром в начале координат и радиусом R.
|
|