Databases. Part XVIII «Условия, повторения и счетчики»

Databases. Part XVIII «Условия, повторения и счетчики»

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

Начнем с инструкции условия. Инструкция условия выглядит так:

Хочу обратить ваше внимание, на то, на что нужно обратить внимание :) Во-первых, что можно написать в качестве условия?? Все то, что может возвращать логическое значение, то есть либо true, либо false. А это выражения, содержащие: операции отношения, логические операции или логические переменные. Во-вторых, конструкция else, то есть блок инструкций, срабатывающих, если условие ложно, является необязательным.

Пример:

Есть два вещественных числа… предположим одинарной точности, то есть типа single. Необходимо их сравнить, и вывести сообщение о том, что они равны или наоборот неравны. Задача очень простая, но здесь есть одна заморочка. Вещественные числа хранятся в памяти в экспоненциальном формате, то есть в виде мантиссы и порядка, а они являются целыми числами. В зависимости от того, сколько байтов выделяется на эти числа, зависит, насколько точно будет представлено данное вещественное число. И как только прозвучало слово точность, можно представить, что какое-то число туда может и не влезть, а значит будет не точным и округлено. Отсюда мораль: 0.5 ? 0.5 :D потому что 0.5 может быть 0.50000000000000001 а может быть и 0.4999999999999999 :wacko: и сравнивать такие числа можно только с определённой погрешностью. Смотрим код:

Здесь вычисляется разница между числами, и если она настолько мала, что ею можно пренебречь, то числа равны следующая инструкция – повторение:

Для реализации цикла «до» вместо while используется until. Итак, инструкция повторения – это цикл, в котором в зависимости от выполнения (цикл «пока») или не выполнения (цикл «до») условия, повторяется выполнение инструкций. Схему работы инструкции повторения можно изобразить так:

Пример:

Предположим, пользователь должен ввести число от 1 до 10, после чего произойдут какие-то дальнейшие действия. Необходимо обеспечить правильный ввод данных:

В данном примере пользователь не сможет продолжить работу с программой, пока не введет корректные данные.

И последняя инструкция в этой теме – это повторение со счетчиком:

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

Пример:

Давайте посчитаем сумму четных чисел от 1 до введенного пользователем числа. На четность числа я предлагаю проверять оператором mod, вычисляя остатки от деления на два.

Можно написать это еще проще, задать начальное значение i=2 и step 2, тогда условие вообще не понадобится.


Карта сайта


Информационный сайт Webavtocat.ru