Операторы языка с++. Операторы в языке C++ предназначены для описания действий. Любой оператор может быть помечен меткой. Операторы отделяются друг от.

Презентация:



Advertisements
Похожие презентации
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Advertisements

Операторы языка Си Лекция 5.
Введение в C++ Урок 3-4. ОПЕРАТОРЫ ЦИКЛА Операторы цикла используются для организации многократно повторяющихся вычислений. - цикл с предусловием while,
©ρŧą Базовые конструкции языка.
Тема: Управление потоком в PHP Изучить возможности языка PHP при решении задач, требующих использования условного оператора. Рассмотреть примеры управления.
Алгоритмические конструкции. Виды алгоритмов 1. Линейные алгоритмы 2. Разветвляющие алгоритмы 3. Циклические алгоритмы.
Операторы цикла. Циклический процесс, или просто цикл, – это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле,
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Лекция 8. Структура языка С/С++. Циклы с предусловием и постусловием. Реализация циклов с помощью операторов ветвления и передачи управления. Операторы.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Часть 1: «Основы программирования». Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и.
Виды алгоритмических структур: –блок-схема. –линейный алгоритм. –алгоритмическая структура «ветвление». –алгоритмическая структура «выбор». –алгоритмическая.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
b5_java_s4
Лекция 4 Представление основных структур: итерации, ветвления, повторения. Вспомогательные алгоритмы и процедуры.
Операторы языка C#. Блок или составной оператор. Пустой оператор С помощью фигурных скобок несколько операторов языка, возможно перемежаемых объявлениями,
Лекция 4 Инструкции. Инструкции С++ инструкция: объявление ; выражение opt ; { последовательность_инструкций opt } if ( условие ) инструкция if ( условие.
Презентацию составила учитель первой категории МБОУ СОШ 14 имени К.С.Федоровского г.Юрги Кемеровской области Яковлева Ирина Владимировна.
Транксрипт:

Операторы языка с++

Операторы в языке C++ предназначены для описания действий. Любой оператор может быть помечен меткой. Операторы отделяются друг от друга точкой с запятой. В теории программирования доказано, что программу для решения задачи любой сложности можно составить только из трех структур [4]: 1.Линейная. 2.Разветвляющаяся. 3.Циклическая. Эти структуры называются базовыми конструкциями структурного программирования. Линейной называется конструкция, представляющая собой последовательное соединение двух или более операторов. Ветвление – задает выполнение одного из двух операторов, в зависимости от выполнения какого либо условия. Цикл – задает многократное выполнение оператора.

Отображение базовых конструкций на блок-схеме Следование ВетвлениеЦикл Целью использования базовых конструкций является получение программы простой структуры. Такую программу легко читать, отлаживать и при необходимости вносить в нее изменения. Структурное программирование также называют программированием без goto, т. к. частое использование операторов перехода затрудняет понимание логики работы программы. Но иногда встречаются ситуации, в которых применение операторов перехода, наоборот, упрощает структуру программы. Операторы управления работой программы называют управляющими конструкциями программы. К ним относят: 1)составные операторы; 2)операторы выбора; 3)операторы циклов; 4)операторы передачи управления.

Составные операторы К составным операторам относят: 1) собственно составные операторы; 2) блоки. В обоих случаях это последовательность операторов, заключенная В фигурные скобки. Блок отличается от составного оператора наличием определений в теле блока. Пример 1. Составной оператор: { n++; summa+=n; } Пример 2. Блок: { int n=0; n++; summa+=n; } Отличием примера 1 от примера 2 является наличие определения переменной n.

Операторы выбора К операторам выбора относятся: 1. Условный оператор; 2. Переключатель.

Условный оператор имеет полную и сокращенную форму. Сокращённая форма используется, если в задаче имеется более двух условий. Сокращенная форма для условного оператора имеет вид [1]: if (выражение-условие ) оператор; В качестве выражения-условия могут использоваться арифметическое выражение, отношение и логическое выражение. Если значение выражения-условия отлично от нуля (т.е. истинно), то выполняется оператор, следующий за условным. Полная форма используется, если в задаче необходимо выполнение задачи при наличие двух условий. Полная форма для условного оператора имеет вид: if ( выражение-условие ) оператор 1; else оператор 2; Если значение выражения-условия отлично от нуля, то выполняется оператор 1, при нулевом значении выражения- условия выполняется оператор 2. Пример 3 1) if (a<0) b = 1;// 1 2) if (a d || a==0)) b++; else {b* = a; a = 0;}// 2 3) if (a<b) {if (a<c) m = a; else m = c;} else {if (b<c) m = b; else m = c;}// 3 В пункте 1) примера 3 отсутствует ветвь else. Подобная конструкция называется «пропуск оператора», поскольку присваивание либо выполняется, либо пропускается в зависимости от выполнения условия. Если требуется проверить несколько условий, их объединяют знаками логических операций. Например, выражение в пункте 2) примера 3 будет истинно в том случае, если выполнится одновременно условие a<b и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом – ИЛИ. Оператор в пункте 3) примера 3 вычисляет наибольшее значение из трех переменных. Фигурные скобки в данном случае не обязательны. Пример 4 if (d>=0) { x1=(-b-sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a); cout<< \nx1=<<x1<<x2=<<x2; } else cout<<\n Решения нет;

Переключатель Переключатель определяет множественный выбор. Общая форма для записи переключателя имеет вид: switch (выражение) { case константа 1 : оператор 1 ; case константа 2 : оператор 2 ; [default: операторы;] } При выполнении оператора switch, вычисляется выражение, записанное после switch, оно должно быть целочисленным. Полученное значение последовательно сравнивается с константами, которые записаны следом заcase. При первом же совпадении выполняются операторы помеченные данной меткой. Если выполненные операторы не содержат оператора перехода, то далее выполняются операторы всех следующих вариантов, пока не появится оператор перехода или не закончится переключатель. Если значение выражения, записанного после switch не совпало ни с одной константой, то выполняются операторы, которые следуют за меткой default. Метка default может отсутствовать. Пример 5 #include void main() { int i; cout >i; switch(i) { case 1:cout<<"\nthe number is one"; case 2:cout<<"\n2*2="<<i*i; case 3:cout<<"\n3*3="<<i*i; break; case 4:cout<<"\n"<<i<<" is very beautiful!"; default:cout<<"\nThe end of work"; } Результаты работы программы, представленной в примере 25 следующие: При вводе 1 будет выведено: The number is one 2*2=1 3*3=1 При вводе 2 будет выведено: 2*2=4 3*3=4 При вводе 3 будет выведено: 3*3=9 При вводе 4 будет выведено: 4 is very beautiful! При вводе всех остальных чисел будет выведено: The end of work Выход из переключателя обычно выполняется с помощью операторов break или return, о которых будет рассказано далее.

Операторы циклов Операторы цикла используются для организации многократно повторяющихся вычислений. Любой цикл состоит из тела цикла, то есть тех операторов, которые выполняются несколько раз, начальных установок, блока модификации параметра цикла и проверки условия выхода из цикла (рис. 12), которая может размещаться либо до тела цикла (тогда говорят о цикле с предусловием), либо после тела цикла (цикл с постусловием). В теории программирования различают два вида циклов: 1)арифметические; 2)итерационные; Арифметические или счетные циклы – циклы с управляющей переменной (счетчиком или параметром цикла). Выполняется известное число раз. Итерационные – циклы, которые выполняются в зависимости от истинности или ложности заданного условия. В итерационных циклах известно условие выполнения цикла. Итерационными циклами являются циклы «с предусловием» и циклы «с постусловием». Один проход цикла называется итерацией. Переменные, принудительно изменяющиеся в цикле и использующиеся при проверке условия выхода из него, называются параметрами цикла. Целочисленные параметры цикла, изменяющиеся на целое число на каждой итерации, называются счетчиками цикла. Нельзя передавать управление извне внутрь цикла. Выход из цикла возможен как при выполнении условия выхода, так и по операторам break, return или безусловного перехода.

Цикл с предусловием (while), цикл с постусловием (do while), цикл с параметром (for) Цикл с предусловием реализует структурную схему и имеет вид: while ( выражение ) оператор; Выражение определяет условие повторения тела цикла, представленного простым или составным оператором. Если выражение не равно 0 (истинно), выполняется оператор цикла, после чего опять вычисляется выражение. Если при первой проверке выражение равно 0, цикл не выполнится ни разу. Тип выражения должен быть арифметическим или приводимым к нему. Пример 6. Программа печатает таблицу значений функции y=x2+1 во введенном диапазоне). #include int main(){ float Xn, Xk, Dx; printf("Введите диапазон и шаг изменения аргумента: "); scanf("%f%f%f", &Xn, &Xk, &Dx); printf("| X | Y |\n");//шапка таблицы int X = Xn;//начальные установки цикла while (X<=Xk){//проверка условия выхода printf("| %5.2f | %5.2f |\n", X, X*X + 1);//тело X += Dx;//модификация } Цикл с постусловием реализует структурную схему и имеет вид: do оператор while (выражение); Сначала выполняется простой или составной оператор, составляющий тело цикла, а затем вычисляется выражение. Если оно не равно 0 (истинно), тело цикла выполняется еще раз, и так далее, пока выражение станет равным нулю или в теле цикла не будет выполнен какой-либо оператор передачи управления. Тип выражения должен быть арифметическим или приводимым к нему: Пример 7. Проверка ввода. #include int main() { char answer; do { cout > answer; }while (answer != 'y'); } Цикл с параметром (for) имеет следующий формат: for ( инициализация; выражение; модификации) оператор; Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать несколько операторов, разделенных запятой. Выражение определяет условие выполнения цикла: если оно не равно 0 (истинно), цикл выполняется. Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую. Простой или составной оператор представляет собой тело цикла. Любая из частей оператора for может быть опущена (но точки с запятой надо оставить на своих местах!). Пример 8. Оператор, вычисляющий сумму чисел от 1 до 100:for (int i = 1, s = 0; i<=100; i++) s += i; Пример 9. Программа печатает таблицу значений функции y=x2+1 во введенном диапазоне: #include int main() { float Xn, Xk, Dx; printf("Введите диапазон и шаг изменения аргумента: "); scanf("%f%f%f", &Xn, &Xk, &Dx); printf("| X | Y |\n");

Операторы передачи управления Оператор goto Оператор безусловного перехода goto имеет формат: goto метка; В теле той же функции должна присутствовать ровно одна конструкция вида: метка: оператор; Оператор goto передает управление на помеченный оператор. Метка – это обычный идентификатор, областью видимости которого является функция, в теле которой он встречается. Использование оператора безусловного перехода оправдано в двух случаях: принудительный выход вниз по тексту программы из нескольких вложенных циклов или переключателей; переход из нескольких мест функции в одно (например, если перед выходом из функции необходимо всегда выполнять какие-либо действия). В остальных случаях для записи любого алгоритма существуют более подходящие средства. Оператор break Оператор выхода из цикла break обеспечивает переход на оператор, непосредственно следующий за оператором if,switch или цикла, внутри которых находится оператор break. Пример 30. Программа вычисляет значение гиперболического синуса вещественного аргументах с заданной точностью eps с помощью разложения в бесконечный ряд: sh x = 1 +x3/3! +x5/5! +x7/7! + … #include #include int main() { const int MaxIter = 500;/*ограничитель количества итераций*/ double x, eps; cout > x >> eps; bool flag = true; /*признак успешного вычисления */ double y = x, ch = x; /*сумма и первый член ряда*/ for (int n = 0; fabs(ch) > eps; n++) { ch *= x * x /(2 * n + 2)/(2 * n + 3); //очередной член ряда y += ch; if (n > MaxIter) { cout << "\n Ряд расходится!"; flag = false; break; } if (flag) cout << "\n Значение функции: " << y; } Вычисление заканчивается, когда абсолютная величина очередного члена ряда, прибавляемого к сумме, станет меньше заданной точности. Оператор continue Оператор перехода к следующей итерации цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации. Оператор return Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Вид оператора: return [ выражение ]; Выражение должно иметь скалярный тип. Если тип возвращаемого функцией значения описан как void, выражение должно отсутствовать.