Воскресенье, 05.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel, Alexander  

Условные операторы
AlexanderДата: Среда, 09.04.2008, 23:06 | Сообщение # 1
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Условные операторы являются неотъемлемой частью любого языка программирования. Условные конструкции используются тогда, когда нужно выполнить действие в зависимости от какого-либо условия. В Паскале предусмотрены два вида условных конструкций.
1)Конструкция if .. then .. else.
Это наиболее часто используемая конструкция. Она имеет следующий синтаксис:
Code
If (логическое выражение) then
     <оператор>
Else if (логическое выражение) then
     <оператор>
Else
     <оператор>;

Если логическое выражение принимает значение true, то оператор выполняется, иначе будет проверяться следующее условие. Если истинных выражений не было, то выполнится оператор, стоящий за итоговым Else. В случае его отсутствия не выполнится ни один оператор.
Обратите внимание, что перед зарезервированным словом Else никогда не ставится точка с запятой!
На месте оператора может находиться и составной оператор, для этого его нужно заключить его в операторские скобки begin .. end.
Code
If a=5 then
     Begin
        A:=7;
        Exit;
     End;

На месте логического выражения может стоять любое логическое выражение, в том числе и составное.
Code
If (a=5) and (odd(c)) or (a+c=9) then
     Exit;

По умолчанию в ТП не используются «быстрые булевы операции», т.е. генерируется код для вычисления сразу всего логического выражения. Использовать так называемые «быстрые булевы операции» нужно при условии, что у вас очень много условий (больше 8) и вы уверены, что скорее всего одно из первых выражений будет ложным или если для вычисления одного условия требуется много системных ресурсов. Включаются они директивой {$B-}.
2)Конструкция case .. of.
Данная конструкция имеет следующий синтаксис:
Code
Case <порядковая переменная> of
Значение1:
     <оператор>;
Значение2:
     <оператор>
Else
     <оператор>;

Это эквивалентно выражению
Code
If <порядковая переменная>  =   Значение1 then
     <оператор>
Else if <порядковая переменная>  =   Значение2 then
     <оператор>
Else
     <оператор>;

Используется для сокращения записи, например при опросе мыши или клавиатуры.

Задачи на закрепление материала.
1)Даны 3 переменные A,B,C типа byte. Поместите в переменную Result(тип тот же) наибольшее из них.
2)Максимально упростите код:

Code
If (not(A<=0) and not (B>=0)) then
     n:=A-((A shl 6) shr 6)
else if(not A and B<>0) then
     n:=(5*A*B) mod 4
else
     n:=A and $3f;

Ответы:
1)If (A>B) and (A>C) then
Result:=A
Else if (B>A) and (B>C) then
Result:=B
Else
Result:=C;

2)n:=A and 63;


Скажем дружно- нафиг нужно!
 
FirefrominsideДата: Понедельник, 16.11.2009, 01:48 | Сообщение # 2
Уже "свой"
Группа: Модераторы
Сообщений: 85
Репутация: 0
Замечания: 0%
Статус: Offline
Придумал цикл "через один"( может он уже и ранее был придуман,но я не видел)
Code

i:=1
  if (i>0)
   then ....;
  if (i<0)
   then...
  i=-i;
  

как Вам?


Большая просьба выкладывать хоть какой-то код Вашей программы.
Это поможет найти общий язык между Вами и нами! =)
И не забываем благодарить за помощь=)
Нужна помощь с задача С++? тебе сюда bc-for-all.ucoz.ru
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;