Показаны сообщения с ярлыком Оператор. Показать все сообщения
Показаны сообщения с ярлыком Оператор. Показать все сообщения

Вывод максимального и минимального из 3-х чисел

Условия задачи

Входные данные

Входная строка содержит три целых числа, разделённых пробелами.

Выходные данные

В первой строке нужно вывести минимальное из введённых чисел, во второй строке - максимальное.

Обычная задача на проверку знаний условного оператора.

Решение задачи на Pascal
Var 
  a, b, c, max, min: integer;

Begin
  readln(a, b, c);
  max := a;
  min := a;

  If b > max Then
    max := b;
  If c > max Then
    max := c;

  If b < min Then
    min := b;
  If c < min Then
    min := c;

  writeln('Max: ', max, '. Min: ', min);
End.


Немного другой вариант задачи. Если необходимо отсортировать по возрастанию введенные числа:
Var a, b, c, t: Integer;
Begin
  Write('a b c: ');
  ReadLn(a,b,c);
  If b < a Then
    Begin
      t := a;
      a := b;
      b := t;
    End;
  If c < b Then
    Begin
      t := b;
      b := c;
      c := t;
    End;
  If b < a Then
    Begin
      t := a;
      a := b;
      b := t;
    End;
  WriteLn(a);
  WriteLn(c);
End.

Оператор цикла с постусловием

Этот оператор похож на оператор цикла с предусловием, но он выполняется по ложному условию.

Если оператор цикла с предусловием может совсем не выполняться, в зависимости от условия, то оператор цикла с постусловием выполняется хотя бы 1 раз.

Оператор цикла с постусловием имеет только сложную форму.

Repeat
 <Оператор 1> ;
 .............;
 <Оператор N> ;
Until <Условие> ;

Его служебные слова repeat – until является операторными скобками.

Важно помнить, что перед словом until – точка с запятой ; не ставиться!

Для примера вам задача.

Оператора цикла с предусловием

На всем пути обучения программированию приходится сталкиваться различными циклам.
Рассмотрим основные характеристики оператора цикла с предусловием, чтобы не путать его с двумя другими.

Как и в любом цикле, тут существует условие. Это условие должно быть записано в виде логического выражения.

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

Блок-схема оператора цикла с предусловием

Оператор цикла с предусловием в Pascal пишется таким образом:

While <Условие> Do <Оператор> ;
 


Такой цикл выполняется по истинности условия. Условие проверяется на входе в цикл. Поэтому оператор тела цикла может вообще не выполниться, если условие ложно.

Оператор цикла с  предусловием может быть составным, то есть состоящим из нескольких операторов в теле цикла :

While <Условие> Do 
 Begin
  <Оператор 1> ;
  ............ ;
  <Оператор N> ;
 End ;


Пример задачи с использованием цикла с  предусловием .

Задача: Посчитать n!

Program factorial ;
Var i, n : integer ;
       p : real ;
Begin
 Writeln('Введите количество чисел N') ;
 Readln(N) ;
 P := 1 ;
 I := 1 ;
 While I <= N Do
  begin
   P := P*I ;
   I := I+1 ;
  end ;
Writeln(' Фактериал равен = ', p:0:0) ;
Readln ;
End.

Оператор выбора на блок-схеме


Оператор выбора Case

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

Реализовать это в программе без оператора выбора будет не так-то просто, хотя и не невозможно.

Поэтому знание и умение использовать оператор выбора Case важно в багаже знаний любого программиста.

Для начало определим, чем же является оператор вариантов ( выбора ).

Оператор выбора или вариантов Case

Оператор выбора Case – это форма условного оператора (А условные оператор, как нам уже известно, используется в разветвляющихся вычислительных процессах), используемая для множественного выбора.

Иногда оператор Case называют еще оператором множественного выбора. Верны оба названия. Суть от них не меняется.

Оператор выбора на блок-схеме

Оператор выбора Case

Основы оператора выбора Case

Определимся с основными понятиями, изображенными на блок-схеме.

Селектор – это переменная или выражение порядкового типа данных.

Может быть сложно для понимания, что такое порядковый тип данных, хотя это понятие схоже с математическим в некотором роде.

Порядковый тип данных – к нему относятся типы данных, каждому из значений которого, можно поставить соответственный порядковый номер.

К порядковому типу данных не относиться только вещественный тип (real).

Case <Селектор> Of 
  <Метка 1> : <Оператор 1> ;
  <Метка 2> : <Оператор 2> ;
  . . . . . . . . . . . .  ;
  <Метка N> : <Оператор N  ;
End;

В качестве меток используется одно из значений селектора.

Это значит, что селектор каким-то образом изменяет свое значение, а эти значения уже известны, и они уже присвоены меткам. В таком случае значение селектора совпадает с какой-либо меткой, и затем выполняется действие, указанное после метки.

Если действие должно выполняться при нескольких значениях селектора ( оператора case ), то допускается перечисление этих меток через запятую. ( Т.е. для одинаковых действий )

В операторе  case можно использовать служебное слово else, если не выполняется ни одно действие по заданному значению селектора.

Case <Селектор > Of 
  <Метка 1> : <Оператор 1> ;
  <Метка 2> : <Оператор 2> ;
  . . . . . . . . . . . .. ;
  <Метка N> : <Оператор N>
  Else <Оператор N+1> ;
End;


Если после метки стоит не одни оператор, а несколько, то они заключаются в операторные скобки (begin – end ;)

Предоставляю вашему вниманию задачу на вычисление суммы цифр в числе. Часто встречается такое условие в лабораторных работах.