условие выполнения (if ... then)

Предыдущая тема Следующая тема Перейти вниз

условие выполнения (if ... then)

Сообщение  Eric-S в Пн Сен 22, 2008 3:07 pm

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



И так, давайте нашу программу научим думать.

Например, нужно выбрать меньшее число из двух.

Читайте о сравнении чисел в главе операторы сравнения

И так у нас есть две переменных a и b, в которых два числа. Нужно вывести большее число.


Сначало числа нужно сравнить.
a > b

А затем сделать выбор, какое число будем печатать первое или второе. Конструкция
Код:

if (выражение) then
...
(блок инструкций 1)
...
else
...
(блок инструкций 2)
...
end if

В зависимости от "выражения", делает выбор, какой блок инструкций выполнять 1 или 2.


Если выражение верно, то выполняеться первый блок, а если не верно, то второй.

В принципе именно так и нужно переводить на русский язык эту запись.


если выражение верно, то:
выполнить блок инструкций 1;
иначе (если выражение не верно):
выполнить (блок инструкций 2;
конец условия.



Давайте теперь запишем нашу задачку.

Код:

if a > b then
' если число, в переменной a, больше числа в переменной b,
' то выводим число a
print a

else
' иначе, в смысле число a не больше числа b,
' выводим число b
print b
end if
' и конец проверки, дальше программа выполняеться как обычно

Как всё оказываеться просто! Вот полный листинг программы, которую вы можете помучать.

Код:

' вывод максимального числа

dim a as integer
dim b as integer

' спрашиваем первое число
print "enter a"
input a

' спрашиваем второе число
print "enter b"
input b

if a > b then
' если число, в переменной a, больше числа в переменной b,
' то выводим число a
print "max: " & a

else
' иначе, в смысле число a не больше числа b,
' выводим число b
print "max: " & b
end if
' и конец проверки, дальше программа выполняеться как обычно

sleep


Конструкция условного выполнения if ... then имеет множество вариантов.

Для начала стоит указать, что она может быть записана в одну строку или две.

Код:

if a = b then print "a = b = " & a
Когда условие пишеться в одну строку, то его не нужно закрыватьь.

В простом виде, может быть и вторая часть после ключевого слова else.
Например мы могли записать проверку так
Код:

if a > b then print a else print b

Но многострочный вариант, позволяет нам выполнять не одну инструкцию, а несколько. Можно даже сделать вложенную проверку.

Код:

if a = b then
   print "a = b"
print "number: " & a
else
    if a > b then
   print "a > b"
      print "max: " & a
      print "min: " & b
   else
   print "b > a"
      print "max: " & b
      print "min: " & a
   end if
end if


Ввторой блок else не важен, его можно опустить. Основа всему
Код:

if (выражение) then
(инструкция для выполнения, если условие верно)
end if


Можно сделать ещё и проверку дополнительного условия. Нашу задачку мы можем записать таким
Код:

if a = b then
' если числа равны
print "a = b = " & a

elseif a > b then
' если число, в переменной a, больше числа в переменной b,
' то выводим число a
print "max: " & a

else
' иначе, в смысле число a не больше числа b,
' выводим число b
print "max: " & b
end if


Проверок условия elseif может быть несколько, а вот else должен быть только один.


Выражение считаеться не верным если оно равно 0 и верным если не ноль. Например 1 или -1.

Неравенство двух чисел можно проверить например простым вычитанием
Код:

if a - b then
end if
print "a <> b "

Если числа одинаковые, то их разность будет равна 0 и условие будет не верным.
В противном случае условие будет верным.


смотрите также:
простая математика (математические операторы)
операторы сравнения
логические операторы
select case или выбор одного из множества действий

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: условие выполнения (if ... then)

Сообщение  trew в Пт Окт 15, 2010 5:39 pm

К этой статье можно по желанию добавить использование логических операторов с условными:

Код:
Dim  a As Integer =5
If a=3 Then
Print "No"
ElseIf  a=4 Or  a=5 then
Print "Yes"
End If
Sleep

Сказать по чести оператор Then явно как 5 нога Very Happy
В некоторых языках(например директивы ASM) легко обходятся без него...
Впрочем наверно можно написать макрос, чтобы не использовать данный оператор...

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения