Лекция9ПрогрЛинАлг(2006).ppt
- Количество слайдов: 9
Пример создания программы (линейный алгоритм) Вычислить скорость, с которой спортсмен преодолел дистанцию. V=(d/1000)/((m*60+c)/3600) где V –скорость (км/ч), d –длина дистанция (м), m (мин) C (сек) } время прохождения дистанции.
Исполнение линейного алгоритма Решение: входные данные: d, m, c; выходные данные: V. Началo Введенные с клавиатуры числовые значения, запоминаются в ячейках d, m, c оперативной памяти Ввод d, m, c V=(d/1000)/((m*60+c)/3600) Выво д V Экран 23, 5 Микропроцессор производит арифметические операции с числами, взятыми из ячеек d, m, c. Полученный результат запоминается в ячейке V (присваивается V). Число из ячейки V выводится на экран. Конец Оперативная память d 10000 m c 25 V 30 23, 5
Процесс создания программы Окна Delphi Главное окно. В нем содержится: строка заголовка, строка меню, панели инструментов, палитра компонентов (набор заготовок для будущих объектов). Инспектор объектов ( Object Inspector ). С его помощью настраивают объекты, используемые в программах. Окно формы (Form). Форма – это заготовка окна будущей программы. Окно кода (Unit). Окно содержит текст создаваемой программы.
Создание окна будущей программы. На палитре компонентов выбирается необходимые компоненты, которые помещаются на форму (Form 1). 1. Поля для ввода-редактирования строки символов (для ввода с клавиатуры входных данных). Edit 1 - для ввода длинны дистанции, Edit 2 - для ввода времени прохождения дистанции (мин), Edit 3 - для ввода времени прохождения дистанции (сек). Для того, чтобы очистить поля ввода-редактирования текста, использовать свойство Text, которое выбирается в инспекторе объектов. 2. Вывод текста на поверхность формы. Label 1 - для того, чтобы сделать надпись «Дистанция (км)» , Label 2 - «Время (мин)» , Label 3 - «Время (сек)» , Label 4 - надпись «Скорость =» и полученный результат. Использовать свойства (Properties), которые выбираются в инспекторе объектов: Caption –содержит текст надписи, Font – шрифт. 3. Командная кнопка. Button 1 – для запуска программы. Свойство: Caption - текст на кнопке «Вычислить» .
Диалоговое окно программы _ □ Form 1 Дистанция (м) (Label 1) Время (мин) (Label 2) Edit 1 Edit 2 Время (сек) Edit 3 (Label 3) Label 4 Button 1 Вычислить
Создание процедуры обработки событий В инспекторе объектов выбирается событие (Events), на которое может реагировать объект Button 1 (командная кнопка). Выбираем событие On. Click – это значит, что созданная нами программа (Procedure 1) будет выполняться, когда пользователь щелкнет мышью на кнопке Button 1. Для набора текста программы переходим в окно Unit 1. Щелкнуть два раза в поле On. Click
Порядок составления процедуры обработки события On. Click (программы) 1. Объявление переменных, используемых в программе начинается со слова Var d, m, c: integer; v: real Где d- длина дистанции (м); m – время (мин); c – время (сек); integer- целые числа. v – скорость (км/час ); real- дробное число. 2. Входные данные, вводимые с клавиатуры в поля вводаредактирования текста, преобразуются в числовой вид, для чего используется функция Str. To. Int (String to Integer- преобразовать строку в целое число). d: =Str. To. Int(Edit 1. Text); m: =Str. To. Int(Edit 2. Text); c: =Str. To. Int(Edit 3. Text); 3. Для вычисления скорости используется оператор присваивания. v: =(d/1000)/((m*60+c)/3600);
4. Вывод полученного результата на Label 4. Caption (Caption-надпись) Label 4. Caption: ='Скорость= '+Float. To. Str. F(v, ff. Fixed, 4, 2)+' км/час'; Выводится: 'Скорость=' -символьная константа; v -полученный результат; (для преобразования дробного числа в текст (строку) нужно использовать функцию Float. To. Str ff Fixed - формат с фиксированной точкой; 4 -количество цифр додесятичной точки; 2 -количество цифр после десятичной точки) 'км/час‘- символьная константа. 5. Очистка полей ввода –редактирования текста, для ввода следующих данных. Edit 1. Clear; Edit 2. Clear; Edit 3. Clear;
Процедура обработки события On. Click procedure TForm 1. Button 1 Click(Sender: TObject); Var d, m, c: integer; v: real; begin d: =Str. To. Int(Edit 1. Text); m: =Str. To. Int(Edit 2. Text); c: =Str. To. Int(Edit 3. Text); v: =(d/1000)/((m*60+c)/3600); Label 4. Caption: ='Скорость= '+Float. To. Str. F(v, ff. Fixed, 4, 2)+' км/час'; Edit 1. Clear; Edit 2. Clear; Edit 3. Clear; end.


