Томский государственный университет систем управления и радиоэлектроники
Опубликован: 01.11.2012 | Доступ: свободный | Студентов: 655 / 77 | Длительность: 06:01:00
Тема: Программирование
Специальности: Системный архитектор, Тестировщик
Лекция 3:
Управляющие операторы
Аннотация: Третья лекция рассказывает об исполняемых операторах if-then-else, select case, do while, do, goto, continue, exit, cycle. Рассматриваются вложенные ветвления и циклы, ошибки связанные с бесконечными циклами. Приводятся примеры, связанные с подсчетом сумм и произведений. Рассказывается о работе с псевдослучайными числами.
Ключевые слова: выражение, операторы, ветвление, равенство, пустой оператор, переменная, вычисление, цикла, значение, псевдослучайное число, массив, интеграл
Вы можете скачать презентацию к данной лекции здесь.
Условный оператор if
Создание разветвлений в программах, принятие решений, проверка условий, сключительные ситуации, проверка ошибок.
- имя: if (условие) then операторы_T else операторы_F end if имя
- имя: if (условие) then операторы_T end if имя
- if (условие) оператор_T
Условие - Логическое выражение

program func
real x,fx
write(*,"(A,\)") "x = "; read(*,*) x
if (x < 0) then
fx = -x
else
fx = sqrt(x)
end if
write(*,*) "F(x) = ", fx
end
Вложенные операторы if - множественное ветвление.

Возможны несколько вариантов использования if.
Вариант № 1
! ------------------------Вариант № 1
if (x > 0) then
if (x > -5) then ! ----------------
fx = 0 !
else !
fx = -2 !
end if ! ----------------
else
if (x > 3) then ! ----------------
fx = 3 !
else !
fx = 1 !
end if ! ----------------
end if
Вариант № 2
! ------------------------Вариант № 2
if (x > 3) then
fx = 3
else
if (x > 0) then
fx = 1
else
if (x > -5) then
fx = 0
else
fx = -2
end if
end if
end if
Можно упростить, используя elseif.
! ------------------------Вариант № 2a, elseif if (x > 3) then fx = 3 elseif (x > 0) then fx = 1 elseif (x >- 5) then fx = 0 else fx = -2 end if
Один общий endif + легкая читаемость.
Вариант № 3
Проверка на равенство, проверка каждого условия.
Всегда ли следует использовать оператор if, когда произносим "если" ?
если A<0 тогда М=A
иначе М=0
if ( A < 0 ) then M = A else M = 0 end if |
![]() |
M = min(A,0) |
if ( A > 0 ) then M = A else M = 0 end if |
![]() |
M = max(A,0) |
Переменные-флаги – хранят результаты проверок.
logical status
...
status = логическое выражение
...
if ( status ) then
операторы_T
else
операторы_F
end if
...







