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

1. Практическое задание: Преобразования типов.

1.1.Типы переменных.

Целочисленный и действительный типы переменных:integerиreal.

1.2. Преобразование типов

Преобразование типов переменных из строкового в целочисленный или в действительный. Функции StrToInt( );FloatToStr();Format();

1.3. Алгоритм выбора.

Оператор условия if–then–else.

1.4. Постановка задачи.

Известно, что оптимальный вес человека определяется так: рост человека минус 100. Если твой фактический вес меньше оптимального, то ты худой, и наоборот, если больше, то надо похудеть.

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

Рис.1.1.

1.5. Рекомендуемый план разработки проекта.

1. В соответсвии с рис.1.2. расположите необходимые компоненты. В Edit1 будем вводить вес в кг., а вEdit2 – рост в см.

Рис.1.2.

2. Введите в раздел VARпеременные для сохранения значений фактического веса (faktW), оптимального веса (optW), роста (Rost) и разницы между оптимальным весом и фактическим (Delta). Пусть значения этих переменных будут округленными, в этом случае тип этих переменных можно объявить какInteger.

VAR

factW, optW, Rost, Delta : integer;

3. Образуйте процедуру, реагирующую на щелчок по кнопке Button1, и заполните ее следующим кодом.

procedure TForm1.Button1Click(Sender: TObject);

begin

faktW := StrToInt(Edit1.text);

Rost := StrToInt(Edit2.Text);

OptW :=Rost - 100;

Delta := abs(faktW - OptW);

if OptW = faktW then Label3.caption := 'Ваш вес оптимален'

else

if OptW > faktW then Label3.caption := 'Вам надо поправиться на '+IntToStr(Delta)+' кг.'

else

Label3.caption := 'Вам надо похудеть на '+IntToStr(Delta)+' кг.'

end;

 

Считывание и преобразование строкового типа в целый из строки редактирования будет выполняться с помощью функции: StrToInt(Edit1.text);

Преобразование чисел целого типа в строковый и вывод будет выполняться с помощью функции: Label3.caption:=IntToStr( ).

4. Введите заголовки смотрите рис.1.3.

5. В предыдущем пункте мы договорились вводить округленные исходные данные. Но это не всегда приемлемо. Усовершенствуйте программу так, чтобы можно было бы вводить десятичные величины. Для этого в разделе Varназовите тип переменных неInteger, а Real.

VAR

factW, optW, Rost, Delta : real;

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

В целом процедура Button1Clickбудет выглядеть следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

begin

faktW := StrToFloat(Edit1.text);

Rost := StrToFloat(Edit2.Text);

OptW :=Rost - 100;

Delta := faktW - OptW;

if OptW = faktW then Label3.caption := 'Ваш вес оптимален'

else

if OptW > faktW then Label3.caption := 'Вам надо поправиться на '+FloatToStr(Delta)+' кг.'

else

Label3.caption := 'Вам надо похудеть на ‘ + FloatToStr(Delta)+' кг.';end;

Рис.1.3.

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

В общем виде обращение к функции выглядит так:

S:=FloatToStrF(значение , формат, точность, количество цифр), где

Значение – число, изображение которого надо получить;

формат – именованная константа, определяющая вид строки;

точность – определяет точность представления преобразуемого числа;

количество цифр – зависит от используемого формата

 FfGeneral

Общий цифровой формат

FfExponent

Научный формат

FfFixed

Формат с десятичной точкой

6. Сделайте к программе заголовок, замените кнопку Button1 на кнопкуBitBtn1, введите кнопку “Close”,

Письменно ответить на контрольные вопросы

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

  1. Какой объем памяти занимают данные типа Integer?

  2. Какие операции применимы к данным типа Integer?

  3. Какой диапазон значений охватывают данные типа Integer?

  4. Объясните смысл операций div и mod.

  5. Какие действия выполняет функция Trim?

  6. Какие действия выполняет Функция StrToint?

  7. Для чего применяются методы Show и Hide?

  8. Какие вещественные типы данных вы знаете?

  9. Опишите основные характеристики данных типа Real.

  10. Опишите структуру представления вещественных данных в памяти компьютера.

  11. Перечислите, какие стандартные математические функции Object Pascal вы знаете (укажите форму обращения к ним тип параметра и тип результата).

Лабораторная работа №2