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

Операторы ветвления. Битовые операции

Цели:

– изучить разветвленные алгоритмы и оператор While языка С++.

Краткие теоретические сведения

Условный оператор if используется для разветвления процесса вычислений на два направления, т.е. выбора одного из двух направлений дальнейшего хода программы.

Общий вид оператора:

If (условие) оператор1; [else оператор2;]

Оператор if может быть представлен тремя вариантами:

Без else,если выражение принимает значение не равное 0 (true). Тогда выполняется оператор 1 или группа операторов.

Например: if (a!=0) y=sqrt (a);

Если выражение не равно 0, выполняется следующий оператор, стоящий после if.

  1. В случае если выражение истинно (не равно 0), выполняется оператор 1, в противном случае – оператор, стоящий после слова else. Например:

if (a!=0) y=sqrt (a); else y=a*a;

  1. Вложенный оператор if. Если в задаче проверяется более двух значений условия, то после слова else может быть использован еще один оператор if. Например:

if (a = =2) y=a +2;

else if (a = =3) y=a+3;

else y=3;

Замечания

1.Одна из самых распространенных ошибок при записи условных операторов – это использование в выражениях вместо проверки на знак равенства (==) простого присваивания (=). Например: if (a=1) b=0;

2.Вторая ошибка – неверная запись проверки на принадлежность диапазону. Например, чтобы проверить условие 0<x<1, нельзя записать его в условном операторе непосредственно, так как будет выполнено сначала сравнение 0<x, а его результат (true или false, преобразованное в int) будет сравниваться с 1.

Правильный способ записи: if (0<x & & x<1)…

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

Примеры:

  • if (a<0) b=1;

  • if (a<b & & (a>d || a==0)) b++; else {b*==a; a=0;}

  • if (a<b) {if (a<c) m=a; else m=c;} else {if (b<c) m=b; else m=c;}

Цикл с предусловием (while)

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

while (int x = 0){ _ /* область действия х */ }

Выражение определяет условие повторения тела цикла, представленного простым или составным оператором. Выполнение оператора начинается с вычисле­ния выражения. Если оно истинно (не равно false), выполняется оператор цикла. Если при первой проверке выражение равно false, цикл не выполнится ни разу. Тип выражения должен быть арифметическим или приводимым к нему. Выражение вычисляется перед каждой итерацией цикла.

Пример (программа печатает таблицу значений функции y=x2+1 во введенном диапазоне):

#include <stdio.h>

int main()

{

float Xn. Xk. Dx;

printf("Введите диапазон и шаг изменения аргумента: ");

scanf(“%f%f%f", &Xn, &Xk, &Dx);

printf('l X | Y |\n"); // шапка таблицы

float X = Xn; // установка параметра цикла

while (X <=Xk) // проверка условия продолжения

{

printf(“I %5.2f I %5.2f | \n", X, X*X +1); // тело цикла X += Dx; // модификация параметра

}

return 0;}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]