Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uprazhnenia.doc
Скачиваний:
0
Добавлен:
27.04.2019
Размер:
649.22 Кб
Скачать

Пояснення

  • Функція StrToInt перетворить рядок у ціле число, функція IntToStr виконує зворотну дію - ціле число перетворить у рядок.

5.1. Удоскональте програму так, щоб можна було б уводити будь-які десяткові величини. Для цього необхідно використати дійсний тип змінних Real:

VAR fact, opt, Rost, Delta : real;

Перетворення дійсних чисел у рядковий тип і рядковий тип у дійсне число виконується за допомогою функцій: FloatToStr й StrToFloat. Внесіть відповідні зміни в обробку події OnClick компонента Button1.

5.2. Зберегти проект остаточно, запустити й протестувати його.

  1. Завдання

  1. Для форматування й перетворення дійсних чисел замість функції FloatToStr() застосуєте функцію Format(' %f ',[змінна]).

Наприклад, Format(‘%f ‘, [Delta])

  1. Для форматування й перетворення застосуєте цю же функцію в такому виді Format('Рядок %f',[ змінна]).

Наприклад, Format(‘Вам треба схуднути %f',[Delta]) .

  1. Удосконалити проект:

  • Зробити до програми заголовок.

  • Зробити шрифт виведеної репліки відмінним від стандартного по виду, кольору і розмірам.

  • Вставити кнопку виходу із програми.

  • Передбачити можливість повторного запуску програми (див. проект “Діалог”).

  1. Зробіть так, щоб на початку програми або після повторного запуску компоненти Label2 й Edit2 були не видні й з'являлися б на екрані тільки після того, як буде введена вага.

Підказка. Властивості Visible потрібно привласнити False.

  1. У випадку перетворення рядкового типу в числовий тип може виникнути ситуація появи помилки, якщо введені неприпустимі символи. Якщо функції StrToInt або StrToFloat виявлять помилку в записі числа, вони ініціюють так називану виняткову ситуацію (виключення), що звичайно приводить до аварійного завершення роботи програми.

Оброблювач виключень будується у вигляді таких конструкцій:

Try <захищений блок операторів>

еxcept <обробка виключень>

end;

Якщо при виконанні операторів із захищеного блоку виникне виключення, керування буде передано в блок операторів, що розташовується між except й end, але якщо обробка пройде без помилок, блок виключень ігнорується й керування передається операторові, що слідує за end.

Приклад використання обробки виключень для процедури Edit1KeyPressed може виглядати так:

try

Fact := StrToInt(Edit1.Text);

except

ShowMessage('Помилковий запис числа: ' + Edit1.Text);

Edit1.SetFocus;

Exit;

end;

У результаті виконання Fact := StrToInt(Edit1.Text), якщо виникне виняткова ситуація, то на екрані з'явиться вікно з текстовим повідомленням і кнопкою ОК. Після появи вікна робота програми призупиниться чекаючи реакції користувачів. Після виклику стандартної процедури Exit знову активізується редактор, у якому виявлений помилковий текст.

Внесіть необхідні зміни для обробки виняткових ситуацій, що виникають при введенні чисел.

Примітка.

При роботі в середовищі Delphi експерименти з виключеннями погано простежуються, тому що при кожнім виключенні середовище перехоплює керування програмою. Для скасування цього необхідно в команді Tools/Debugger Options/Language Exceptions забрати прапорець в опції Stop on Delphi Exceptions.

  1. Змінити алгоритм розрахунку з урахуванням Індексу маси тіла.

Вага - X, Ріст - Y.

Індекс маси тіла – A, де A = X / Y2 (кг/м2)

Результат визначається по таблиці:

№ п/п

Значення індексу

Результат (повідомлення, яке треба вивести)

1

A < 18

Моторошна недовага

2

18  A < 20

Обмаль і небезпечно, можна одержати виснаження

3

20  A  25

Ідеально

4

26  A  30

Легкий перебір

5

30 < A

Терміново потрібно худнути

Контрольні питання

  1. Які особливості дійсного та цілочисельного типів даних? Для чого в процесі створення проекту змінювати тип величин із цілочисельного на дійсний?

  2. Для чого призначені функції StrToInt; StrToFloat; IntToStr; FloatToStr ?

  3. Яке призначення функції Format?

  4. Як передбачити можливість повторного запуску програми?

  5. В чому полягає виняткова ситуація при переведенні числових даних в текст?

  6. Як реалізується передбачення виконання виняткових ситуацій?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]