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

Математические выражения

   В математических выражениях используются операции присваивания , сложения, вычитания, умножения, деления, целочисленного деления div, остатка от деления mod.

Логические выражения

   Логические выражения выполняются над операндами логического типа, то есть имеющими тип Boolean Delphi. Они применяются в основном в условных операторах.

Операторы Delphi

   Для создания приложений, реализующих сложную алгоритмическую логику, нужны средства управления ходом работы программы: изменения порядка выполнения операторов в зависимости от различных условий, и эффективной организации работы часто повторяющихся фрагментов. Математически доказано, что любой алгоритм можно закодировать с помощью

  • оператора присваивания

  • условного оператора

  • оператора цикла

   .Оператор присваевания работает следующим образом. Переменная, стоящая в левой части оператора, становится равной той величине, которая находится справа. Типы этих величин должны совпадать. В выражении, стоящем справа, также может использоваться переменная, стоящая слева    var A, B : Integer;    begin      A:=3;      B:=4;      A:=A*A+B*B;    end; .    

Вопрос №7

Условный оператор

Условный оператор позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия. Вот как он записывается:    if условие then действие else альтернатива ; Слова if (если), then (тогда), else (иначе) - зарезервированные. Действие и else альтернатива - это любые операторы Delphi, или несколько операторов, заключённых в логические скобки begin/end, или вызов подпрограммы. Если условие истинно, то выполняется действие, если ложно, то выполняется альтернатива.   Условие представляет собой логическое выражение. В нём сравниваются значения выражений (в том числе также и логических), вызов функций, возвращающих значения типа Boolean, и комбинирование этих значений с помощью логических операций: =,-,*,/,:= и т.п.

Вопрос №8

Оператор выбора

Оператор выбора Case. С его помощью возможно делать выбор из необходимого количества вариантов. Структура в языке Delphi оператора Case имеет следующий вид:

Case Переменная of

значение 1 : оператор 1;

значение 2 : оператор 2;

----

значение N : оператор N;

Else оператор;

end;

Case, of, else, end - зарезервированные слова.

Переменная - может быть одним из стандартных типов: символьным типом, целым числом, перечисляемым типом... Вместо значения может стоять простой оператор.

значение N - произвольное значение, того же типа, что и переменная.

оператор N - любые операторы.

Работа оператора Case осуществляется следующим образом. Вначале если необходимо вычисляется значение переменной. Затем ищется соответствие переменной значению N. При равенстве происходит выполнение оператора N и оператор case завершает свою работу. Если совпадений не найдено то выполняется оператор расположенный после слова else. При отсутствии оператора else, когда нет соответствия оператор case завершит свою работу и будет выполнен следующий оператор.

Вопрос №9

Цикл с предварительным условием

Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд.

Цикл с предварительным условием

 

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

Пока [выполняется условие], делать

Цикл с послеусловием

Repeat <тело_ цикла> until <условие>;

Повторять до тех пор, пока не выполнится

условие.

<тело цикла> – произвольная последовательность операторов.

Вопрос №10

Цикл с последующим условием

Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд.

Цикл с постусловием - REPEAT (англ. "повтор"). Примечательно, что этого цикла во многих языках программирования нет - есть только FOR и WHILE. Между тем, цикл с постусловием очень удобен.

Работает цикл точно так же, как и WHILE, но с одним лишь отличием, следующим из его названия - условие цикла располагается после тела цикла, а не до него.

Общий вид:

REPEAT

  {действия}

UNTIL {условие выхода из цикла};

Есть несколько моментов, на которые стоит обратить внимание. Во-первых, в качестве условия задаётся уже условие выхода из цикла, в то время как в цикле WHILE задаётся условие продолжения цикла. Во-вторых, при наличии нескольких команд, которые помещаются в тело цикла, заключать их в блок BEGIN .. END не нужно - зарезервированные слова REPEAT .. UNTIL сами составляют аналогичный блок.

Цикл с постусловием, в отличие от цикла с предусловием, всегда выполняется хотя бы один раз! Но, как и цикл WHILE, при неверно написанном условии цикл станет "вечным".

Решение задачи с помощью цикла REPEAT

Решение нашей задачи практически не изменится - всё останется, только условие будет стоять в конце, а само условие изменится на противоположное:

procedure TForm1.Button2Click(Sender: TObject);

var s,i: integer;

begin

  i:=0;

  s:=0;

  repeat

    Inc(i);

    Inc(s,i*i*i);

  until s >= 50000;

  Label1.Caption:=IntToStr(i-1);

end;

Вопрос №11

Цикл с параметром

Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд.

Цикл с параметром (другое его название - цикл по переменной) позволяет выполнить набор команд фиксированное число раз, т.е. число итераций должно быть известно до начала выполнения цикла. Особенностью данного цикла является то, что заводится специальная переменная-счётчик, которая последовательно проходит указанный диапазон значений. Значение этой переменной может быть использовано в блоке кода, находящемся в цикле.

Цикл с параметром описывается зарезервированным словом FOR (англ. "для"). Общий вид конструкции цикла FOR:

FOR переменная-счётчик := начальное_значение [TO / DOWNTO] конечное_значение DO

    {Действия}

Переменная-счётчик - объявленная выше переменная перечислимого типа (в большинстве случаев - число).

Начальное значение и конечное значение - границы диапазона, который последовательно "пробежит" переменная-счётчик. Значения, естественно, того же типа данных, что и переменная-счётчик.

При этом следует обращать особое внимание на указанные значения. В зависимости от их соотношения используется либо ключевое слово TO, либо DOWNTO. Слово TO используется в том случае, когда конечное значение больше начального, а DOWNTO - наоборот, т.е. когда цикл пойдёт по убыванию. В случае, если указанные значения не будут соответствовать ключевому слову, то требуемый результат не будет достигнут - цикл, вероятно, выполнится всего один раз.

В качестве действий указывается какая-либо команда, либо набор команд. Если команд несколько, их, как обычно, следует заключать в блок BEGIN .. END.

procedure TForm1.Button1Click(Sender: TObject);

var i: Integer;

begin

  Memo1.Lines.Clear;

  for i := 1 to 100 do 

    Memo1.Lines.Add(IntToStr(i)+': '+IntToStr(Sqr(i)))

end;

Вопрос №12

Каждая графическая программа начинает работу с задания некоторых начальных условий, которые включают в себя установку желаемого режима дисплея, выбор системы координат для задания точек, линий и т. д. На рисунке показан ряд вариантов, которые могут встретиться. А для рисования используется весь экран. Инициализация дисплея заключается в переключении его в «графический режим», а система координат установлена так, как показано на рисунке. Координаты x и y измеряются в пикселях, причем x возрастает вправо, а y — вниз.

Рис. 2.1. Некоторые часто встречающиеся варианты форматов дисплея

Получив такую систему в свое распоряжение, энергичный программист может разработать целый инструментарий сложнейших функций, использующих эти элементарные команды, и тем самым создать мощную библиотеку графических подпрограмм. Тогда законченные графические приложения могут писаться с применением этой персональной библиотеки.

Очевидная проблема состоит в том, что каждый графический дисплей использует для своей работы различные основные команды, а каждая программная среда имеет различные наборы инструментов для создания графических примитивов. Такое разнообразие делает затруднительным перенос программы из одной программной среды в другую (рано или поздно каждый сталкивается с необходимостью переделки программы под новую среду), следовательно, программист должен создавать все необходимые инструменты для новой программной среды. Необходимость подобной реконструкции может потребовать существенных изменений всей структуры библиотеки или приложения и большой работы программиста

Вопрос №13