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

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

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

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

Функции trunc, round в Pascal.

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

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

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

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

Вложенный арифметический цикл. Часть 2.

Примеры использования различных операторов цикла. Вложенный цикл.

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

Пример 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.
Следующая статья: Сортировка одномерного массива.


Комментарии  

 
-19 # мадо 22.02.2014 07:10
:eek: :P :sigh: :-*
Ответить
 
 
-13 # кетпчунез 17.03.2016 05:57
:o 8) :lol: :lol: :-| :-| ;-) :-x :-* :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :eek: :sigh:
Ответить
 
 
-6 # ыыыыы 20.11.2016 09:29
;-) ;-) ;-) 8) :cry: 8) :D :D :D :D :D :D :D :D :D :D :D :D :D :-)
Ответить
 
 
-3 # Ыыыы 14.12.2016 02:25
:-* :o
Ответить
 
 
0 # Кетчунез 15.01.2017 13:01
Зачем нам нужна информатика!?
Ответить
 
 
0 # gsrGSRGhs 09.02.2017 10:44
:D :D :D :oops: :-x :-x :-x :-x :eek: :P 8) :zzz :P :eek: :-x :-x :-x :-x
Ответить
 
 
0 # маг 19.02.2017 17:19
:-| :-? :zzz
Ответить
 

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

Защитный код
Обновить

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