Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Урок 5. Задачи с простым условиемСодержание книги
Поиск на нашем сайте
Алгоритм разветвляющийся В линейных алгоритмах все команды выполняются одна за другой последовательно. Однако часто приходится выбирать тот или иной вариант действий в зависимости от некоторого условия, то есть, если условие выполняется, поступать одним способом, а если не выполняется - другим. 1. Поместить в ячейки x и y числа. В этом алгоритме в шаге 2 записано разветвление. Разветвление всегда начинается со слова ЕСЛИ, после которого обязательно записывается УСЛОВИЕ. Дальнейшая работа алгоритма определяется тем, выполняется или нет УСЛОВИЕ. У нас в качестве условия выступает сравнение содержимого ячеек x и y. if (условие) оператор_1; else оператор_2; где if (условие) оператор; Вариант программы с полным условным оператором приведен ниже: #include<stdio.h> Запишем вариант программы с использованием сокращенной формы условного оператора: #include<stdio.h> По возможности следует избегать программирования условного оператора с else, поскольку это усложняет логику программы и может привести к неверной реализации алгоритма. Как еще можно записать условие Условие представляет из себя логическое выражение. Слово "логическое" означает, что такое выражение может принимать одно из двух значений: истина или ложь (1 или 0 соответственно). Если условие выполняется, то логическое выражение принимает значение "истина", если не выполняется - то "ложь". > больше Однако в языке Си условие может быть записано не обязательно в виде логического выражения. Это настолько гибкий язык, что любое выражение, принимающее некоторое числовое значение, может выступать в качестве условия. При этом действует правило: любое ненулевое значение является истинным, а если значение выражения равно 0, условие является ложным. int a; В этом примере значение условия больше нуля, следовательно истинно, поэтому сообщение будет выведено на экран. Можно записать даже еще проще: int a; В скобках записан оператор присваивания, значением которого является значение выражения. Оно, естественно, в нашем примере тоже истинно. int a; Здесь в качестве условия стоит операция проверки на равенство, и условие это ложно, поскольку a не равно 2. Следовательно, соответствующий текст не будет выведен на экран. int a; А вот здесь условием является присваивание, переменная a получает значение 2, и условие получается истинным. Понятие блока операторов Если в случае выполнения условия вместо одного необходимо выполнить сразу несколько операторов, то они заключаются в фигурные скобки. Несколько операторов, заключенных в фигурные скобки, называются блоком операторов. Условный оператор с блоком оператороввыглядит следующим образом: if(условие) Рассмотрим пример. Пусть требуется написать программу, решающую линейное уравнение: k*x+b=0 (k не равно 0) Эта задача реализуется с помощью простого линейного алгоритма, решение находится по формуле x=-b/k, для работы алгоритма вводятся значения b и k. Однако есть одна тонкость: в условии говорится, что k не должно быть равно нулю. Поскольку заранее неизвестно, какие числа будут введены, надо в программе уметь отделить этот случай. Здесь как раз можно использовать условный оператор, проверяющий значение k, и в случае если k равно 0, остановить выполнение программы с помощью блока операторов. Фрагмент программного кода: if(k==0) Здесь использован еще один оператор языка Си - return. Он позволяет немедленно выйти из программы из любой ее точки. Если выход выполняется из функции main(), как в наших программах, управление передается среде Linux. Значение 0 не используется. Вложенный условный оператор В операторе if - else непосредственно после ключевых слов if и else должны следовать другие операторы. Если хотя бы один из них является оператором if, его называют вложенным. Согласно принятому в языке Си соглашению, слово else всегда относится к ближайшему предшествующему ему if. float x,y,z,max; // Выделены ячейки памяти На примере этой программы видно, как важно записывать строки кода с отступами. При этом видна вся структура программы, понятен программный код, легче обнаруживать ошибки.
Резюме В этом уроке вы познакомились со вторым типом алгоритмов - разветвляющимися алгоритмами. Они реализуются с помощью условного оператора. Условный оператор можно использовать в полной или сокращенной форме. Вопросы для самопроверки 1. Какие виды условных операторов вы знаете? 2. адания для самостоятельной работы к уроку 5 3. Во всех заданиях следует составить программу на языке Си. Задания приведены по возрастающей сложности 1. Определить максимальное и минимальное значения из двух различных вещественных чисел. 4. В каком году началась вторая мировая война?
5. 6. Написать программу, которая вычисляет оптимальный вес человека, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: рост (в сантиметрах) - 100. Рекомендуемый вид экрана во время работы программы: 6. Введите в одной строке рост (в см.) и вес и нажмите <Enter>
7. 7. Даны радиус круга и сторона квадрата. У какой фигуры площадь больше?
|
|||||||
Последнее изменение этой страницы: 2016-04-07; просмотров: 638; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.63.131 (0.008 с.) |