Процедуры преобразования типов

Общий вид условного оператор 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: