Условные операторы и циклы.ppt
- Количество слайдов: 34
Операторы • Условные операторы – if - else. • Оператор цикла – while. • Сокращенные операции, операции инкремента и декремента. • Операторы цикла – for. • Оператор множественного выбора – switch. • Оператор цикла – do - while. • Использование операторов break и continue в циклах for и while. • Оператор return. • Решение различных задач.
Условные операторы – if - else. Формат оператора: if(условие) { блок операторов (если условие истинно) } Или if( условие ) { блок операторов 1; (если условие истинно) } else { блок операторов 2; (если условие истинно) } Пример – Студент получает стипендию, если его балл не ниже 5. Написать программу, которая сообщает о том, получил студент стипендию или нет. #include
Условные операторы – if - else. Пример – Студент получает стипендию, если его балл не ниже 5. Если же балл студента больше 8, то он получает повышенную стипендию. Написать программу, которая сообщает о том, получил студент стипендию или нет. #include
Условные операторы – if - else. Пример – ввести 2 значения с клавиатуры и вывести большее. #include
Условные операторы – if - else. Пример – ввести 2 значения с клавиатуры и вывести большее, или сообщить что они равны #include
Условные операторы – if - else. Пример – ввести 2 значения с клавиатуры и вывести большее, или сообщить что они равны #include
Условные операторы – if - else. Формат оператора: Операторы сравнения (Принимают значение true, если выражение верно): a > b - больше a < b - меньше a >= b - больше либо равно a <= b - меньше либо равно a == b - равно a != b - не равно Булевы операторы ! a - не А, отрицание (Принимает значение true, если A – false, и наоборот) a && b - А и В (Принимает значение true, если A и B – true) a || b - А или В (Принимает значение true, если A или B – true)
Оператор цикла – while. Формат оператора: while( условие ) оператор; Оператор while обеспечивает многократное повторение одного оператора, следующего за ним. Повторение происходит до тех пор, пока условие, находящееся в круглых скобках истинно. Для повторения более чем одного оператора, следует воспользоваться операторными скобками: while( условие ) { оператор 1; оператор 2; . . . оператор n; }
Оператор цикла – while. Пример 1 – вывести числа от 1 до 10. #include
Оператор цикла – while. Пример 2 – В группе учится 10 человек. Каждый из них получил баллы за тест от 0 до 100. Необходимо вычислить среднее арифметическое 10 введенных отметок. 1. Объявить необходимые переменные. 2. Установить счетчик в 0. 3. Установить сумму в 0. 4. Пока счетчик меньше 10: 4. 1. Ввести следующую оценку 4. 2. Прибавить оценку к сумме. 4. 3. Увеличить счетчик на 1. 5. Полученную сумму разделить на 10. 6. Вывести результат.
Оператор цикла – while. Пример 2 – В группе учится 10 человек. Каждый из них получил баллы за тест от 0 до 100. Необходимо вычислить среднее арифметическое 10 введенных отметок. #include
Оператор цикла – while. Пример 2 – Модифицируем код для достижения лучшего результата и защиты от введения неверных данных. 1. Объявить необходимые переменные. 2. Установить счетчик в 0. 3. Установить сумму в 0. 4. Пока счетчик меньше 10: 4. 1. Ввести следующую оценку 4. 1. 1. Если отметка выходит за допустимые границы – вывеси сообщение и предложить ввести ещё раз. 4. 2. Прибавить оценку к сумме. 4. 3. Увеличить счетчик на 1. 5. Полученную сумму разделить на 10. 6. Вывести результат.
Оператор цикла – while. Пример 2 – Модифицируем код для достижения лучшего результата – защиты от введения неверных данных. #include
Оператор цикла – while. Пример 3 – В группе учится произвольное количество человек. Каждый из них получил баллы за тест от 0 до 100. Необходимо вычислить средний балл группы. 1. Объявить необходимые переменные. 2. Установить счетчик в 0. 3. Установить сумму в 0. 4. Вести первую отметку. 5. Пока не ввели “-1”: 5. 1. Если отметка выходит за допустимые границы – вывеси сообщение об ошибке. Иначе: 5. 1. 1. Прибавить оценку к сумме. 5. 1. 2. Увеличить счетчик на 1. 5. 2. Ввести следующую оценку 6. Проверить, был ли введен хотя бы 1 результат. 7. Полученную сумму разделить на значение счетчика. 8. Вывести результат.
Оператор цикла – while. #include
Сокращенные операции. += -= *= /= %= a a a += 5 -= 7 *= 10 /=4 %= 2 a a a = = = a a a + – * / % 5 7 10 4 2
Операции инкремента и декремента. ++ a++ ++a a = a + 1 (Выполняется после выполнения основноего действия) a = a + 1 (Выполняется до выполнения основноего действия) -- a---a a = a – 1 (Выполняется после выполнения основноего действия) a = a - 1 (Выполняется до выполнения основноего действия) #include
Максимальное упрощение кода. #include
Упражнение – Задания № 1 и 2
Оператор цикла – for(<инициализация>; <условие>; <выражения приращения> ) <оператор> for(<инициализация>; <условие>; <выражения приращения> ) { <оператор 1> <оператор 2>. . . <оператор n> } <инициализация> - инициализация переменных цикла. Может содержать более одной переменной. Примеры: for( a = 0; a < 2; a-- ); for( a = 0, b = 5; a < 2; a-- ); for( int a = 0; a < 2; a-- ); <условие> - условие продолжения цикла. Т. е. цикл продолжается если данное условие – истина. Аналогичен условию в цикле while(<условие>); <выражения приращения> - действия, выполняющиеся в конце каждого круга цикла. Примеры: for( a = 0; a < 2; a++ ); for( a = 0; a < 2; a++, b++, c -= 10 ); Последовательность срабатывания выражений следующая: инициализация > условие > оператор(если условие истинно) > выражения
Оператор цикла – for. Пример 1 – вывести числа от 0 до 10. Альтернативой циклу while является цикл for. #include
Оператор цикла – for. Пример 2 – вычислить сумму всех четных чисел от 2 до 100. #include
Упражнение – Задания № 6 и 5
Оператор множественного выбора – switch( переменная ) { case значение 1: операторы; break; case значение 2: операторы; break; . . . case значение. N: операторы; break; default: операторы; break; } <переменная> - переменная, с которой осуществляется сравнение. <значение 1>, <значение 2>, … <значение. N> - значения, с которыми сравнивается переменная. Должны быть того же типа, что и переменная, и являться константами. <операторы> - действия, которые выполняются в случае, если значение переменной равно значению соответсвующего case.
Оператор множественного выбора – switch. Пример 1 – Написать простейший калькулятор с четырьмя действиями(+, -, *, /). #include
Упражнение – Модифицировать калькулятор так, чтобы он считал столько выражений, сколько требуется пользователю ( вместо одного ).
Оператор множественного выбора – switch. Пример 2 – Вводятся буквы от A до D без учета регистра. Посчитать количество каждой из введенных букв. Код программы – list 1. txt
Упражнение – Модифицировать данную программу так, чтобы она считала цифры от 0 до 9
Оператор цикла – do - while. Формат оператора: do оператор; while( условие ); do { операторы; } while( условие ); Пример – вывести числа от 1 до 10. while() : do - while(): #include
Использование операторов break и continue в циклах for и while. Операторы break и continue применяются в циклах for и while. break – мгновенно завершает выполнение циклов for и while. Выполнение продолжается со следующей за циклом операции. continue – приводит к пропуску следующих за continue операторов, завершает выполнение текущей итерации и переходит к выполнению следующей. В операторе while сразу за continue следует проверка условия продолжения цикла. В операторе for – сначала выполняется приращение, затем – проверка.
Использование операторов break и continue в циклах for и while. #include
Операторов return – мгновенной завершение функции. В случае использования оператора в функции main() получается автоматическое завершение программы. #include
Упражнения. 1. 2. 3. 4. 5. Y Напишите программу, которая вводит 2 целых числа – X и Y, и вычисляет выражение X. Напишите программу, которая бы считала факториал введенного числа. Модифицируйте предыдущую программу так, чтобы она считала количество нулей в конце вычисленного факториала. Напишите программу, которая бы переводила двоичное число в десятичное. Пример: При вводе числа 100101 ответ должен быть – 32 + 4 + 1 = 37 Напишите программу, вычисляющую число: либо 6. 7. 8. Для справки: e = 2, 7182845905 Написать программу, которая бы проверяла быстродействие компьютера: Программа считает от 0 до 4 000 с шагом 1. Каждые 1 000 операций программа выводит надпись на экран. Напишите программу, которая вводит целое число – размер стороны квадрата и рисует его на экране. Для числа равного 4 – рисунок принимает вид: **** Модифицировать программу, чтобы она выводила квадрат в виде: (введенное число - 5) ***** * * * *****
Упражнения. 9. Напишите программу, которая бы считывали некоторое количество значений и определяла наименьшее среди них. Для завершения ввода необходимо ввести зарезервированное значение. 10. Напишите программу, которая выводит один под другим следующие рисунки. Для вывода использовать только 3 оператора – printf(“*”); , printf(“ ”); и printf(“n”); * ****** ***** **** *** ***** ** ** ****** * * ****** 11. Напишите программу, вычисляющую число Пи по формуле: Для справки: п = 3, 1415926535897932384626433832795 12. Египетская тройка – такое соотношение катетов в прямоугольном треугольнике, при котором длина катетов и гипотенузы имеет целочисленное значение. Пример: 3, 4, 5 ( 3*3 + 4*4 = 5*5 ). Задача – найти все возможные египетские тройки от 1 до 500. Использовать цикл for тройной вложенности. 13. Нарисовать ромб, используя условия задачи № 10. Количество строк – произвольное нечетное число от 1 до 19 – ввести с клавиатуры программно проверить на нечетность. * ***** *** *