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

Содержание

Оператор «выражение» i++; a+=2; x=a+b; ; Основное назначение выражения: 1) определить порядок вычисления некоторого выражения; 2) найти значение выражения. Если результатом вычисления выражения является число, то данное выражение – арифметическое.

Слайд 1Лекция 3


Слайд 2Оператор «выражение»

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

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


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

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

Слайд 4#include
#include
using namespace std;
void main()
{
float x,y;
coutx>>y;
bool Ok=(y>=-x+1&& y

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"<}

Слайд 62. Составные операторы
2.1. Составные операторы
2.2. Блоки
{
n++; //это составной оператор
summa+=n;
}
{
int n=0;
n++; //это блок
summa+=n;
}


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

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

Условная операция

<выражение> ? <выражение_1>:<выражение_2>

(левоассоциативная операция)

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


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


Слайд 93. Операторы выбора
3.1. Условный оператор

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

if

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


Слайд 11Найти решение квадратного уравнения 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);
}
}

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

. . . . . . . . . .
[default: операторы;]
}

Слайд 14Пример

#include
using namespace std;
void main()
{
int i;
couti;
switch(i)
{
case 1:cout

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


Слайд 15y=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 – оператор завершения какого-либо действия.
Моделирование оператора выбора аналогичного оператору

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

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

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

Слайд 184.1. Цикл с параметром
for (выражение_1;выражение-условие;выражение_3)
оператор;

Выражение_1 – задает начальные значения для

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

Слайд 19Вычислить F=n!=1∙2∙3∙4…∙n.
F=1;
for (i=1; i

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 элементов. Найти среднее

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

Слайд 21#include
using namespace std;
void main()
{
int a,n,i;
double s=0;
coutn;
for(i=1;i


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);
}
...

Слайд 234.2. Цикл с предусловием
while (выражение-условие)
оператор;

Пример
a=1;s=0;
while (a!=0)
{
cin>>a;
s+=a;
}


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

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

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


Слайд 254.3. Цикл с постусловием
do
Оператор;
while (выражение-условие);

Пример
s=0;
do
{
cin>>a;
s+=a;
}
while(a!=0);


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

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

Слайд 27//вариант программы №1
#include
using namespace std;
void main()
{
int a,min;
couta;
min=a;
while(a!=0)
{
cout

a";
cin>>a;
if (a!=0&&a}
cout<<"\nmin="<}

Слайд 28//вариант программы №2
#include
using namespace std;
void main()
{
int a,min;
couta;
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()
{
int a,min;
couta;
min=a;
for(;a!=0;)


{
cout<<"\nEnter a";
cin>>a;
if (a!=0&&a}
cout<<"\nmin="<}

Слайд 30Учебник стр.1 - 49


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

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое ThePresentation.ru?

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


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

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