- •6.070104 «Морской и речной транспорт»
- •Тема 1. Введение в курс информатики. Основные принципы работы с операционной системой Windows. Структурная методология разработки программ.
- •Тема 2. Назначение и возможности интегрированной среды разработки Delphi6.
- •Тема 3. Начальные сведения о языке программирования ObjectPascal. Элементы языка.
- •1. Практическое задание: Преобразования типов.
- •Тема: Программирование линейных вычислительных процессов. Преобразование строки, изображающей вещественное число, в число. Преобразование вещественного числа в его изображение.
- •Лабораторная работа №8 Тема: Динамические массивы.
- •6.070104 «Морской и речной транспорт»
- •98309, Г.Керчь, Орджоникидзе,82
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”,
Письменно ответить на контрольные вопросы
Контрольные вопросы
Какой объем памяти занимают данные типа Integer?
Какие операции применимы к данным типа Integer?
Какой диапазон значений охватывают данные типа Integer?
Объясните смысл операций div и mod.
Какие действия выполняет функция Trim?
Какие действия выполняет Функция StrToint?
Для чего применяются методы Show и Hide?
Какие вещественные типы данных вы знаете?
Опишите основные характеристики данных типа Real.
Опишите структуру представления вещественных данных в памяти компьютера.
Перечислите, какие стандартные математические функции Object Pascal вы знаете (укажите форму обращения к ним тип параметра и тип результата).
Лабораторная работа №2