мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pascal:clauses [20/10/2009 12:05] ybezrukovpascal:clauses [20/10/2010 10:15] (текущий) oca
Строка 1: Строка 1:
 ===== Ветвление в программе ===== ===== Ветвление в программе =====
 FIXME FIXME
-<code pascal| Простое ветвление>+ 
 +Оператор //if// (или условный оператор) в **краткой форме** служит, чтобы выполнить какие-то действия, если выполняется некоторое условие. 
 + 
 +<code pascal| Простой условный оператор - проверка условия>
 var  var 
   x,y,z:integer;   x,y,z:integer;
 begin begin
-  if x 0 then+  if x <> 0 then
   begin   begin
-    writeln(y);+    writeln(y / x)
 +  end; 
 +   
 +end. 
 +</code> 
 + 
 +**Полный** оператор //if// служит для разделения ход выполнения программы на две ветви в соответствии с некоторым условием,  
 + 
 +<code pascal| Полный условный оператор - разветвление программы> 
 +var  
 +  x,y,z:integer; 
 +begin 
 +  if x < 0 then 
 +  begin 
 +    ...  // Ветка с отрицательным значением X;
   end   end
   else   else
   begin   begin
-    writeln(z);+    ... // Ветка с положительным или нулевым(!!!значением X;
   end;   end;
 end. end.
 </code> </code>
  
-<code pascal| Набор вариантов>+<code pascal| Перебор вариантов>
 var  var 
   x,y,z:integer;   x,y,z:integer;
 begin begin
   case x of   case x of
-    1: writeln(y); +    1           : writeln (x); 
-    2,4,5: writeln(z);+    2, 34     : writeln (y); 
 +    .. 7      : writeln (z); 
 +    8, 9 .. 12  : writeln (x, y, z);
   else   else
     writeln ('Ошибка')     writeln ('Ошибка')
Строка 28: Строка 47:
 end. end.
 </code> </code>
 +
 +В большинстве версий языка Pascal, включая Free Pascal, допускается чтобы метки были неупорядочены, но не допускается неоднозначность: 
 +
 +<code pascal| Перебор вариантов>
 +var 
 +  x,y,z:integer;
 +begin
 +  case x of
 +    1, 2        : writeln (x);
 +    2, 3, 6     : writeln ('Ошибка, о которой нам скажет компилятор');
 +    5 .. 7      : writeln (z);
 +  else
 +    writeln ('Ошибка !')
 +  end; 
 +end.
 +</code>
 +
 +__Обратите внимание__ - 
 +в операторе ''case'' перед ''else'' можно ставить точку с запятой;
 +оператор ''case'' заканчивается непарной операторной скобкой ''end'' !