Search Header Logo
C++ if switch

C++ if switch

Assessment

Presentation

Computers

University

Practice Problem

Hard

Created by

Romenion Kz

FREE Resource

21 Slides • 0 Questions

1

media

Шартты өту операторлары көмегімен тармақталу құрылымын программалау.

Лекция 5

1

2

media

Сабақтың мақсаты:

алгоритм түрлерімен таныстыру, тармақталған алгоритм құруды үйрету

Лекция 5

1

3

4

media

Выбор наибольшего из двух чисел

2

начало

M = a

ввод a,b

a > b?

M = b

конец

да

нет

вывод M

полная
форма

ветвления

Если a = b?
?

if( a > b )

M = a;

else

M = b;

5

media

Вариант 1. Программа

3

int main()

{
int a, b, M;
cout << "Введите два целых числа:";
cin >> a >> b;
if( a > b )

else

cout << "Наибольшее число " << M;
}

M = a;

M = b;

полная форма

условного
оператора

6

media

Выбор наибольшего из двух чисел-2

4

неполная

форма

ветвления

начало

M = a

ввод a,b

M = b

конец

да

нет

b > a?

вывод M

7

media

Вариант 2. Программа

5

int main()

{
int a, b, M;
cout << "Введите два целых числа: ";
cin >> a << b;
M = a;
if( b > a )

M = b;

cout << "Наибольшее число " << M;
}

неполная

форма

условного
оператора

8

media

Примеры

6

if( a < b )

M = a;

if( b < a )

M = b;

Что плохо?
?

Когда работает неверно?
?

if( a < b )

{
c = a;
a = b;
b = c;
}

Что делает эта программа?
?

Поиск минимального:

{
c = a;
a = b;
b = c;
}

составной
оператор

Составной оператор (блок) в
фигурных скобках!
!

9

media

Вложенные условные операторы

7

Задача. В переменной a записан возраст Антона, а в

переменной b – возраст Бориса. Определить, кто из
них старше.

Сколько вариантов ответа?

if( a == b )

cout << "Одного возраста";

else

if( a == b )

cout << "Одного возраста";

else

cout << "Борис старше";

вложенный
условный
оператор

else относится к
ближайшему if(

10

media

Сложные условия

8

Задача. Фирма набирает сотрудников от 25 до 40 лет

включительно. Ввести возраст человека и определить,
подходит ли он фирме (вывести ответ "подходит" или
"не подходит").

Особенность: надо проверить, выполняются ли два

условия одновременно:

возраст >=25 возраст <=40

Можно ли решить известными методами?

11

media

Плохое решение

9

int main()

{
int v;
cout << "Введите ваш возраст";
cin >> v;
if( v >= 25 )

if( v <= 40 )

cout << "Подходит!";

else

cout <<"Не подходит.";

else

cout <<"Не подходит.";

}

вложенный
условный
оператор

12

media

Хорошее решение (операция «И»)

10

int main()

{
int v;
cout << "Введите ваш возраст";
cin >> v;
if( v >= 25 and v <= 40 )

cout << "Подходит!";

else

cout << "Не подходит.";

}

сложное
условие

13

media

Примеры

11

Задача. Вывести "Да", если число в переменной a –

двузначное.

if( 10 <= a and a <= 99 )

cout << "Да";

Задача. Вывести "Да", если число в переменной a –

двузначное и делится на 7.

if( 10 <= a and a <= 99

and a % 7 == 0 )

cout << "Да";

14

media

Сложные условия

12

Задача. Самолёт летает по понедельникам и четвергам.

Ввести номер дня недели и определить, летает ли в
этот день самолёт.

Особенность: надо проверить, выполняется ли одно из

двух условий:

день = 1

день = 4

if( d == 1 or d == 4 )

cout << "Летает";

else

cout << "Не летает";

сложное
условие

15

media

Ещё пример

13

Задача. Фирма набирает сотрудников от 25 до 40 лет

включительно. Ввести возраст человека и определить,
подходит ли он фирме (вывести ответ "подходит" или
"не подходит"). Использовать «ИЛИ».

if(

cout << "Не подходит!";

else

cout << "Подходит.";

v < 25 or v > 40)

16

media

Простые и сложные условия

14

Простые условия (отношения)

    <    <=    >    >=    ==    !=

Сложное условие – это условие, состоящее из

нескольких простых условий (отношений),
связанных с помощью логических операций:

И – одновременное выполнение условий

v >= 25 and v <= 40

ИЛИ – выполнение хотя бы одного из условий

v < 25 or v > 40

НЕ – отрицание, обратное условие

not (v > 25)

равно

не равно

v <=25

17

media

Порядок выполнения операций

15

• выражения в скобках
НЕ (not)
И (and)
ИЛИ (or)

1

if( not(a > 2) or c != 5 and b < a )

{
...
}

4

2

3

5

6

18

media

Сложные условия

16

Истинно или ложно

not (a > b)

(a < b) and (b < c)

(a > c) or (b > c)

(a < b) and (b > c)

(a > c) and (b > d)

not(a >= b) or (c == d)

(a >= b) or not (c < b)

(a > c) or (b > c) or (b > a)

Да

Да

Нет

Да

Да

Нет

Нет

Да

2

a

3

b

4
c

19

media

Логические переменные

17

bool b;
b = true; // 1
b = false; // 0

только два
возможных
значения

Пример:

bool vyh;
...
vyh = (d == 6) or (d == 7);
...
if( not vyh )

cout << "Рабочий день.";

else

cout << "Выходной!";

20

​switch(выражение)

{

    case значение_1: инструкции_1;

    case значение_2: инструкции_2;

    ...................

    case значение_N: инструкции_N;

     

    default: инструкции;

}

21

switch(c);
case 1: printf(“\n Дүйсенбі!”); break;
case 2: printf(“\n Сейсенбі!”); break;
case 3: printf(“\n Сәрсенбі!”); break;
case 4: printf(“\n Бейсенбі!”); break;
case 5: printf(“\n Жұма!”); break;
case 6: printf(“\n Сенбі!”); break; default:printf(“\n Жексенбі”); }

​Пернетақтадан енгізілген апта күндерінің рет саны бойынша олардың аттарын экранға шығар

media

Шартты өту операторлары көмегімен тармақталу құрылымын программалау.

Лекция 5

1

Show answer

Auto Play

Slide 1 / 21

SLIDE