ПредишенСледващото

Delphi изрази

В Delphi се прилагат програми
  • математически изрази
  • булеви изрази
  • изрази с низове
както и други.

математически изрази

В математически изрази се използват = задачата на оператора. Освен +. изваждане -. умножение *. разделяне /. целочислено деление Разделение. разделяне остатък мод. При използване на тези операции е важно техния приоритет, защото програмирането в Делфи, както е в традиционните математически изрази, не са изпълнени в реда, и като се вземе предвид приоритет. В операциите на умножение и деление на по-висок приоритет от събиране и изваждане.
Това означава, че в резултат на изразяването

не е равно на 1, като в случай на последователно изпълнение, и 6.2.

Ако искаме да го получите последователно прилагане, е необходимо да се използват скоби (), за да се отделят операциите, които се извършват на първо място. Скоби могат да бъдат вложени в рамките на един друг неограничен брой пъти:

Сега X е равен на 1.

В допълнение към четирите математически операции е наличен в Delphi множество математически функции, като tigonometricheskie, логаритмична, и т.н. Те са на разположение в програмата след добавяне на интерфейса използва раздел математика модул. Тяхното описание може да се намери в Math.pas модул (може да се намери с помощта на търсене на Windows). Много от тях може да се прилага, както и най-много, но вградени функции със сигурност ще бъде по-бързо и по-добре, защото написан на асемблер.

логически изрази

Логическите изрази се извършват на булева операнди, тоест, като вида на Булева Delphi. Те се използват главно в условни конструкции.

оператори Delphi

За да създават приложения, които реализират сложни алгоритмични логически необходими проверки за напредъка на програмата: промяна на реда на отчети в зависимост от различни условия, както и ефективната организация на повтарящи се фрагменти. Математически доказано, че всеки алгоритъм може да бъде кодиран с
  • оператор възлагане
  • условен оператор
  • оператор цикъл
С оператора за присвояване ": =" Ние вече сме запознати с Delphi Урок 2. Тя работи по следния начин. Частично, от лявата страна на оператора, става равна на стойността, която е в дясно. Видове тези ценности трябва да съвпадат. Изразът от дясната страна, може да се използва променлива, застанал в ляво. От математическа гледна точка, че е грешно, но в програмирането, това означава, че клетките от паметта е взета от първоначалната стойност, се извършват изчисленията и резултатът се записва в едно и също място на паметта, презаписване предишната стойност. например:

В началото на фрагмент променлива е равна на 3, и в края на -25.

Условно израз ви позволява да променяте реда на отчети в зависимост от определени условия. Ето как е писано:

ако състоянието след това действие друг алтернативен;

ако думата (ако), а след това (след това), друго (други) - запазени. Действие и алтернатива друго - някакви Delphi оператори или повече оператори затворени в скоби логически Начало / край. или подпрограма разговор. Ако състоянието е вярно, тогава се извършва действието. ако фалшив, тогава алтернативата.
Състояние е логически израз. В него се сравняват стойностите на изразите (включително и и логика) извиквания на функции, които връщат стойност от тип Булева. и комбиниране на тези стойности с логически операции:

Логическите операции могат да бъдат комбинирани с връзки:
и (логическа)
или (логическо OR)
XOR (изключителна ИЛИ)
За някои типове данни, има допълнителни операции. Например, за да настроите - операторът инча който проверява дали стойността на множеството входове. Например:
X: = [2, 4, 5, 7, 8, 10];
Експресия в X 2 е вярно (истинска стойност);
6 в X експресия е невярно (стойността е невярно);

Не е логично - отрицание


Резултатът от логичен и експлоатация е равна на истина. Ако и двата операнда са верни.
Резултатът от логическа операция ИЛИ е вярно. ако поне един от операндите е вярно.
Изходът на ексклузивно операцията е вярно. Ако величините не са равни.


Loop изявления ви позволяват да се организира многократно повтаряне на една и съща последователност от действия. В Делфи има три оператори, които могат да го правят:
  • "Simple" оператор цикъл
  • условно линия
  • условно повторение

Обикновено изявление контур се използва, когато знаеш, броя на повторенията. Той пише, както следва:
forschotchik: = експресия 1tovyrazhenie-2
направим ефект;
Counter - е променлива, която трябва да бъде обявен до логичния Блокът, в който се намира операторът на цикъл и неговия вид, трябва да бъде един от изброените видове, обикновено цяло число.
Експресия 1 и експресия 2 може да бъде постоянен или идентификатор и извикване на функция.
Действие - един или повече Delphi оператори. Ако тази група от оператори, те трябва да бъдат затворени в скоби логически Начало / край.
В началото на оператор променлива брояч получава стойността на експресията-1. Ако стойността на брояч е по-малка или равна на изразяването 2. че изявленията, включени в проекта. Това е един цикъл. След това, на променливата борсата се дава стойността на следващ ток и започва нов цикъл, т.е. сравнението на тезгяха и изразяването-2. действието. и така нататък, докато стойността на променливата борсата не надвишава стойността на израза-2.
Възможност за работа изявление цикъл, в който променливата борсата няма да се увеличава и намалява. В този случай, и ключовата дума, се разширява до Downto:
за брояч: = експресия-1 Downto-2 експресия направи ефект;
Съответно, експресията 1, трябва да бъде по-голяма от или равна на експресията 2.

Условно цикъл изявление е полезна в случаите, в които броят на повторенията не е известен предварително:
докато състояние направя
линия на тялото;
Тази линия ще бъде изпълнена, докато условието е вярно (логически израз, който връща стойност от тип Boolean). В този случай, ако изразът прав е невярно. тялото на цикъла не е никога няма да бъдат изпълнени.
Трябва да се следи отблизо условията за писане и попълване на контрола цикъл, в резултат на грешка при цикъл ще се повтаря безкрайно много пъти, което ще доведе до "безкраен цикъл" и програма "катастрофа".

Условно оператор за първи път изпълни тялото повторение цикъл. и след това се проверява изпълнението на условието:
повторение
контур тяло
до изпълнение на условията;
По този начин, това изпълнение на цикъла гарантира, че тялото на цикъла ще се изпълни най-малко веднъж. И ще се изпълнява докато условието е вярно (това е вярно). Заслужава да се отбележи, че това е единственият оператор на Delphi. където тялото на цикъла се изисква да влиза в логически скоби Начало / край. В началото и в края на тялото на цикъла се определят от ключови думи и повторете, докато.

Специални команди се използват във връзка с операторите на цикъла:
  • Екипът прекъсване на цикъла
  • продължаване на екипа на цикъл
Command прекъсване на цикъла се прилага, ако по време на цикъла на изпълнение се превръща оператори на тялото се нуждаят от завършване. Това е командата:
Счупете;
Когато се изпълнява, управлението се насочва към първия отчет следното изявление на цикъла.
продължаване на командния цикъл дава възможност веднага да продължи цикъла, като прескочите всички останали отчети в тялото на цикъла, това е, за да започне следващата итерация. Това е командата:
Продължи;

Справедливо е да се говори за още един оператор, ви позволява да промените последователността на изпълнение на програмата. Този преход оператор:
Отидох етикет;
Както етикета може да бъде всеки валиден идентификационен номер или номер от 0 до 9999. На етикета трябва да се декларират по-рано в раздела за описание на променливи, но не и при използване на реактивна ключовата дума. и етикет на ключова дума:
Metka етикет;
или
списъка с етикети на етикети;

Можете да преместите надолу, така и нагоре по програмата. А дебелото черво разделя етикета от оператора, което прави преход. Един пример за използване на оператора на преход:

Този пример показва, че краят на оператор; окончателната програма никога няма да бъде изпълнена, т.е. програмата ще връзка. Ето защо, като цяло, използването на оператора на преход е лоша програмиране практика. и без да е възможно да се направи с помощта на условни конструкции и отчети веригата. Единственият случай, в използването на отчета за Гото може да бъде оправдано - това е начин за излизане от няколко вложени цикъла, които иначе изисква няколко оператори Break.

Сортиране Масивите - типичен проблем, когато се използват цикли. Има много методи за сортиране на масиви. В разглеждания пример сортиране масив от "балона". В ръчен режим на работа на програмата може да се види как броят на изкачване на масива като изгорял балон, и е ясно името на метода.

въведете Point = Запис // Декларирам тип: Record
N, цифра: цяло число; // брой и стойност: число
приключи;
Var
Form1: TForm1;
раздела: масив [1..20] на точка; // Създаване на масив от Point Records тип

процедура TForm1.FormCreate (Sender: TObject);
започвам
StringGrid1.Cells [0, 0]: "брой" =; // Initialize колоните на таблицата
StringGrid1.Cells [1, 0]: = "стойност";
приключи;

процедура TForm1.Button1Click (Sender: TObject);
Var I: цяло число;
започвам
Случаен; // Инициализиране на "случайни" процес
Защото: = 1 до StringGrid1.RowCount-1 направи
започвам
раздела [Ь] .n: = I; // Задаване на клетките на серийните номера на масив
раздела [Ь] .digit: = Произволни (100); // Задаване клетки масив случайни стойности в диапазона от 0 до 100
StringGrid1.Cells [0, Ь]:; '.' = IntToStr (I) + // Ние номер на маса
StringGrid1.Cells [1, Ь]: = IntToStr (раздел [Ь] .digit); // Препишете стойности на масата
приключи;
приключи;

процедура TForm1.Button3Click (Sender: TObject);
започвам
Application.Terminate; // Процедурата за завършване на програмата
приключи;

Изрази и отчети Делфи

Възможно е да се леко подобряване на процеса на сортиране, което ще ускори този процес с около една четвърт. Фактът, че повечето от попълнения след всеки цикъл все още несортиран елемент се премества на мястото си на дъното на таблицата. Това означава, че след като к-ти цикъл е вече елементите на последния к не могат да бъдат разглеждани. За да постигне това, ще трябва да въведете променлива - брояч цикъл, и да го отнеме от променливата на цикъла. В този случай, същите 100000 тях вече сортирани в 24 секунди! Изпълнението на това изпълнение на читателя, поради изключителната простота.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!