Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ООАП.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
1.01 Mб
Скачать

Экзаменационный вопрос № 19.

Программирование разветвляющихся вычислительных процессов на С++

В программах часто приходится выбирать дальнейший путь их выполнения в зависимости от получаемых данных. В C++ для этого имеются две разновидности операторов — условный оператор и оператор варианта. Условный оператор if в общем виде:

if(<условие>) <действие>;

В этом случае если условие выполняется , то программа совершит некоторое действие.

Например: if(a == 2) cout << a;

Здесь мы видим, что если некоторая переменная a станет равной 2, то программа её выведет. Для сравнения числа с 2 мы используем двойное равно ==. В С++ двойное равно == используется для любых сравнительных операций.

Что если мы захотим при невыполнении основного условия сделать что-нибудь другое? Для этого используется структура if(); else; Например:

if(a == 2) cout << a;

else cout << 0;

Здесь, если число равно 2, то программа его выведет, а иначе выведет 0.

Оператор варианта имеет вид:

if(a > 100) cout << 3;

else if(a > 50) cout << 2;

else if(a >= 0) cout << 1;

else cout << 0;

Здесь, если a больше 100 то программа выведет 3, а иначе будет смотреть другие варианты. Если число больше 50, то выведет 2, больше или равно 0 выведет 1, а если число отрицательно выведет 0.

Экзаменационный вопрос № 20.

Программирование циклических вычислительных структур на С++

Оператор с предусловием имеет следующий вид:

while (<выражение>) <оператор>;

Здесь <выражение> — выражение логического типа, <оператор> — оператор языка С++. В процессе работы цикла WHILE <оператор> выполняется, пока выполняется <условие> (принимает значение «истина»), т. е. сначала проверяется условие, потом выполняется оператор.

П р и м е р

X:=1;

while (X<=10) X:=X+0.5;

В данном примере на каждой итерации цикла значение переменной X увеличивается на 0,5. Цикл повторяется 10 раз.

Оператор цикла с постусловием записывается следующим образом:

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

Цикл do <оператор> функционирует, пока не выполнится <условие> (до значения «ложь»). Последовательность операторов между do и while реализуется как минимум один раз, т. е. сначала выполняется оператор, потом проверяется условие. Предыдущий пример можно переписать с помощью цикла do……while так:

X:=1;

do X:=X+0.5 while X>=10;

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

for (выражение инициализации; условие; выражение изменения)

оператор

Любая часть конструкции for() может быть опущена. Выражение инициализации выполняется только один раз в самом начале цикла. Инициализируется переменная, которой присваивается начальное значение. Условие должно быть логическим выражением и трактуется точно так же, как логическое выражение в цикле while(). Условие проверяется перед каждой итерацией. В конце каждой итерации выполняется выражение изменения. Обычно используется выражение инкрементации. Оператор — оператор (простой или составной) языка C++.

П р и м е р

j=1;

for (int i=3; i<8; i=i+1) j=j+i*3;

Оператор цикла for выполняет несколько действий:

1) инициализируется или объявляется переменная, которой присваивается начальное значение.

2) проверяет, выполняется ли логическое выражение в условии. Если, логическое выражение истинно, то выполняется оператор, после чего выполняется выражение изменения и действия повторяются, в противном случае выполнение оператора for заканчивается.