Операторы. Лекция 3 по алгоритмизации и программированию презентация

Содержание

Слайд 2

Оператор «выражение» i++; a+=2; x=a+b; ; Основное назначение выражения: 1)

Оператор «выражение»

i++;
a+=2;
x=a+b;
;
Основное назначение выражения:
1) определить порядок вычисления некоторого выражения;
2) найти значение

выражения.
Если результатом вычисления выражения является число, то данное выражение – арифметическое. Если результатом будет значение «истина» или «ложь», то это логическое выражение.
Слайд 3

Примеры решения задач Задача №1. Определить, попадет ли точка с

Примеры решения задач

Задача №1. Определить, попадет ли точка с координатами (х,

у ) в заштрихованную область.
Слайд 4

#include #include using namespace std; void main() { float x,y;

#include
#include
using namespace std;
void main()
{
float x,y;
cout<<"\nEnter x,y";
cin>>x>>y;
bool Ok=(y>=-x+1&& y<=2/3*x+2 &&

x>=0 && y>=0) ||
(x*x+y*y>=1 && x*x+y*y<=9 && x<=0) ||
(x>=0 && x<=1 && y<=-1 && y>=-3) ||
(x>=1 && x<=2 && y<=0 && y>=-3);
cout<<"\n"<}
Слайд 5

Слайд 6

2. Составные операторы 2.1. Составные операторы 2.2. Блоки { n++;

2. Составные операторы

2.1. Составные операторы

2.2. Блоки

{
n++; //это составной оператор
summa+=n;
}

{
int n=0;
n++; //это блок
summa+=n;
}

Слайд 7

ПРОГРАММИРОВАНИЕ ВЕТВЛЕНИЙ В языке С для программирования ветвлений существуют: 1)

ПРОГРАММИРОВАНИЕ ВЕТВЛЕНИЙ
В языке С для программирования ветвлений существуют:
1) условная операция;
2) условный

оператор
3) оператор-переключатель.

Условная операция
<выражение> ? <выражение_1>:<выражение_2>
(левоассоциативная операция)
Вычисляется значение выражения.
Если значение отлично от 0, то вычисляется «выражение_1».
Если выражение будет равно 0, то вычисляется «выражение_2» и результатом будет значение выражения 2.
max=(a>b)?a:b;

Слайд 8

Выражение-условие : арифметическое выражение, отношение, логическое выражение.

Выражение-условие :
арифметическое выражение,
отношение,
логическое выражение.

Слайд 9

3. Операторы выбора 3.1. Условный оператор if (выражение-условие) оператор; //сокращенная

3. Операторы выбора

3.1. Условный оператор

if (выражение-условие) оператор; //сокращенная форма

if (выражение-условие)

оператор;
else оператор; //полная форма
Слайд 10

Слайд 11

Найти решение квадратного уравнения ax2+bx+c=0. #include “stdio.h” #include “math.h” void

Найти решение квадратного уравнения ax2+bx+c=0.
#include “stdio.h”
#include “math.h”
void main ()
{ float a,b,c;
float

d,x1,x2;
printf(“\nВведите a, b, c”);
scanf(“%f%f%f”,&a,&b,&c);
d=b*b-4*a*c;
if (d>0) { printf(“\nДва корня”);
x1=(–b+sqrt(d))/(2*a);
x2=(–b–sqrt(d))/(2*a);
printf(“: x1=%8.3f x2=%8.3f”,x1,x2);
}
else { x1=–b/(2*a);
x2=sqrt(fabs(d))/(2*a);
if (d<0) { printf (“\n Комплексные корни”);
printf(“\nx1=%8.3f+%8.3f*I”,x1,x2);
printf(“\nx2=%8.3f-%8.3f*I”,x1,x2);
}
else printf (“\nКратный корень: %8.3f”,x1);
}
}
Слайд 12

3.2. Переключатель switch (выражение) { case константа1 : оператор1 ;

3.2. Переключатель

switch (выражение)
{
case константа1 : оператор1 ;
case константа2 : оператор2 ;
.

. . . . . . . . . .
[default: операторы;]
}
Слайд 13

Слайд 14

Пример #include using namespace std; void main() { int i;

Пример
#include
using namespace std;
void main()
{
int i;
cout<<"\nEnter the number";
cin>>i;
switch(i)
{
case 1:cout<<"\nThe number is

one";
case 2:cout<<"\n2*2="< case 3: cout<<"\n3*3="< case 4: cout<<"\n"< default:cout<<"\nThe end of work";
}
}

Результаты работы программы:
1. При вводе 1 будет выведено:
The number is one
2*2=1
3*3=1
1 is very beautiful!
The end of work
2. При вводе 2 будет выведено:
2*2=4
3*3=4
2 is very beautiful!
The end of work
3. При вводе 3 будет выведено:
3*3=9
3 is very beautiful!
The end of work
4. При вводе 4 будет выведено:
4 is very beautiful!
The end of work
5. При вводе всех остальных чисел будет выведено:
The end of work

Слайд 15

y=1.0; n=4; switch (n) { case 5: y=y*x; case 4:

y=1.0;
n=4;
switch (n)
{ case 5: y=y*x;
case 4: y*=x;
case 3: y*=x;
case 2: y*=x;
case 1:

y*=x; printf(“\ny=%e”,y);
default: printf(“\nСтепень больше 5”);
}
При х=2 фрагмент программы вычисляет значение 2^4.
Слайд 16

Оператор break – оператор завершения какого-либо действия. Моделирование оператора выбора

Оператор break – оператор завершения какого-либо действия.
Моделирование оператора выбора аналогичного оператору

выбора на языке Паскаль с помощью оператора-переключателя производится следующим образом:
switch (<целочисленное выражение>)
{ case <константа 1>: <список операторов>; break;
case <константа 2>: <список операторов>; break;
...
case <константа N>: <список операторов>; break;
[default: < список операторов >;]
}
Слайд 17

ПРОГРАММИРОВАНИЕ ЦИКЛОВ Если для решения задачи необходимо несколько раз подряд

ПРОГРАММИРОВАНИЕ ЦИКЛОВ
Если для решения задачи необходимо несколько раз подряд выполнить действие

или группу действий, то для этого организуются циклы.
Все циклические алгоритмы делятся на две группы:
количество повторений заранее известно (используются циклы с параметром);
количество повторений заранее неизвестно (используются циклы с предусловием и с постусловием).
Слайд 18

4.1. Цикл с параметром for (выражение_1;выражение-условие;выражение_3) оператор; Выражение_1 – задает

4.1. Цикл с параметром

for (выражение_1;выражение-условие;выражение_3)
оператор;
Выражение_1 – задает начальные значения для

цикла (инициализация) могут присутствовать
другие операторы присваивания.
Выражение-условие определяет условие выполнения
цикла, если оно не равно 0, цикл выполняется,
а затем вычисляется значение выражения_3.
Выражение_3 – задает изменение параметра цикла или
других переменных (коррекция).
Слайд 19

Вычислить F=n!=1∙2∙3∙4…∙n. F=1; for (i=1; i 2)for(F=1,i=1; i 3) for(i=1,F=1;

Вычислить F=n!=1∙2∙3∙4…∙n.
F=1;
for (i=1; i<=n; i+=1) F=F*i;
2)for(F=1,i=1; i<=n; i++) F=F*i;
3) for(i=1,F=1;

i<=n; i++) F=F*i;
4)F=1;
for (i=1; i<=n; F*=i,i++);
/* Сначала идет вычисление факториала, а затем изменение шага. Тело цикла является пустым.*/
5)for (F=1,i=1; i<=n; F*=i,i++);
6)for(F=1,i=1;i<=n; i++, F*=i);
вычисляет значение (n+1)!.
Слайд 20

Задача №2. Дана последовательность целых чисел из n элементов. Найти среднее арифметическое этой последовательности.

Задача №2. Дана последовательность целых чисел из n элементов. Найти среднее

арифметическое этой последовательности.
Слайд 21

#include using namespace std; void main() { int a,n,i; double

#include
using namespace std;
void main()
{
int a,n,i;
double s=0;
cout<<"\nEnter n";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"\nEnter a";
cin>>a;


s+=a;
}
s=s/n;
cout<<"\nсреднее арифметическое равно="<}
Слайд 22

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

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

от a до b значения функции y=sin x с шагом h. Данные задачи: x∈[a;b], h, y=sin x, x=x+h.
...
float a,b,h,x,y;
for (x=a;x<=b;x+=h)
{ y=sin(x);
printf(“\nx=%5.3f y=%5.3f”,x,y);
}
...
Слайд 23

4.2. Цикл с предусловием while (выражение-условие) оператор; Пример a=1;s=0; while (a!=0) { cin>>a; s+=a; }

4.2. Цикл с предусловием

while (выражение-условие)
оператор;
Пример
a=1;s=0;
while (a!=0)
{
cin>>a;
s+=a;
}

Слайд 24

Пример Найти сумму цифр произвольного целого числа. ... S=0; n=abs(n);

Пример
Найти сумму цифр произвольного целого числа.
...
S=0;
n=abs(n);
while (n)
{S+=n%10; // n%10 – выделяет

последнюю цифру числа
n/=10; ; // n/10 – «зачеркивает» последнюю цифру
}
...

Оператор цикла или один из операторов, составляющих тело цикла, обязательно должен изменить условие продолжения цикла. Особенность цикла с предусловием – тело цикла может не выполниться ни разу в случае, когда n=0.

Слайд 25

4.3. Цикл с постусловием do Оператор; while (выражение-условие); Пример s=0; do { cin>>a; s+=a; } while(a!=0);

4.3. Цикл с постусловием

do
Оператор;
while (выражение-условие);
Пример
s=0;
do
{
cin>>a;
s+=a;
}
while(a!=0);

Слайд 26

Задача №3. Дана последовательность целых чисел, за которой следует 0. Найти минимальный элемент этой последовательности.

Задача №3. Дана последовательность целых чисел, за которой следует 0. Найти

минимальный элемент этой последовательности.
Слайд 27

//вариант программы №1 #include using namespace std; void main() {

//вариант программы №1
#include
using namespace std;
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a;
min=a;
while(a!=0)
{
cout<<"\nEnter

a";
cin>>a;
if (a!=0&&a}
cout<<"\nmin="<}
Слайд 28

//вариант программы №2 #include using namespace std; void main() {

//вариант программы №2
#include
using namespace std;
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a;
If (a!=0)


{
min=a;
do
{
cout<<"\nEnter a";
cin>>a;
if (a!=0 && a }
while(a!=0);
cout<<"\nmin="<}
else cout<<"\nPYSTO\n";
}
Слайд 29

//вариант программы №3 #include using namespace std; void main() {

//вариант программы №3
#include
using namespace std;
void main()
{
int a,min;
cout<<"\nEnter a";
cin>>a;
min=a;
for(;a!=0;)


{
cout<<"\nEnter a";
cin>>a;
if (a!=0&&a}
cout<<"\nmin="<}
Имя файла: Операторы.-Лекция-3-по-алгоритмизации-и-программированию.pptx
Количество просмотров: 70
Количество скачиваний: 0