Основные алгоритмические конструкции языка С/С++ презентация

Содержание

Слайд 2

Операторы языка с/с++ Оператор – неделимый элемент программы, выполняющий определенные

Операторы языка с/с++ Оператор – неделимый элемент программы, выполняющий определенные алгоритмические действия

Условные

операторы (if…else; switch…)

Условные конструкции

Циклические операторы (for(); while();do…while())

Циклические конструкции

Оператор разрыва break; оператор продолжения continue; оператор возврата return

Безусловные конструкции

Простой оператор; пустой оператор; составной

Слайд 3

Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на

Разветвляющиеся алгоритмы

Задача. Ввести два целых числа и вывести на экран наибольшее

из них.
Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).

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

Слайд 4

Вариант 1. Блок-схема полная форма ветвления блок «решение»

Вариант 1. Блок-схема

полная форма ветвления

блок «решение»

Слайд 5

Вариант 1. Программа main() { int a, b, max; printf("Введите

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

main()
{
int a, b, max;
printf("Введите два целых числа\n");

scanf("%d%d", &a, &b );
if (a > b) {
}
else {
}
printf("Наибольшее число %d", max);
}

max = a;

max = b;

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

Слайд 6

Условный оператор if ( условие ) { // что делать,

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

if ( условие )
{
// что делать, если

условие верно
}
else
{
// что делать, если условие неверно
}

Особенности:
вторая часть (else …) может отсутствовать (неполная форма)
если в блоке один оператор, можно убрать { }

Слайд 7

Что неправильно? if a > b { a = b;

Что неправильно?

if a > b {
a = b;
}

else
b = a;

if ( a > b ) {
a = b;
else
b = a;

if ( a > b )
else
b = a;

if ( a > b )
a = b;
c = 2*a;
else
b = a;

}

}

{

a = b;

Слайд 8

Вариант 2. Блок-схема неполная форма ветвления

Вариант 2. Блок-схема

неполная форма ветвления

Слайд 9

Вариант 2. Программа main() { int a, b, max; printf("Введите

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


main()
{
int a, b, max;
printf("Введите два целых числа\n");

scanf("%d%d", &a, &b );
max = a;
if (b > a)
printf("Наибольшее число %d", max);
}

max = b;

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

Слайд 10

main() { int a, b, max; printf("Введите два целых числа\n");

main()
{
int a, b, max;
printf("Введите два целых числа\n");
scanf("%d%d", &a,

&b );
max = b;
if ( ??? )
???
printf("Наибольшее число %d", max);
}

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

max = a;

a > b

Слайд 11

Задания Ввести три числа и найти наибольшее из них. Пример:

Задания

Ввести три числа и найти наибольшее из них.
Пример:
Введите три

числа:
4 15 9
Наибольшее число 15
Ввести пять чисел и найти наибольшее из них.
Пример:
Введите пять чисел:
4 15 9 56 4
Наибольшее число 56
Слайд 12

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

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

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

Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.
Слайд 13

Вариант 1. Алгоритм начало ввод x 'подходит' конец да нет

Вариант 1. Алгоритм

начало

ввод x

'подходит'

конец

да

нет

x >= 25?

да

нет

x <= 40?

'не подходит'

'не подходит'

Слайд 14

Вариант 1. Программа main() { int x; printf("Введите возраст\n"); scanf("%d",

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

main()
{
int x;
printf("Введите возраст\n");
scanf("%d", &x);
if (x >=

25)
if (x <= 40)
printf("Подходит");
else printf("Не подходит");
else
printf("Не подходит");
}
Слайд 15

Вариант 2. Алгоритм начало ввод x 'подходит' да нет x >= 25 и x 'не подходит'

Вариант 2. Алгоритм

начало

ввод x

'подходит'

да

нет

x >= 25 и
x <= 40?

'не подходит'

Слайд 16

Вариант 2. Программа main() { int x; printf("Введите возраст\n"); scanf("%d",


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

main()
{
int x;
printf("Введите возраст\n");
scanf("%d", &x);
if

( x >= 25 && x <= 40 )
printf("Подходит");
else printf("Не подходит");
}

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

Слайд 17

Вложенность условных конструкций if (условие1) if (условие2) оператор1; else оператор2;

Вложенность условных конструкций

if (условие1)
if (условие2) оператор1;
else оператор2;
else оператор3;

if (условие1) оператор1;
else if (условие2) оператор2;
else оператор3;
if (условие1)
if (условие2) оператор1;
else оператор2;

1

2

3

Слайд 18

СЛЕДУЕТ ЗНАТЬ: Если проверяемые условия не влияют друг на друга,

СЛЕДУЕТ ЗНАТЬ:

Если проверяемые условия не влияют друг на друга, т.е. последовательность

их вычисления безразлична, то в тексте программы их располагают по принципу: условие, с наибольшей вероятностью принимающее значение true – на первом месте, с меньшей вероятностью на втором и т.д.
При вложенности операторов каждое else соответствует ближайшему if.
Конструкции со степенью вложенности более 2-3 избегать, из-за сложности анализа при отладке программы.
Слайд 19

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

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

Сложное условие – это условие, состоящее из нескольких простых условий

(отношений), связанных с помощью логических операций:
! – НЕ (not, отрицание, инверсия)
&& – И (and, логическое умножение, конъюнкция, одновременное выполнение условий)
|| – ИЛИ (or, логическое сложение, дизъюнкция, выполнение хотя бы одного из условий)
Простые условия (отношения)
< <= > >= == !=

равно

не равно

Слайд 20

Сложные условия Порядок выполнения сложных условий: выражения в скобках !

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

Порядок выполнения сложных условий:
выражения в скобках
! (НЕ, отрицание)
<, <=,

>, >=
==, !=
&& (И)
|| (ИЛИ)
Пример:
2 1 6 3 5 4
if ( !(a > b) || c != d && b == a)
{
...
}
Слайд 21

Истинно или ложно при a = 2; b = 3;

Истинно или ложно при a = 2; b = 3; c

= 4;
!(a > b)
a < b && b < c
!(a >= b) || c == d
a < c || b < c && b < a
a > b || !(b < c)
Для каких значений x истинны условия:
x < 6 && x < 10
x < 6 && x > 10
x > 6 && x < 10
x > 6 && x > 10
x < 6 || x < 10
x < 6 || x > 10
x > 6 || x < 10
x > 6 || x > 10

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

1

1

0

(-∞, 6)


(6, 10)

(10, ∞)

(-∞, 10)

(-∞, 6) ∪ (10,∞)

(-∞, ∞)

(6, ∞)

x < 6

x > 10

x < 10

x > 6

1

1

Слайд 22

Задания Ввести номер месяца и вывести название времени года. Пример:

Задания

Ввести номер месяца и вывести название времени года.
Пример:
Введите номер

месяца:
4
весна
Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет».
Пример:
Введите возраст: Введите возраст:
24 57
Вам 24 года Вам 57 лет
Слайд 23

Оператор поливариантного выбора switch (выражение) { case constant1:операторы; break; case

Оператор поливариантного выбора


switch (выражение) {
case constant1:операторы;
break;
case constant2:операторы;

break;

case constantn:операторы;
break;
default: операторы;
}
Условие выбора

д1

д2

дn

1

2

n

иначе

Операторы
программы

Имя файла: Основные-алгоритмические-конструкции-языка-С/С++.pptx
Количество просмотров: 63
Количество скачиваний: 0