Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Ввод логических переменных с клавиатуры.

В отличие от переменных целого, вещественного или символьного типов данных, булевские переменные нельзя вводить с клавиатуры, их можно только выводить на экран. Однако можно использовать небольшую хитрость. Для того чтобы можно было ввести булевскую ...

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

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

Циклы с параметром. Оператор FOR.

Эти циклы организуются в программах, где заранее известно число повторений. При этом повторное выполнение сопровождается изменением управляющего параметра (переменной цикла).

Отображение на экране значений двумерного массива.

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

Одной из наиболее распространенных задач обработки массивов является поиск минимального (максимального) элемента.

Пример 31. В массиве X из 20 вещественных чисел поменять местами наибольшие и наименьшие элементы.

Уточним пространство решений. В массиве X может присутствовать несколько максимальных и минимальных элементов. Возможен неординарный случай для этой задачи, который состоит в том, что все элементы массива равны между собой. Переменные, используемые в программе, и их тип описаны в следующей таблице:

massiv.....

Эту задачу нужно решать с помощью двух последовательных просмотров массива X. Целью первого просмотра является вычисление наибольшего МАХ и наименьшего МIN значений элементов массива X. В начале просмотра значение первого элемента Х[1] считается одновременно наибольшим и наименьшим, что справедливо в том случае, если в массиве всего один элемент. Далее со второго элемента Х[2] и до последнего Х[20] сравниваются значение текущего элемента с MIN. Если значение текущего элемента меньше, то оно с этого момента считается минимальным. По окончании цикла в рабочей ячейке MIN окажется число, равное значению наименьшего элемента. Аналогично поступаем для нахождения МАХ.
Далее нужно сравнить между собой MIN и МАХ. Если эти величины равны между собой, то массив состоит из 20 равнозначных элементов. Следовательно, переставлять их местами нет необходимости. Если MIN?МАХ, то нужно наименьшим элементам присвоить значение МАХ, а наибольшим элементам присвоить значение MIN. Эти действия являются основой для второго просмотра массива X.


PROGRAM PR31;
VAR   
X: ARRAY [ 1.. 20] OF REAL;
I: INTEGER;
MIN, MAX: REAL;
BEGIN
WRITELN('Введите массив X, из 20 вещественных чисел');
FOR I := 1 ТО 20 DO READ(X[I]);
MIN :=Х[1];
МАХ :=Х[1];
FOR I := 2 ТО 20
         DO BEGIN
          IF      MIN>X[I]
          THEN MIN := X[I];
          IF      MAX<X[I]
          THEN MAX := X[I];
         END;
IF MIN <> MAX
THEN FOR I := 1 TO 20
DO BEGIN
       IF MAX = X[I]
       THEN X[I] := MIN
      ELSE IF MIN = X[I]
                THEN X[I]:=MAX;
END;
WRITELN('Элементы массива X имеют значения:');
FOR I := 1 TO 20 DO WRITE(X[I]: 4:1,'  ');
WRITELN
END.


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


Комментарии  

 
-12 # мадо 22.02.2014 07:10
:eek: :P :sigh: :-*
 
 
-7 # кетпчунез 17.03.2016 05:57
:o 8) :lol: :lol: :-| :-| ;-) :-x :-* :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :eek: :sigh:
 
 
-10 # ыыыыы 20.11.2016 09:29
;-) ;-) ;-) 8) :cry: 8) :D :D :D :D :D :D :D :D :D :D :D :D :D :-)
 
 
-7 # Ыыыы 14.12.2016 02:25
:-* :o
 
 
-1 # КАК ТАК ТО 09.05.2017 20:54
Вы знаете что внутриблочные переменные не могут иметь одинаковые имена с переменными из верхнего уровня (строка 8).Поправьте меня если не так что.
 
 
-2 # ЗЫКЛЮЧЕННЫЙ 30.10.2017 14:13
:-x хурмы поел. очень плохо сбебя чувствуюююю.... ю.
 
 
-2 # Xaxa 10.11.2017 07:58
Как у вас дела ,ребята? :roll:
 
 
+1 # укенгшщщшгнекыцывп 23.11.2017 11:26
:D :lol: :-) ;-) 8) :-| :-* :oops: :sad: :cry: :o :-? :eek: :zzz :P :roll: :sigh:
 
   ГлавнаяПаскальЛекции по ПаскальАлфавит языка Паскаль.