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

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

Циклы и массивы

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Использование оператора WITH ... DO.

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

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

 Формат оператора варианта:
CASE <Выражение-селектор> OF
           < Список 1>: <Оператор 1 >;
           <Список 2>: <Оператор 2 >;
           …
           <Список N>: <Оператор N >
           [ ELSE <Оператор N+1> ];
END;
В этой конструкции <Выражение селектор> может быть любого перечисляемого типа: стандартного (INTEGER, BOOLEAN, CHAR и т.д.) или пользовательского. <Список i> представляет собой подмножество значений, разделенных через запятую, выражения-селектора при которых следует выполнить <оператор i>. Оператор ELSE может отсутствовать. Если выражение-селектор принимает значение, которое не входит ни в один из списков 1,2,N, то в этом случае выполняется оператор N+1, стоящий за ELSE. Когда оператор ELSE отсутствует, вместо оператора N+1 выполняется пустой оператор. Далее приведен алгоритм оператора CASE ... OF:

case

Вариант, помеченный словом 'Иначе', соответствует ветке ELSE оператора CASE. Если ELSE отсутствует, то в блок-схеме нет этой ветви. Оператор CASE ... OF работает следующим образом:

  • Вычисляется значение выражения селектора – G.
  • Значение G сравнивается с множеством значений, представленных в списке 1. Если в списке есть такое значение, то выполняется оператор 1.
  • Если в списке 1 нет значения G, то проверяется список 2. Если найдено в списке 2 значение G, то выполняется оператор 2 и т.д.
  • Если значение G не найдено ни в одном из списков с номерами 1, 2, 3,..., N, то выполняется оператор N + 1.
  • Если в операторе CASE нет ветки ELSE и значение G не найдено ни в одном из списков 1, 2, 3,..., N, то выполняется пустой оператор.

Пример 12. Составить программу для вычисления площади одной из пяти геометрических фигур (прямоугольника, треугольника, трапеции, круга и сектора).
PROGRAM PR12;
VAR
S, А, В, Н, R, FI: REAL; N: INTEGER;
BEGIN  
WRITELN('l - прямоугольник');
WRITELN('2 — треугольник');
WRITELN('3 - трапеция');
WRITELN('4 - круг');
WRITELN('5 - сектор');
READLN(N);
S:=0;
CASE N OF
1: BEGIN    
      WRITELN('Введите стороны - А, В');
      READ(A, В);
      S:= A*B;
    END;
2: BEGIN   
      WRITELN('Введите основание и высоту - А, Н');
      READ(A, Н);
      S:=A*H/2;
    END;
3: BEGIN    
      WRITELN('Введите основания и высоту - А, В, Н');
      READ(A, В, Н);
      S:= (А + В)*Н/2;
    END;
4: BEGIN    
      WRITELN('Введите радиус – R');
      READ(R);
      S:= PI*R*R;
    END;
5: BEGIN    
      WRITELN('Введите радиус и угол, град - R, FI');
      READ(R, FI);
      S:=PI*R*R*FI/360;
    END;
END; {CASE}
WRITELN(фигуры = ', S:8:2)
END.
В этой программе оператор CASE используется для организации простейшего меню для выбора фигуры по предлагаемому номеру из списка номеров. Оператор указывает номер фигуры, и управление передается соответствующей ветви вычислительного процесса.
Пример 13. Для заданного целого положительного K и значения вещественного числа X вычислить Y = F(X) по формуле:

case.

PROGRAM PR13;
VAR    X, Y: REAL; К: INTEGER;
BEGIN   WRITELN('Введите X и К');
READLN(X, K);
CASE К OF
  2, 3 : Y := EXP(K *LN(X)) + X + 1;    { Список 1}
  4 .. 6: Y:= 1/ABS(X+1);    {Список 2}
  ELSE Y:= SQRT(ABS(X +K))+SQRT(ABS(X-K)) { В противном случае}
END; { CASE}
WRITELN('Y = ',Y:5:1)
END.
В примерах 12, и 13 не следует путать метки — значения выражения селектора CASE с метками, используемыми оператором GOTO. Попытка войти в метку оператора CASE оператором безусловного перехода приведет к ошибке.


Предыдущая статья: Организация условного перехода. Оператор IF.
Оглавление: Лекции по Pascal.
Следующая статья: Программирование циклов. Оператор безусловного перехода.


Комментарии  

 
-6 # bori 11.03.2014 06:32
:D :lol: :-) ;-) 8) :-| :-* :oops: :sad: :cry: :o :-? :-x :eek: :zzz :P :roll: :sigh:
Ответить
 
 
+3 # спс 17.01.2016 09:14
Спасибо, очень помогло при составлении блок-схемы)
Ответить
 
 
+2 # Афродита 29.11.2017 05:56
Не очень помогло:-|
Ответить
 
 
+2 # Миха 15.10.2021 05:39
Ура я програмист !!! :lol: :lol: :lol:
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по Паскаль