Инструкция if-elif-else, проверка истинности, трехместное выражение if/else
Условная инструкция if-elif-else (её ещё иногда называют оператором ветвления) — основной инструмент выбора в Python. Проще говоря, она выбирает, какое действие следует выполнить, в зависимости от значения переменных в момент проверки условия.
Синтаксис инструкции if
Сначала записывается часть if с условным выражением, далее могут следовать одна или более необязательных частей elif, и, наконец, необязательная часть else. Общая форма записи условной инструкции if выглядит следующим образом:
if test1: state1 elif test2: state2 else: state3
Простой пример (напечатает ‘true’, так как 1 — истина):
>>> if 1: ... print('true') ... else: ... print('false') ... true
Чуть более сложный пример (его результат будет зависеть от того, что ввёл пользователь):
a = int(input()) if a < -5: print('Low') elif -5 <= a <= 5: print('Mid') else: print('High')
Конструкция с несколькими elif может также служить отличной заменой конструкции switch — case в других языках программирования.
Проверка истинности в Python
- Любое число, не равное 0, или непустой объект — истина.
- Числа, равные 0, пустые объекты и значение None — ложь
- Операции сравнения применяются к структурам данных рекурсивно
- Операции сравнения возвращают True или False
- Логические операторы and и or возвращают истинный или ложный объект-операнд
Логические операторы:
X and Y
Истина, если оба значения X и Y истинны.
X or Y
Истина, если хотя бы одно из значений X или Y истинно.
not X
Истина, если X ложно.
Трехместное выражение if/else
Следующая инструкция:
if X: A = Y else: A = Z
довольно короткая, но, тем не менее, занимает целых 4 строки. Специально для таких случаев и было придумано выражение if/else:
A = Y if X else Z
В данной инструкции интерпретатор выполнит выражение Y, если X истинно, в противном случае выполнится выражение Z.
>>> A = 't' if 'spam' else 'f' >>> A 't'
pythonworld.ru
Оператор IF в PHP | Условие IF ELSE, несколько условий, альтернативный синтаксис
Оператор IF позволяет выполнить кусок кода только при в случае выполнения некоторых условий.
Например, мы можем уведомить пользователя, что дорогие товары доставляются бесплатно:
<?php $price = 1000; // Этот код выполнится только если $price > 500 if($price > 500) echo 'Бесплатная доставка!<br>'; // А этот код выполнится в любом случае echo 'Спасибо за заказ!'; ?>
Как видите, IF выполняет следующую за ним команду, если выражение в круглых скобках принимает значение true.
Для выполнения нескольких команд нужно поместить их в фигурные скобки {}:
<?php $price = 120; // Этот код выполнится только при $price > 100 if($price > 100) { $price -= 10; echo 'Ваша скидка 10р'; } // А этот код выполнится в любом случае echo 'Спасибо за заказ!'; ?>
Конструкция IF ELSE
Условие может быть выполнено или невыполнено. Иногда возникает необходимость выполнить разный код для каждой из этих ситуаций. Для этого существует конструкция else:
<?php // Для одной команды if(100 > 50) echo 'Условие верно.<br>'; else echo 'Условие неверно.<br>'; // Для нескольких команд if(200 > 100) { echo 'Условие '; echo 'верно.'; } else { echo 'Условие '; echo 'неверно.'; } ?>
Существуют разные стандарты оформления PHP-кода. Если показанный выше кажется вам слишком громоздким, можете писать более компактно:
<?php
if(200 > 100) {
echo 'Условие ';
echo 'верно.';
} else {
echo 'Условие ';
echo 'неверно.';
}
?>
Несколько условий с ELSEIF
Но и этим функционал IF не ограничивается. С помощью конструкции elseif мы можем добавлять неограниченное количество условий. Выполнено будет только первое из подходящих условий, остальные будут проигнорированы.
Попробуем сделать систему, которая сама рассчитывает наценку на товар в зависимости от его цены:
<?php
$price = 150;
if($price < 50)
$price *= 1.3; // Умножаем цену на 30%
elseif($price < 100)
$price *= 1.2; // Умножаем цену на 20%
elseif($price < 200)
$price *= 1.1; // Умножаем цену на 10%
else
$price *= 1.05; // Умножаем цену на 5%
echo 'Стоимость товара: ', $price;
?>
Результат в браузере:
Стоимость товара: 165
Как видите, выполнилось только третье условие. Первые два не соответствовали правилам, а последнее пропущено, поскольку уже выполнилось предыдущее.
Альтернативный синтаксис IF ELSE ENDIF
Нередко возникают ситуации, когда использование фигурных скобок делает код более запутанным. В этом случае удобно использовать альтернативный синтаксис:
<?php if($price > 100): ?>
<div></div>
<div></div>
<?php elseif($price < 50): ?>
<div></div>
<div></div>
<?php else: ?>
<div></div>
<div></div>
<?php endif; ?>
Используется такой синтаксис чаще всего в html-шаблонах, чтобы избавиться от фигурных скобок. Для сравнения, тот же кусок кода в обычном синтаксисе:
<?php if($price > 100) { ?>
<div></div>
<div></div>
<?php } elseif($price < 50) { ?>
<div></div>
<div></div>
<?php } else { ?>
<div></div>
<div></div>
<?php } ?>
Выглядит уже менее приятно, а при наличии других операторов с фигурными скобками будет совсем беда. Поэтому при формировании HTML-страниц не забывайте про альтернативный синтаксис.
www.programulin.ru
Инструкция if — оператор условного перехода
Оператор условного перехода if позволяет реализовать структуру условного выражения если …, то …, иначе …
Синтаксис оператора if перехода следующий:
if (условие)
{ код, который выполняется, если условие выполнено}
else
{ код, который выполняется, если условие не выполнено}
If (условие)
{ код, который работает, если условие выполнено}
Конструкция оператора условного перехода допускает вложение других операторов условного перехода. Условие обычно представляет собой выражение логического типа, то есть выражение, значение которого есть true или false. Обычно это элементарные выражения с операторами сравнения.
Примеры
1. Выводится диалоговое окно с тем или иным сообщением в зависимости от значения переменной age (возраст).
if (age<18) {alert(‘Bы слишком молоды для просмотра этого сайта»)}
else
{alert («Подтвердите свое решение заглянуть на этот сайт»)}
2. Выводится диалоговое окно с сообщением, если только значение переменной аgе меньше 18.
if (age<18)
{alert(‘Bы слишком молоды для просмотра этого сайта»)}
Делать ли отступы при написании операторов, где располагать фигурные скобки — дело вкуса. Следует руководствоваться наглядностью и ясностью структуры, при которой легко проверить правильность расстановки скобок.
Более сложная структура оператора условного перехода получается при вложении других операторов if:
If (условие1) {
код, который работает, если условие1 выполнено
} else { if (условие2){
код, который работает, если условие2 выполнено
}else{
код, который работает, если условие2 не выполнено}}
Условие в операторе if обычно является логическим выражением. Однако это может быть также и строковое, и числовое выражение.
В случае строкового выражения условие считается выполненным, если его значением является непустая строка. Напомним, что пустая строка «» не содержит ни одного символа, в том числе и пробела (строка, содержащая хотя бы один пробел, не пуста).
В случае числового выражения условие считается выполненным, если его значением является число, отличное от нуля. Во многих случаях эта многозначность типа условия оказывается очень удобной.
Допустим, что переменная х содержит данные, которые ввел пользователь, и нам требуется проверить, что он действительно что-то ввел. В следующем примере мы проверяем, что значение переменной х не пусто (не 0, не пустая строка «» или NaN, не null и не undefined). Если х пусто, то выводится соответствующее сообщение:
If (!х) {// Если переменная username равна null, undefined, 0, «» или NaN, она
// преобразуется в false, и эта инструкция присвоит переменной новое
//значение.
alert(‘Bы ничего не ввели»)
}
Заметим, что поскольку в этом примере блок кода содержит всего лишь одно выражение, фигурные скобки можно опустить, и всю конструкцию оператора условного перехода можно записать в одной строке:
studfiles.net
Предложения с if в английском языке
Наши поступки зависят от различных условий: желания, времени, результата предыдущих действий и т.д. В родной речи, мы каждый день употребляем фразы вида: сделаю, если будет время; куплю, если будут деньги и т.п. Несомненно, что такие выражения важно уметь составлять и для успешной коммуникации на иностранном языке. Чем и займемся сегодня, рассмотрев условные конструкции, или, как их чаще называют, предложения с if в английском языке. Из материала узнаем нюансы их значения, составления и использования.
Значение и разновидности
Выражения условий – сложноподчиненные предложения, содержащие главную и придаточную части, соединенные по смыслу условно-следственной связью. Главное предложение имеет значение следствия, а придаточное непосредственно самого условия. При этом в начале предложения может стоять любая из этих конструкций. В русском языке мы всегда отделяем их запятой, а английский допускает постановку этого знака только в случаях, когда придаточное стоит перед главным.
В целом английская грамматика делит придаточные предложения условия на несколько типов.
Безусловные (Zero Conditional)
Название этого вида конструкций указывает на то, что события всегда реальны, т.е. привычны, общеизвестны, очевидны. К ним относятся факты, утверждения, будничная деятельность. Фактически это даже не условия, а закономерности, обычаи, привычки, традиции. Выражения данного типа используются в простом настоящем времени.
- If he is pupil, he learns many lessons – Если он ученик, то он учит много уроков.
- If I am at my grandparents’ home, I always eat pies and pancakes – Если я нахожусь у моих бабушки и дедушки, я всегда ем пирожки и блины.
- If you read a book, you get knowledge – Если ты читаешь книгу, ты получаешь знания.
Примеры доказывают, что название группы оправданно, так как в выражениях больше прописных истин, чем условий.
Реальные (First Conditional)
С такой конструкцией предложения в английском языке выражают высокую вероятность совершения событий. Это уже не 100% истина, как в первой группе, но в целом выполнение условий вполне реально. Как правило, такие условные выражения относятся к ближайшему будущему. При этом важно отметить, что будущее время используется только в главной части предложения, а придаточные конструкции с If в такой ситуации всегда употребляются в настоящем.
- If we are free tomorrow, we will go to the cinema – Если мы будем завтра свободны, мы пойдем в кинотеатр.
- If it is cold, I will put on my warm sweater – Если будет холодно, я надену свой теплый свитер.
- If you tell me the truth, I will give you 100$ — Если ты скажешь мне правду, я дам тебе 100$.
Для английского языка также характерно употребление подобных сложноподчиненных предложений в качестве предостережения, предупреждения.
- You will have some troubles with health if you continue to work out in the gym in that way – У вас будут некоторые проблемы со здоровьем, если вы продолжите заниматься в тренажерном зале таким способом.
- If you drink cold lemonade, you will catch a cold – Если ты выпьешь холодный лимонад, ты простудишься.
Нереальные в настоящем (Second Conditional)
Фразы обозначают небольшую вероятность выполнения действий в настоящем или будущем времени. В принципе, такие события могут быть, но шанс, что они действительно произойдут, крайне мал. Придаточная конструкция переводится на русский словосочетанием «если бы» и выражает пожелания, гипотезы, размышления о том, что могло бы быть.
По построению отметим, что условие if ставится в Past Simple, a главная часть передается вспомогательной связкой would+начальная форма глагола (без to).
- If I were at home, I would read a fairy tale to my little daughter – Если бы я был дома, я бы прочитал моей младшей дочери сказку.
- If you helped us, we would finish our work in time – Если бы вы нам помогли, мы бы закончили свою работу вовремя.
- If she were at the lesson, she would understand the subject better – Если бы она присутствовала на уроке, он бы поняла эту тему лучше.
Заметьте, что в главных предложениях такого типа английская грамматика диктует обязательное употребление формы were и для единственного, и для множественного числа. В разговорном языке многие пренебрегают этим правилом и используют was. Но на письме этого делать нельзя.
Добавочное значение предложений этой группы – вежливое замечание, совет.
- If I were you, I would write a letter to them – Если бы я была на твоем месте, я бы написала им письмо.
- I would never shake his hand, if I were you – Я никогда бы не пожал ему руку, будь я на твоем месте.
Нереальные в прошлом (Third Conditional)
Это условные комбинации, выражающие сожаление о том, что какие-либо события/действия не случились или случились, но лучше бы не случались, в прошлом. Очевидно, что прошлое изменить нельзя, поэтому такие конструкции назвали нереальными.
Данные предложения с союзом if в английском языке используют в придаточной части конструкцию вида Past Perfect, а в главной комбинацию «would have + причастие II».
- If I hadn’t missed the train, I would have been at London then – Если бы я не опоздал на поезд, я был бы тогда в Лондоне.
- If they had told us the information, we would have found criminal man earlier – Если бы они рассказали нам эту информацию, мы бы нашли преступника раньше.
- I would have bought this book if I hadn’t spent my money on magazines – Я бы купил эту книгу, если бы не потратил свои деньги на журналы.
На русский язык эти придаточные переводятся так же, как и нереальные условия настоящего. Необходимо различать, что в настоящем мы подразумеваем «если бы сейчас», а в прошлом – «если бы тогда».
Эта разновидность условных также используется для критики совершенных кем-то действий, результат которых изменить не удастся.
- If you had written the rule, you wouldn’t have made mistakes in your works – Если бы вы записали это правило, вы бы не сделали в своих работах ошибок.
Наравне с негативными высказываниями, англичане употребляют данный тип предложений и для выражения положительных действий.
- He wouldn’t have met his future wife if he hadn’t gone to the party – Он бы не встретил свою будущую жену, если бы не пошел на эту вечеринку.
- He wouldn’t have become a great writer, if he had worked as a manager all his life – Он бы не стал великим писателем, если бы всю свою жизнь работал менеджером.
Это был последний тип условных предложений английского языка. Осталось обобщить свои знания, и запомнить все конструкции с помощью удобной таблицы.
Предложения c if в английском языке – сводная таблица
Представим все правила по условным предложениям, которые содержит английская грамматика, в виде общей таблицы. Удобно структурированный материал легче понимается и быстрей запоминается. Кроме того, такая табличка отличный помощник при выполнении практических упражнений.
If sentences | ||||
Тип | Значение | Конструкция | Пример | |
Безусловные | Факты, утверждения, будничные действия, 100% выполнимые события | Придат очное | Главное | If I walk in the park, I always listen to music. Если я гуляю в парке, я всегда слушаю музыку. |
If + Present Simple | Present Simple | |||
Реальные | Вполне осуществимые условия, которые будут выполнены в ближайшем будущем; предостережения, предупреждения. | Прида точное | Главное | If I get the salary, I will buy four tickets to a football match. Если я получу зарплату, я куплю 4 билета на футбольный матч. If you watch a horror movie in the evening, you won’t sleep at night. Если ты посмотришь вечером фильм ужасов, ты не будешь спать ночью. |
If + Present Simple | Future Simple | |||
Нереальные в настоящем | Выполнение действий в настоящем или будущем практически невероятно; замечание, совет. | Прида точное | Главное | If I had money, I would buy a car. Если бы у меня были деньги, я бы купил машину. If I were you I would never tell the truth. Если бы я был на твоем месте, я бы никогда не рассказал правду. |
If + Past Simple | Would + Infinitive (без to) | |||
Нереальные в прошлом | Сожаление о не произошедших/произошедших давно событиях; положительный результат, критика. | Прида точное | Главное | If I had caught the ball, I would have won the game. Если бы я поймал мяч, я бы выиграл эту игру. If she hadn’t gone to the match, she wouldn’t have met with her boyfriend. Если бы она не пришла на матч, она бы не встретилась со своим парнем. If you had woken up earlier, you would gone to the school in time. Если бы ты встал пораньше, ты бы пришел в школу вовремя. |
If + Past Perfect | Would + have + participle II |
Просмотры: 376
speakenglishwell.ru
PHP if-else. Условия в PHP.
В прошлый раз я писал о существующих типах операторов в PHP. Этот пост начинает серию связанных заметок об управляющих структурах (условия, циклы и т.д.) в PHP. В этой заметке речь пойдет об условном операторе IF..ELSE в PHP. Я познакомлю вас с синтаксисом конструкции if..else, а затем на конкретных примерах разберем различные способы использования if в PHP.
Условия в PHP
С условиями в PHP вы будете всречаться в каждом скрипте. Это, пожалуй самый распространенный вид управляющих структур. В PHP существует несколько типов условных конструкций. Сегодня мы поговорим о конструкции “if-else“.
Те из вас, кто знаком с любым другим языком программирования должны знать логику работы этой конструкции.
Итак, как же выглядит синтаксис конструкции if…else в PHP:
<?php $a = 5; $b = 10; if ($a > $b) { echo "Переменная A больше, чем B"; } else { echo "Переменная B больше, чем A"; } ?>
По порядку:
- условие – здесь должно стоять какое-либо выражение, результат выполнения которого должен быть равен true или false. Например “$a < $b”, вызов какой-то функции.
- если результат вычисления равен true (условие выполняется), то выполняется первая ветка (до ключевого слова else).
- если результат вычисления равен false (условние не выполняется), то выполняется вторая ветка (после ключевого слова else).
Ветки else, которая, как вы теперь знаете, выполняется в случае, если условие не верно, может и не быть. тогда конструкция if примет следующий вид:
<?php if (условие) { // если условие выполняется (true - истина) } ?>
Если условие выполнилось – то мы заходим внутрь, если не выполнилось – то пропускает, то что внутри if и идем дальше.
Пример использования if…else в PHP
<?php $a = 5; $b = 10; if ($a > $b) { echo "Переменная A больше, чем B"; } else { echo "Переменная B больше, чем A"; } ?>
Наберите этот пример и посмотрите, как он работает. В нашем случае на экран выведется строка echo “Переменная B больше, чем A”, это происходит потому, что результат сравнения $a > $b равен false (ложь), т.к. 5 меньше, чем 10. Как видите все просто.
Попробуйте присвоить другие значения переменным $a и $b и посмотреть, как измениться результат. Также попробуйте переписать эту конструкцию без использования else.
Если, что-то не до конца понятно – пишите в комментах, разберемся 🙂 Удачи!
afirewall.ru
Двойное условие и вложенные конструкции if-else на PHP. Урок 7
Этот урок немножко посложней, чем предыдущий, но не стоит бояться, вы должны перейти на уровень выше в познании PHP. В этой статье речь пойдет о конструкции, которая состоит из нескольких условий. Продолжаем изучать оператора условий if-else для PHP.
Прежде чем мы приступим к продолжению изучения оператора if-else, убедительно рекомендую посмотреть знаки, которые используются в условиях if. Запомните их или запишите:
Равенство: ==
Пример: if ($a == $b)
Не равенство: !=
Пример: if ($a != $b)
Больше: >
Пример: if ($a > $b)
Меньше: <
Пример: if ($a < $b)
Больше или равно: >=
Пример: if ($a >= $b)
Меньше или равно: <=
Пример: if ($a <= $b)
Логическое «и»: and
Пример: if ($a ==$b and $c !=$d)
Логическое «или»: or, ||
Пример: if ($a ==$b || $c !=$d)
Вот теперь продолжим.
Двойное условие if-else
Где можно его применить? Когда я создавал для одного сайта админ-панель, то использовал двойное условие для проверки логина и пароля.
Чтобы создать двойное условие, нужно добавить еще две переменные, например: $k = 55; $n = 88.
Это будет выглядеть вот так:
if ($a != $b and $k != $n)
and – вы уже знаете, что это означает логическое «и».
Как это будет выглядеть в PHP-коде:
<html> <head> <title>основы php на BlogGood.ru</title> </head> <body> <?php $a=5; $b=5; $k=55; $n=88; if ($a == $b and $k != $n) { echo "Все ОK :)"; } else { echo "Не все ОК :("; } ?> </body> </html>
Разъяснение:
Смотрите, в условии мы указали, что если переменные $a с $b равны ($a == $b) и переменные $k с $n не равны ($k != $n), условие будет считаться правильным. А если условие правильное, значит, будет работать эта часть кода:
{
echo «Все ОK :)»;
}
Сохраните код PHP как «if-else.php» в папку «test-1» локального сервера (см. урок 1).
Введите в браузере адрес:
https://localhost/test-1/if-else.php
Результат:
Если значение переменой $a поменять на противоположное значение переменной $b, то условие будет невыполнимо! Почему? Да потому, что переменные ($a == $b) не равны между собой. Если условие не выполнено, будет работать другая часть кода:
else
{
echo «Не все ОК : («;
}
Как это выглядит в PHP-коде:
<html> <head> <title>основы php на BlogGood.ru</title> </head> <body> <?php $a=10; $b=5; $k=55; $n=88; if ($a == $b and $k != $n) { echo "Все ОK :)"; } else { echo "Не все ОК :("; } ?> </body> </html>
Сохраните код PHP как «if-else.php» в папку «test-1» локального сервера (см. урок 1).
Введите в браузере адрес:
https://localhost/test-1/if-else.php
Результат:
Вложенные конструкции if-else.
Что называют вложенными конструкциями if-else? Это такие конструкции, которые состоят из нескольких условий.
Теперь рассмотрим вложенные конструкции if-else. Такие конструкции могут состоять из нескольких условий в выполняемых правилах. Для примера добавим еще две переменные $familiya1 и $familiya2:
$familiya1=»ivanov»;
$familiya2=»sidarov»;
Как это выглядит в PHP-коде:
<html> <head> <title>основы php на BlogGood.ru</title> </head> <body> <?php $a=5; $b=5; $k=55; $n=88; $familiya1="ivanov"; $familiya2="sidarov"; if ($a == $b and $k != $n) { if ($familiya1 != $familiya2) { echo "Все ОK :)<br> В переменных familiya1 и familiya2 содержатся разные фамилии."; } else { echo "Не так все плохо, как вам кажется :(<br> В переменных familiya1 и familiya2 содержатся одинаковые фамилии."; } } else { echo "Не все ОК :("; } ?> </body> </html>
Разъяснение:
Смотрите, здесь были выполнены все условия
if ($a == $b and $k != $n)
Переменная $a равная с переменной $b и переменная $k не равная с $n. Здесь условия были выполнены, а это значит, что будет работать эта часть кода:
if ($familiya1 != $familiya2)
{
echo «Все ОK : )<br>
В переменных familiya1 и familiya2 содержатся разные фамилии.»;
}
Так как переменные $familiya1 и $familiya2 между собой не равны и это правда,
$familiya1=»ivanov»;
$familiya2=»sidarov»;
то будет работать вот эта часть кода:
{
echo «Все ОK : )<br>
В переменных familiya1 и familiya2 содержатся разные фамилии.»;
}
Смотрим результат! Сохраните код PHP как «if-else.php» в папку «test-1» локального сервера (см. урок 1).
Введите в браузере адрес:
https://localhost/test-1/if-else.php
Результат:
Если в переменных $familiya1 и $familiya2 сделать значение одинаковыми:
$familiya1=»sidarov»;
$familiya2=»sidarov»;
тогда, увы, здесь условия выполненными не будут, так как в условии стоит, что переменные должны быть не равными:
if ($familiya1 != $familiya2)
Вот по этой причине будет работать вот эта часть кода:
else
{
echo «Не так все плохо, как вам кажется : (<br>
В переменных familiya1 и familiya2 содержатся одинаковые фамилии.»;
}
В результате на мониторе вы увидите картинку:
Вот мы и закончили полностью тему «Оператор условия if-else для PHP». Чтобы закрепить «Урок 5» и «Урок 6», рекомендую самостоятельно поработать над созданием собственных условий.
А я пойду готовить для вас новые уроки по основам PHP. Подписывайтесь на обновления блога, если не хотите пропустить уроки по PHP.
Всего хорошего!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
- Работа с файлами PHP (продолжение). Урок 18
- Работа с файлами PHP: удаление, копирование, переименование файлов. Урок 17 (продолжение)
- Работа с файлами PHP: создание, открытие, отображение, запись, закрытие и удаление файлов. Урок 16
- Функции List, Isset, Unset, Date, Count и Exit на PHP. Урок 15
Похожие статьи
Популярные статьи:
Добавить комментарий
Метки: php, основы
bloggood.ru
If условие then оператор
здесь при невыполнении условия управление передается строке, следующей за IF; если же условие выполняется то работают операторы, записанные после слова THEN в той же строке.
If условие goto nc
где nc – номер строки или метка оператора, куда осуществляется переход в случае выполнения условия. Разумеется, это не может быть следующая строка, так как в этом случае применение оператора IF бессмысленно.
Могут встречаться достаточно сложные конструкции, когда внутри одного оператора IF находится другой оператор IF, так называемый, вложенный IF, например:
IF условие. THEN операторы1 ELSE IF условие THEN операторы2 ELSE операторы3
Заметим, что в программе это должно быть написано в одной строке, таково требование синтаксиса.
Когда по одному условию выполняется несколько операторов, чтение программы затруднено, т.к. все они записаны должны быть в одну строку и строка становится слишком длинной. В таком случае рекомендуется создавать блокIF, в котором операторы можно записывать в столбик, а не в строчку, что облегчает чтение и понимание программы.
Блок- IF
Синтаксис:
If условие then
… оператор1
……
оператор N
ELSE
… оператор2
….
операторM
END IF
Необходимо четко различать блок и оператор IF. Если в строке после THEN записан хотя бы один оператор, то такая конструкция считается оператором IF. Следующий после нее оператор выполняется безусловно.
Пример: (строки пронумерованы для удобства разбора программы)
10 IF A<>0 THEN D=B/A
20 X=X+D
30 ELSE
40 D=B
50 X=D^2
60 END IF
Программист, написавший такую конструкцию, надеется, что строка с номером 20 выполняется только при A0. На самом деле, она выполняется при любом А, а встретив в строке 30 предложение ELSE, компилятор выдаст сообщение об ошибке: «ELSE без IF», так как не отнесет его к IF в строке 10. Аналогичная реакция последует и в строке 60.
Правильная запись этого фрагмента программы:
10 IF A<>0 THEN
20 D=B/A
30 X=X+D
ELSE
40 D=B
50 X=D^2
END IF
STOP – оператор логического конца программы. Им можно воспользоваться в том случае, когда программа должна быть завершена досрочно.
После того, как вы познакомились с операторами необходимыми для написания программ с ветвлением, напишем программу по алгоритму, представленному на рис.3.
Программная реализация ветвящегося алгоритма рис.3.
INPUT “Пароль!”,P$
If P$=”39w54” THEN
Print “Пароль неверен! Программа выполняться не будет!”: STOP
END IF
PRINT “Здравствуйте»
<<Здесь может быть любая программа>>
END
Рассмотрим еще задачи.
Задача 1.
Вводится информация о количестве свободных одноместных и двухместных номеров в отеле. Вычислить и вывести, каких свободных номеров больше и на сколько.
Описание алгоритма:
вводятся значения количеств свободных одноместных К1и двухместных номеров К2;
введенные значения проверяются на равенство К1 = К2;
если условие равенства выполняется, то выводится сообщение «К1 = К2» и программа останавливается;
если условие равенства не выполняется, то проверяется условие K1>K2;
если условие K1>K2 выполняется, то вычисляется значение переменной N по формуле N=К1-К2, то есть, на сколько одноместных номеров больше, чем двухместных, и выводится результат с соответствующим сообщением;
если условие K1>K2 не выполняется, то вычисляется значение переменной N по формуле К2-К1, то есть на сколько одноместных номеров больше, чем двухместных, и выводится результат с соответствующим сообщением;
Блок-схема алгоритма представлена на рис.4.
Рис.4. Блок-схема алгоритма к задаче 1.
Программа
Input “Введите количество 1-но и 2-хместных номеров”,K1,K2
If K1=K2 Then Print “Одноместных и двухместных номеров поровну”: Stop
If K1>K2 Then N=K1-K2: Print “1-местных больше” Else N=K2-K1: Print “2-местных больше”
Print “на ” N “ номеров”
End
Задача 2.
Вводится информация о стоимостях встречи Рождества в Париже, Риме и Лондоне. Вычислить и вывести, поездка в какой город самая дорогая.
Описание алгоритма:
вводятся стоимости поездок в Париж, Лондон, Рим ,S1,S2,S3;
сравниваются стоимости поездок в Париж и Лондон – проверятся условие S1>S2;
если оно выполняется, то дороже Париж, тогда MAX=S1 и N$=”Париж”;
если условие не выполняется, то дороже Лондон, тогда MAX=S2 и N$=”Лондон”;
сравнивается вычисленное максимальное значение стоимости со стоимостью поездки в Рим – условие S3>MAX;
если оно выполняется, то дороже Рим, тогда MAX=S3: N$=”Рим”;
в противном случае значение переменной MAX остается без изменения;
выводится результат “Самая дорогая поездка в ” N$ “ стоимостью ” MAX
Блок-схема алгоритма представлена на рис.5.
Рис.5. Блок-схема алгоритма решения задачи 2.
Программа
INPUT “Стоимости поездок в Париж, Лондон, Рим ”,S1,S2,S3
IF S1>S2 THEN MAX=S1: N$=”Париж” ELSE MAX=S2: N$=”Лондон”
IF S3>MAX THEN MAX=S3: N$=”Рим”
PRINT “Самая дорогая поездка в ”, N$, “ стоимостью ”, MAX
END
studfiles.net