Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Цикл While




While <условие> Do <оператор>;

Если условие истинно, то выполняется оператор.

Пример. Найти минимальное слагаемое к единице, изменяющее ее (машинный эпсилон - погрешность в вычислениях).

Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры

Var e: real; //объявление переменной

Begin e:=1;While e/2+1>1 do e:=e/2; //цикл определения погрешности

Label1.caption:=FloatToStr(e) end; //вывод погрешности в метку Label1

1.4.9. Оператор присоединения имени ‑ With

Оператор используется для сокращения записи при обращении к полям записей, к свойствам и методам объектов и имеет вид:

With<список имен записей или объектов через запятую>Do <оператор>;

Допускается вложенность операторов With.

Запись вида: With A Do ... With B Do ... With C ...

эквивалентна записи: With A, B, C Do ...

В операторе после Do можно не уточнять ссылки для полей, свойств и методов записей и объектов, соответственно, указанных после With.

Пример обращения к полям Fam и Gr записи Sotrudnik. Вместо операторов Sotrudnik.Fam:=’Иванов’; Sotrudnik.Gr:=1970; можно записать:

With Sotrudnik Do Begin Fam:=’Иванов’; Gr:=1970; End;

Вставка команд ассемблера

Вставляемые команды оформляются в виде:

Asm

<строки с командами ассемблера>

End;

Можно составлять на ассемблере (символьный язык машинных команд компьютера) целые функции и процедуры.

Примерфункции Add на ассемблере сложения двух чисел:

Procedure TForm1.Button1Click(Sender: TObject); //проверка функции Add

Function add(X,Y:Integer):Longint;//функция сложения двух чисел

Asm //начало вставляемых команд ассемблера

Mov EAX,X //значение X записывается в регистр EAX

Add EAX,Y //содержимое регистра EAX увеличивается на Y

End; //окончание вставляемых команд ассемблера и всей функции Add

Begin Label1.Caption:=IntToStr(add(1,2)); End; //проверка функции Add(1,2)

Использование ассемблера повышает эффективность работы программ, расширяет их возможности, но усложняет процесс программирования.

Вопросы для самопроверки и контроля

Вопросы для самопроверки

1. Можно ли досрочно выйти из любого цикла?

2. Может ли счетчик счетного цикла изменяться на число, отличное от единицы?

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

1. Допускается ли вложенность составных операторов?

2. Разрешается ли передавать управление извне вовнутрь цикла или другой подпрограммы?

3. Можно ли включать команды ассемблера в исходный текст программы?

4. Почему рекомендуется минимизировать число операторов GoTo в программе?

 

1.5. Объектно‑ориентированное программирование


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал