Разделы презентаций


Ветвление

Содержание

Лекция 5ПланЗадания для самопроверкиУсловный операторЛогические выраженияОператор ветвления

Слайды и текст этой презентации

Слайд 1Ветвление
Алтайский государственный университет Математический факультет Кафедра информатики
Барнаул 2009

ВетвлениеАлтайский государственный университет Математический факультет Кафедра информатикиБарнаул 2009

Слайд 2Лекция 5
План
Задания для самопроверки
Условный оператор
Логические выражения
Оператор ветвления

Лекция 5ПланЗадания для самопроверкиУсловный операторЛогические выраженияОператор ветвления

Слайд 3Два задания для самопроверки
Задание для самопроверки 1
Задание для самопроверки 2


Два задания для самопроверкиЗадание для самопроверки 1Задание для самопроверки 2

Слайд 4Три задания для самопроверки
Задание для самопроверки 1
Что будет выведено?

#include

void

main(){
int a, b=2, c=3; a=b+=c=1

3 3 1
Три задания для самопроверкиЗадание для самопроверки 1Что будет выведено?	#include void main(){	int a, b=2, c=3; a=b+=c=1

Слайд 5Три задания для самопроверки
Задание для самопроверки 2
Что будет выведено?

#include

void

main(){
int a, b=2, c=3; a=(b+=(c=1))

0 3 1
Три задания для самопроверкиЗадание для самопроверки 2Что будет выведено?	#include void main(){	int a, b=2, c=3; a=(b+=(c=1))

Слайд 6Ветвление и условный оператор
Разветвляющиеся алгоритмы
Условный оператор
Сложные условия

Ветвление и  условный операторРазветвляющиеся алгоритмыУсловный операторСложные условия

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

вывести на экран наибольшее из них.
Идея решения: надо вывести на

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

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

Ветвление и условный операторРазветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее из них.Идея решения:

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

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

Слайд 9Ветвление и условный оператор
Вариант 1. Программа
main()
{
int a, b, max;

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

if (a > b) {

}
else {

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

max = a;

max = b;

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


Слайд 10Ветвление и условный оператор
Условный оператор
if ( условие )
{

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


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

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

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

Слайд 11Ветвление и условный оператор
Что неправильно?
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;

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

Слайд 12Ветвление и условный оператор
Вариант 2. Блок-схема
неполная форма ветвления

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

Слайд 13Ветвление и условный оператор
Вариант 2. Программа

main()
{
int a, b, max;

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

max = a;
if (b > a)

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

max = b;

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


Слайд 14Ветвление и условный оператор
main()
{
int a, b, max;
printf("Введите

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

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

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

max = a;

a > b


Слайд 15Ветвление и условный оператор
Упражнения
1. Ввести три числа и найти наибольшее

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

число 15
2. Ввести пять чисел и найти наибольшее из них.
Пример:
Введите пять чисел:
4 15 9 56 4
Наибольшее число 56
Ветвление и условный операторУпражнения1. Ввести три числа и найти наибольшее из них.  Пример:		Введите три числа:		4

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

лет включительно. Ввести возраст человека и определить, подходит ли он

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

Слайд 17Сложные условия
Вариант 1. Алгоритм
начало
ввод x
'подходит'
конец
да
нет
x >= 25
да
нет
x

подходит'

Сложные условияВариант 1. Алгоритмначаловвод x'подходит'конецданетx >= 25данетx

Слайд 18Сложные условия
Вариант 1. Программа
main()
{
int x;
printf("Введите возраст\n");
scanf("%d", &x);
if

(x >= 25)
if (x

printf("Подходит");
else printf("Не подходит");
else
printf("Не подходит");
}

Слайд 19Сложные условия
Вариант 2. Алгоритм
начало
ввод x
'подходит'
да
нет
x >= 25 и
x

подходит'

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

Слайд 20Сложные условия

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

&x);
if ( x >= 25 && x

)
printf("Подходит");
else printf("Не подходит");
}

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


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

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

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

равно

не равно

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

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


=
==, !=
&& (И)
|| (ИЛИ)
Пример:
2

1 6 3 5 4
if ( !(a > b) || c != d && b == a)
{
...
}
Сложные условияСложные условияПорядок выполнения сложных условий:выражения в скобках! (НЕ, отрицание) ===, !=&& (И)|| (ИЛИ)Пример:   2

Слайд 23Сложные условия
Истинно или ложно при 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

Сложные условияИстинно или ложно при a = 2; b = 3; c = 4;!(a > b)a <

Слайд 24Сложные условия
Задания
1. Ввести номер месяца и вывести название

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

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

Слайд 25Оператор выбора
Множественное ветвление
Оператор выбора switch, break
Особенности употребления


Оператор выбораМножественное ветвлениеОператор выбора switch, breakОсобенности употребления

Слайд 26Оператор выбора
Задача: Ввести номер месяца и вывести количество

дней в этом месяце.


Решение: Число дней по месяцам:
28 дней – 2 (февраль)
30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)
31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.

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

Оператор выбораЗадача: Ввести номер месяца и вывести количество

Слайд 27Оператор выбора
Алгоритм
начало
конец
оператор выбора
ни один вариант не подошел
ввод M
да
нет
M = 1
D

= 31;
нет
M = 2
D = 28;
да
нет
M = 12
D = 31;
да

вывод D

ошибка

Оператор выбораАлгоритмначалоконецоператор выборани один вариант не подошелввод MданетM = 1D = 31;нетM = 2D = 28;данетM =

Слайд 28Оператор выбора
Программа
main()
{
int M, D;
printf("Введите номер месяца:\n");
scanf("%d", &M);

switch ( M ) {
case 2: D =

28;
case 4: case 6: case 9: case 11: D = 30;
case 1: case 3: case 5: case 7:
case 8: case 10: case 12:
D = 31;
default: D = -1;
}
if (D > 0) printf("В этом месяце %d дней.", D);
else printf("Неверный номер месяца");
}

ни один вариант не подошел

break;

break;

break;

выйти из
switch


Слайд 29Оператор выбора
Оператор выбора
Задача: Ввести букву и вывести название животного на

эту букву.


Особенность: выбор по символьной величине.

main()
{
char c;
printf("Введите первую букву названия животного:\n");
scanf("%c", &c);
switch ( c ) {
case 'а': printf("Антилопа"); break;
case 'б': printf("Бизон"); break;
case 'в': printf("Волк"); break;
default: printf("Я не знаю!");
}
}

Оператор выбораОператор выбораЗадача: Ввести букву и вывести название животного на

Слайд 30Оператор выбора
Оператор выбора
Особенности:
аргументом switch может быть имя переменной или арифметическое

выражение целого типа (int)
или символьного типа (char)
нельзя ставить

два одинаковых значения:

switch ( i+3 ) {
case 1: a = b; break;
case 2: a = c;
}

switch ( x ) {
case 1: a = b; break;
case 1: a = c;
}

Оператор выбораОператор выбораОсобенности:аргументом switch может быть имя переменной или арифметическое выражение целого типа (int)  или символьного

Слайд 31Оператор выбора
Упражнения (с защитой от неверного ввода)
1. Ввести номер месяца

и вывести количество дней в нем, а также число ошибок

при вводе.
Пример:
Введите номер месяца: Введите номер месяца:
-2 2
Введите номер месяца: В этом месяце 28 дней.
11 Вы вводили неверно 0 раз.
В этом месяце 30 дней.
Вы вводили неверно 1 раз.
2. Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года.
Пример:
Введите номер месяца:
12
Введите день:
25
До Нового года осталось 6 дней.
Оператор выбораУпражнения (с защитой от неверного ввода)1. Ввести номер месяца и вывести количество дней в нем, а

Слайд 32Вопросы и ответы
Вопросы?
Условный оператор
Логические выражения
Оператор ветвления


Юрий Эсауленко Астроном
Холст, масло, 110

Х 85 см,1998 год

Вопросы и ответыВопросы?Условный операторЛогические выраженияОператор ветвленияЮрий Эсауленко АстрономХолст, масло, 110 Х 85 см,1998 год

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

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

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

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

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


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

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