Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Простые и составные операторы

Содержание

Пример. Нахождение суммы первых 20 натуральных чисел и вывод сумм на экран.#include #include using namespace std;int main(){int sum=0; //суммаint c=0; //счетчикwhile (c++
Простые и составные операторыЕсли ветвь условной конструкции или тело цикла содержит несколько Пример. Нахождение суммы первых 20 натуральных чисел и вывод сумм на экран.#include Условная конструкция.Различают три формы условной конструкции :простейшая (в Паскале - if … Простейшая условная конструкция.Псевдокод : если то 	всеСиif ()	В отличие от Паскаля выражение Расширенная условная конструкцияПсевдокод : если то 	иначе	 всеСиif()	else Примеры.if(a>b&&b>c)	f=x*x-1;else	f=x+1;‘;’ перед else является частью оператора присваивания в ветви if.if(x>5||x Отличия от Паскаля: 1.  Выражение обязательно заключается в скобки.2.  ”;” ставится перед else, Допускается вложенность операторов if. Если нет составного оператора, else относится к ближайшему Если необходимо, чтобы else соответствовал первому if, добавим { }. Операция условия - сокращённый способ записи if- else (тернарная).В общем виде условное выражение записывается следующим образом:Например:	x=(y Множественный выбор: switch и breakswitch ()  /*выражение может быть типа int В каждой последовательности операторов последним должен быть оператор break. Выполнение оператора break В качестве меток-констант используются выражения типа int или char.В качестве метки запрещается Пример. Игра в города#include #include using namespace std;int main(){setlocale(LC_ALL, Правила выбора условных операторовВыбор из двух возможностей - выполнить оператор или пропустить Циклы Существует три базовых структуры цикла:    цикл-пока (с предусловием) Цикл-пока (while) Псевдокодцикл-пока 	кцСиwhile () , где - любого типа. Пока значение выражения Пример 1. Напечатать целые числа от 1 до 100 и их квадраты./*Здесь Пример 2. Сколько членов гармонического ряда S=1+1/2+1/3+...+1/n надо взять, чтобы получить сумму, Цикл for 	Псевдокодцикл от i:= до [ шаг ]	кц	Си for (; ; ) ,где – инициализирующее: вычисляется один раз до начала цикла; – проверяемое: вычисляется Оператор for эквивалентен следующей последовательности операторов: ;while()  {   ;  } Пример 1. Найти сумму n членов гармонического ряда S=1+1/2+1/3+...+1/n.	Операция «запятая» связывает два Пример 2. Найти минимальное n, при котором  S=1+1/2+1/3+...+1/n > dano.	 	for (n=0, S=0.0; S Пример 3. Счет в порядке убывания 	for(n=10;n>0;n--)	  printf ( Пример 4. Переменная цикла может быть не только числом, но и символом. for(ch='a';ch Следующие записи эквивалентны:	while () 				и	for (; ;) Применение операторов for или while Пример 6. Вложенные циклы.Вычислить все совершенные числа, меньшие или равные заданному числу int main(){int n, sum, del, smax; printf ( Цикл с постусловием do…whileПсевдокодцикл	до кцСиdo 	while()Тело цикла всегда выполняется хотя бы один Пример.Найти минимальное число членов гармонического ряда с S > dano i = Управляющие операторы  break, continue, gotoПо возможности следует избегать их использования. Все break - выход из ближайшего цикла любого вида или switch и переход continue - окончание текущей итерации данного цикла. В циклах while и do Оператор gotogoto метка;    Метка должна быть идентификатором, например:
Слайды презентации

Слайд 2 Пример. Нахождение суммы первых 20 натуральных чисел и

Пример. Нахождение суммы первых 20 натуральных чисел и вывод сумм на

вывод сумм на экран.
#include
#include
using namespace std;

int main()
{int

sum=0; //сумма
int c=0; //счетчик

while (c++<20) //увеличение после сравнения
{
sum=sum+c; // или sum+=c
printf ("sum=%d\n", sum);
}
return 0;
}

Слайд 3 Условная конструкция.
Различают три формы условной конструкции :
простейшая (в

Условная конструкция.Различают три формы условной конструкции :простейшая (в Паскале - if

Паскале - if … then… );
расширенная (в Паскале -

if … then … else … );
выбор (в Паскале - case … of… ).


Слайд 4 Простейшая условная конструкция.
Псевдокод :
если то

все
Си
if

Простейшая условная конструкция.Псевдокод : если то 	всеСиif ()	В отличие от Паскаля

()

В отличие от Паскаля выражение может иметь любой тип.

0, ‘\0’ и NULL считаются ложью, остальные значения - истиной.

Слайд 5 Расширенная условная конструкция
Псевдокод :
если то

иначе

Расширенная условная конструкцияПсевдокод : если то 	иначе	 всеСиif()	else


все
Си
if()

else



Слайд 6 Примеры.
if(a>b&&b>c)
f=x*x-1;
else
f=x+1;

‘;’ перед else является частью оператора присваивания в

Примеры.if(a>b&&b>c)	f=x*x-1;else	f=x+1;‘;’ перед else является частью оператора присваивания в ветви if.if(x>5||x

ветви if.
if(x>5||x


Слайд 7 Отличия от Паскаля:
1.  Выражение обязательно заключается в скобки.
2.  ”;”

Отличия от Паскаля: 1.  Выражение обязательно заключается в скобки.2.  ”;” ставится перед

ставится перед else, если только нет составного оператора. (“;”-

часть <оператора1>).
3.  Другой приоритет вычисления логического выражения
-  сначала операции отношения
-  затем логические операции !, &&, || (не, и, или).
Приоритет операций отношения меньше, чем у операций “+” и “-” и больше, чем у операции присваивания:
х>у+2 то же, что и х>(у+2).

Слайд 8 Допускается вложенность операторов if. Если нет составного оператора,

Допускается вложенность операторов if. Если нет составного оператора, else относится к

else относится к ближайшему if. Рассмотрим пример.
if (number>6)

if (number<12)
printf ("Конец игры!\n");
else
printf ("Потеря хода!\n");


Слайд 9 Если необходимо, чтобы else соответствовал первому if, добавим

Если необходимо, чтобы else соответствовал первому if, добавим { }.

{ }. Рассмотрим пример.
if (number>6)
{
if (number


printf ("Конец игры!\n");
}
else
printf ("Потеря хода!\n");

Слайд 10 Операция условия - сокращённый способ записи if- else

Операция условия - сокращённый способ записи if- else (тернарная).В общем виде условное выражение записывается следующим образом:Например:	x=(y

(тернарная).
В общем виде условное выражение записывается следующим образом:


Например:
x=(y

(у<0)
х=-у;
else
х=y;
Условное выражение удобно использовать в тех случаях, когда некоторой переменной надо присвоить одно из двух возможных значений, например:
max = (а > b)?a:b;

(<условие>)?<значение если истинно>:<значение если ложно>;


Слайд 11 Множественный выбор: switch и break
switch () /*выражение

Множественный выбор: switch и breakswitch () /*выражение может быть типа int

может быть типа int или char*/
{
case :

1> //операторы могут отсутствовать
case <константа 2>: <операторы 2> //константы типа int или char

default: <операторы>
//ветвь не обязательна
}

Если значение выражения совпадает с одной из констант, выполняются операторы, расположенные после соответствующей константы.
Если подходящей метки не найдется, то, если существует строка с меткой "default", будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенно-му за оператором switch.


Слайд 12 В каждой последовательности операторов последним должен быть оператор

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

break.
Выполнение оператора break осуществляет выход из оператора switch

и переход к следующему за ним оператору.
При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой и заканчивая оператором default.

char ch='1';
switch (ch)
{
case '1': printf ("один\n");
case '2': printf ("два \n");
default : printf ("три \n");
}

один
два
три


Слайд 13 В качестве меток-констант используются выражения типа int или

В качестве меток-констант используются выражения типа int или char.В качестве метки

char.
В качестве метки запрещается использовать переменную.
Можно пометить оператор несколькими

метками одновременно. Например,

case 'E':
case 'е': printf ("ель\n"); break;

Слайд 14 Пример. Игра в города
#include
#include
using namespace std;
int

Пример. Игра в города#include #include using namespace std;int main(){setlocale(LC_ALL,

main()
{setlocale(LC_ALL, "RUS");
char ch;

printf (“Введите букву а, б или в.

\n");
printf ("Я назову город на эту букву\n");
scanf("%c", &ch);

switch (ch)
{case 'a': printf ("\n Ашхабад"); break;
case ‘б': printf ("\n Белгород"); break;
case 'в': printf ("\n Воронеж"); break;
default: printf ("\n неизвестная буква"); break;
}
return 0;
}


Слайд 15 Правила выбора условных операторов
Выбор из двух возможностей -

Правила выбора условных операторовВыбор из двух возможностей - выполнить оператор или

выполнить оператор или пропустить его - оператор if.
 Выбор одного

из двух вариантов - if...else.          
Выбор одного из нескольких - else-if, switch.
Если выбор вариантов основывается на вычислении значения переменной или выражения типа float, то switch применить нельзя.
Если значения переменной попадают в некоторый диапазон, использовать switch неудобно. Лучше записать:

if (i <1000 && i>2).


Слайд 16 Циклы
Существует три базовых структуры цикла:

Циклы Существует три базовых структуры цикла:  цикл-пока (с предусловием)	 (в


цикл-пока (с предусловием)
(в Паскале - while …

do…);
цикл-до (с постусловием)
(в Паскале – repeat …until …);
цикл от … до (со счетчиком)
(в Паскале - for … to/downto do …).


Слайд 17 Цикл-пока (while)
Псевдокод
цикл-пока

кц
Си
while ()
, где
- любого

Цикл-пока (while) Псевдокодцикл-пока 	кцСиwhile () , где - любого типа. Пока значение

типа. 
Пока значение выражения отлично от 0 (т.е.истинно), повторяется выполнение

операторов в теле цикла.
Оператор может быть простым или составным.
while является циклом с предусловием, поэтому возможно, что он не выполнится ни разу.

Слайд 18 Пример 1. Напечатать целые числа от 1 до

Пример 1. Напечатать целые числа от 1 до 100 и их

100 и их квадраты.
/*Здесь и в следующих примерах пропущены

операторы
#include
#include
using namespace std;
*/


int main()
{
setlocale(LC_ALL,"RUS");
int n=0;
printf("число квадрат");
while(n++<100)
printf("%6d %6d\n",n,n*n);
return 0;
}


Слайд 19 Пример 2. Сколько членов гармонического ряда S=1+1/2+1/3+...+1/n надо

Пример 2. Сколько членов гармонического ряда S=1+1/2+1/3+...+1/n надо взять, чтобы получить

взять, чтобы получить сумму, большую числа dano?
int main()
{
int i=0;
float

dano, S=0.0;
 
printf ("введите число"); scanf("%f",&dano);
while (dano<=0.0)
{
printf("повторите ввод");
scanf ("%f", &dano);
}
while (S<=dano)
S+=1.0/(float)(++i);
printf (“число членов ряда=%d\n",i);
return 0;
}

Слайд 20 Цикл for
Псевдокод
цикл от i:= до [ шаг

Цикл for 	Псевдокодцикл от i:= до [ шаг ]	кц	Си for (; ; )

]

кц

Си
for (; ; )


<оператор>

Слайд 21 ,где
– инициализирующее: вычисляется один раз

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

до начала цикла;
– проверяемое: вычисляется перед каждым

выполнением оператора. Тело цикла выполняется, если значение проверяемого выражения истина (или не равно нулю);
<выражение 3> – корректирующее: вычисляется после каждого выполнения тела цикла.
Перед первым выполнением цикла проверяется <выражение 2>, т.е. тело цикла может не выполниться ни разу!
Любое выражение, а также оператор может отсутствовать, но точка с запятой сохраняется.

Слайд 22 Оператор for эквивалентен следующей последовательности операторов:

;
while(

Оператор for эквивалентен следующей последовательности операторов: ;while() {  ; }

2>)
{

;

}

Слайд 23 Пример 1. Найти сумму n членов гармонического ряда

Пример 1. Найти сумму n членов гармонического ряда S=1+1/2+1/3+...+1/n.	Операция «запятая» связывает

S=1+1/2+1/3+...+1/n.
Операция «запятая» связывает два выражения в одно и гарантирует,

что самое левое будет вычисляться первым. Обычно используется для включения дополнительной информации в спецификацию цикла for, например:
<выражение 1>, < выражение 2>
Значением всего выражения является значение <выражения 2> .

a) s=0.0;
for(i=1;i<=n;i++)
S=S+1.0/(float)i;

b) for (i=1, S=0.0; i<=n; i++)
S+=1.0/(float)i;


Слайд 24 Пример 2. Найти минимальное n, при котором

Пример 2. Найти минимальное n, при котором S=1+1/2+1/3+...+1/n > dano.	 	for (n=0, S=0.0; S

S=1+1/2+1/3+...+1/n > dano.
 
for (n=0, S=0.0; S

проверяемое выражение не обязательно использует параметр цикла.

c) for (i=1, S=0.0; i<=n; S+=1.0/(float)i++); //Здесь пустой цикл.

Это не очень хороший стиль программирования - лучше не смешивать процесс изменения переменной цикла с алгебраическими вычислениями.


Слайд 25 Пример 3. Счет в порядке убывания
for(n=10;n>0;n--)
printf

Пример 3. Счет в порядке убывания 	for(n=10;n>0;n--)	 printf (

("%d секунд !\n", n);
printf("пуск!\n");
 
Можно использовать любое значение шага цикла,

например:

for(n=2; n<60;n+=13)
printf("%d\n",n);

На экране получим 2 15 28 41 54.


Слайд 26 Пример 4. Переменная цикла может быть не только

Пример 4. Переменная цикла может быть не только числом, но и символом. for(ch='a';ch

числом, но и символом. 
for(ch='a';ch

%d\n", ch, ch);
При выполнении этого оператора будут выведены на печать все буквы от а до z и их коды ASCII. 

Пример 5. Можно пропустить одно или более выражений, но при этом нельзя пропустить символ “;”.
ans=2; for (n=3; ans<=25;) ans=ans*n;
for(;;) printf ("работаю\n"); 
Тело этого цикла будет выполняться бесконечное число раз, поскольку пустое условие всегда считается истинным.

Слайд 27 Следующие записи эквивалентны:

while ()
и
for (; ;)

Следующие записи эквивалентны:	while () 				и	for (; ;) Применение операторов for или



Применение операторов for или while -дело вкуса. Цикл for

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

Слайд 28 Пример 6. Вложенные циклы.
Вычислить все совершенные числа, меньшие

Пример 6. Вложенные циклы.Вычислить все совершенные числа, меньшие или равные заданному

или равные заданному числу smax.
Совершенное число равно сумме

своих делителей, исключая делитель, равный самому числу.
6=1+2+3.

Слайд 29 int main()
{int n, sum, del, smax;

printf ("введите

int main(){int n, sum, del, smax; printf (

предел");
scanf ("%d", &smax);
printf ("совершенное число\n");
for(n=6; n

n++)
{
sum= 1;
for(del=2; del if(n%del==0) sum+=del;
if (sum==n) printf(“%5d”,n);
}
return 0;
}

Слайд 30 Цикл с постусловием do…while
Псевдокод
цикл

до
кц
Си
do

while()
Тело цикла всегда

Цикл с постусловием do…whileПсевдокодцикл	до кцСиdo 	while()Тело цикла всегда выполняется хотя бы

выполняется хотя бы один раз. Выполнение цикла продолжается до

тех пор, пока выражение не станет ложным (равным 0).
В Паскале - наоборот, цикл продолжается пока выражение не станет истинным.

Слайд 31 Пример.Найти минимальное число членов гармонического ряда с S

Пример.Найти минимальное число членов гармонического ряда с S > dano i

> dano
i = 0; S=0.0;
do
S+=1.0/(float)++i;
while

(S< = dano);
При помощи этого цикла можно организовать ввод данных с проверкой их правильности, например.
do {
printf ("введите положительное число");
scanf("%f”, &dano);
}
while (dano < =0);

Слайд 32 Управляющие операторы break, continue, goto
По возможности следует избегать

Управляющие операторы break, continue, gotoПо возможности следует избегать их использования. Все

их использования. Все эти операторы предназначены для безусловного перехода.
Частое

применение этих операторов - признак низкой квалификации программиста и слабого владения структурным программированием.

Слайд 33 break - выход из ближайшего цикла любого вида

break - выход из ближайшего цикла любого вида или switch и

или switch и переход к следующему оператору программы.

do {…
for(...)
{… while( … )
{ …
if (…) break; /*выход из цикла while*/


<оператор 1>
if(…) break; /*выход из цикла for*/

}
<оператор 2>;
if (…) break; /*выход из цикла do while*/

} while(…);
<оператор 3 >





Слайд 34 continue - окончание текущей итерации данного цикла.
В

continue - окончание текущей итерации данного цикла. В циклах while и

циклах while и do … while происходит переход к

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

for (<выражение 1>;
< выражение2>; <выражение3>)
{
while(…)
{…
continue;

}

continue;
}





  • Имя файла: prostye-i-sostavnye-operatory.pptx
  • Количество просмотров: 141
  • Количество скачиваний: 0