Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию    
    главная     хостинг     создание сайтов    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Системное программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов



Доставим маникюрные инструменты тут по киеву.

helloworld.ru
Алгоритмический язык Pascal

Условные операторы

Оператор выбора CASE
Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:
   Case "параметр" Of
     "список помеченных операторов"    
     Else "оператор"
   End;
Здесь "параметр" - выражение или переменная порядкового типа.
Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else.
Конструкция Else "оператор" может отсутствовать. Напомним, что "оператор" может иметь вид: Begin "операторы" end;
Пример операторов для определения порядка целого числа N от 0 до 999:
  case N of
    0..9     : writeln('однозначное');
    10..99   : writeln('двузначное');
    100..999 : writeln('трехзначное')
    else writeln('Число "N" не входит в указанный диапазон')  
  end;
Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".
PROGRAM FUTURE;
var N : word;
BEGIN
  writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
  Randomize;
  N:=Random(20)+1;      { N - случайное число от 1 до 20 }
  writeln;   write('Вас ожидает ');
  case N of
     1 : writeln('счастье');
     2 : writeln('пятерка');
     3 : writeln('дорога');
     4 : writeln('двойка');
     5 : writeln('болезнь');
     6 : writeln('здоровье');
     7 : writeln('деньги');
     8 : writeln('любовь');
     9 : writeln('встреча');
     10 : writeln('дети')
      else writeln('неудача')
  end;
  writeln('Нажми Enter');
  readln;  
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.
Условный оператор IF
Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:
   IF  "условие"  Then  "оператор1"  Else  "оператор2";
где "условие" - выражение логического типа;
"оператор1" выполняется, если условие верно ( True ),
"оператор2" выполняется, если условие не верно ( False ).
Например, вычисление квадратного корня из числа "a" проводится при условии a>=0, операторами:
  IF a>=0 Then b := Sqrt(a)
  Else
    begin
      WriteLn('a<0');
      Readln;
      Halt
    end; 
Оператор Halt прекращает выполнение программы.
Схема выполнения условного оператора имеет вид:



В условном операторе может отсутствовать блок Else оператор2; т. е. условный оператор может иметь вид:

IF "условие" Then "опертор1";

например: IFa<0 Then a:= abs(a);



Приведем пример программы определения весовой категории в зависимости от веса спортсмена.
PROGRAM VES;                        { определение весовой категории спортсмена }
                                     Условная схема программы
CONST A1='легкая категория';
      A2='средняя категория';
      A3='тяжелая категория';
      A4='сверхтяжелая категория';
var
  V : integer; 
BEGIN
  Write('введите вес спортсмена V = '); ReadLn(v);
  if V<62 then WriteLn(A1)           {вложенный условный оператор }
  else if V<75 then WriteLn(A2)
       else if V<88 then WriteLn(A3)
            else WriteLn(A4)
  writeln('Нажмите Enter');
  readln;
END.
Для разложения целого числа на цифры удобно применять операции: MOD и DIV. Например, если дано трехзначное число "N" ( "N" соответствует "X1X2X3" ), то цифры: X1X2X3, составляющие это число определяются блоком операторов:
  X3:= N mod 10;
  N:= N div 10;
  X2:= N mod 10;
  N:= N div 10;
  X1:= N;
Если требуется определить, делится ли вещественное число "A" нацело на число "B", то можно применять функции Frac(x); и Int(x); например:
  x := A/B;    
  if Frac(x) = 0  then writeln('Число "A" делится нацело на число "B"');
  if Int(x) = x   then writeln('Число "A" делится нацело на число "B"');
Условный оператор может применяться для идентификации (распознавания) объекта по определенным признакам составляющих его элементов. Например, если объектом является треугольник, то элементами объекта могут быть: 1) три его угла (a, b, c); 2) три его стороны (a1, b1, c1); и т. д.
Признаками являются значения элементов по которым производится идентификация, например, для углов: 1) один угол > 90 - (один признак); 2) три угла < 90 - (три признака); и т. д.
В результате идентификации объект получает имя. Например, треугольник - остроугольный, либо тупоугольный и т. д.
Если идентификация проводится по одному признаку для нескольких элементов, то несколько условий связываются служебным словом "or", например:
  If (a > 90) or (b > 90) or (c > 90) then writeln ( 'Треугольник - тупоугольный' );
Если идентификация проводится по нескольким признакам, число которых равно числу элементов, то несколько условий связываются служебным словом "and", например:
  If (a < 90) and (b < 90) and (c < 90) then
    writeln('Треугольник - остроугольный'); 
Если имя объекта составное, то добавляются признаки для идентификации второй части имени и применяются вложенные условные операторы, например, для равнобедренного треугольника:
  If (a < 90)and (b < 90) and(c < 90) then
    If (a=b) or (b=c) or (a=c) then
      writeln('Треугольник - остроугольный и равнобедренный')  
    else writeln('Треугольник - остроугольный');
Напомним, что условный оператор можно применять для контроля правильности вводимых данных, например:
  If (a+b+c)<>180 then 
    begin
      writeln('Суммауглов <> 180'); 
      Halt  
    end;
Если для идентификации объекта достаточно меньшего числа признаков, чем число элементов, то условия, связанные "and" группируются, а группы соединяются служебным словом "or". Например, четырехугольник имеет элементами четыре стороны ( a, b, c, d ), а его имя устанавливается по двум признакам (равенство двух пар сторон), тогда можно использовать операторы:
  If ((a=b) and (c=d)) or ((a=c) and (b=d)) or ((a=d) and (b=c)) then
    writeln('Параллелограмм');
Содержание
   









helloworld.ru © 2001-2016
Все права защищены
Rambler's Top100 TopList Rambler's Top100