КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оператор цикла For
Оператор For позволяет организовать выполнение какого-либо другого оператора заранее заданное число раз. Существуют 2 варианта этого оператора: For <управляюцая переменная>:= <Start> to <Finish> do <one- Ро* <упра»лякщая переменная>:= <Start> downto <Finish> do <оператор>;. Управляющая переменная позволяет ограничить количество расчетов заданного оператора, которое зависит от значений выражений <start> и <Pinish>. Выражение <start> определяет начальное значение управляющей переменной, выражение <Finish> - конечное значение. При каждой итерации управляющая переменная увеличивается на единицу в первом опе- раторе и уменьшает свое значение на единицу во втором операторе. Как только значение управляющей переменной превзойдет значение <Finish> в первом операторе (станет меньше во втором операторе), цикл прекращается. Выражения <start> и <Finish> должны возвращать значения порядкового типа, соответственно Управляющая переменная> должна также иметь порядковый тип. Например, FOR I:= 1 ГО 10 DO Y:=sin(X); FOR I:- 10 DOWNTO 1 DO X:=sin(X); Если в самом начале цикла значение <Finish> будет больше, чем значение <start> для первого оператора, или значение <Finish> меньше, чем <start> для второго оператора, то не будет выполнено ни одной итерации. В Delphi скорость выполнения циклических вычислений оптимизирована, поэтому имеют место ограничения на управляющую переменную, которая должна: • иметь порядковый тип; • быть объявлена в том же блоке, в котором помещен цикл, т. е. должна ПРИМЕР ПРИЛОЖЕНИЯ 4 Пусть требуется рассчитать табл. 10 и построить на экране дисплея графику =f(x) = sm(x). Шаг изменения координат* и_у графика зададим в пикселах и пусть, h = 1. В данном случае имеют место два типа графиков: физический и дисплейный. Пусть X, У, Н - координаты и шаг физического графика, х, у, h - координаты и шаг дисплейного графика. Прежде чем рисовать график, необходимо выполнить преобразование физических координат в дисплейные (или масштабирование) так, чтобы дисплейный график верно отражал процесс, смоделированный физическим графиком. Физический график начинается в точке х = а и заканчивается в точке х = b. Пусть дисплейный график начинается в точке Х = хпи продолжается до точки X = хк (рис. 16). Выберем следующую схему построения дисплейного графика: • используя заданное А, находим текущее значение х; • рассчитываем Я и находим значение физической переменной X; • определяем У; • преобразуем У в у; • на экране дисплея отображаем полученную точку (х,у). Введем масштаб ту и запишем соотношение у = туУ. Так как данное соотношение справедливо для любой точки графика, необходимо, чтобы оно выполнялось и при значении утт = ту Утах (все значения у будут воспроизводиться на экране). Из этого соотношения можно определить масштаб my,
Физический график
Дисплейный график ртраженный по вертикали) X Рис. 16 Теперь найдем соотношение между х и X (или между А и Я, что одно и то же). Примем, чтобы количество точек по оси абсцисс для дисплейного и физического графиков было одинаковым. Чтобы это выполнялось, необходимо согласовать значение шага Н для физического графика с выбранным h для дисплейного графика. Запишем откуда следует обозначив тх , получим требуемое
соотношение Я = mxh. Для размещения графика понадобится компонент TImage (страница Ad. ditional). Форма примера 4 приводится на рис. 17. Какие объекты используй ются в данном примере, можно найти в тексте программы. Рис. 17
Компонент TImage используется для рисования графических объектов и геометрических фигур. Полезным свойством компонента TImage является Canvas (холст), которое включает, в частности, свойства Pen, Brush. Канва имеет методы: MoveTo (используется для перемещения невидимого графи! ческого курсора в заданную точку) и LineTo (позволяет рисовать линии)! Эти два метода используются для рисования графика на канве TImage. Кем ординаты задаются в пикселах, горизонтальная ось направлена слева напра-J во, вертикальная - сверху вниз. Вариант решения задачи приводится на рис] 18. Выбраны следующие размеры для Image 1: Width = 305, Height = 154. Осы абсцисс проведена при значении у0 = 75. unit prim4; interface Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; TForm1 class (TForm) Panel1: TPanel; Button1: TButton; BitBtnl: TBitBtn; Edit1: TEdit;
TLabel; TEdit; TLabel; TImage; TLabel;: TBevel; procedure Edit1KeyPress (Sender: TObject; var Key: Char); procedure Button1Click (Sender: TObject); end; var Form1: TForm1;
Дата добавления: 2014-12-29; Просмотров: 341; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |