Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

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

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

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Массив символов.

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (String).

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

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


Комментарии  

 
-21 # мадо 22.02.2014 07:10
:eek: :P :sigh: :-*
Ответить
 
 
-11 # кетпчунез 17.03.2016 05:57
:o 8) :lol: :lol: :-| :-| ;-) :-x :-* :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :eek: :sigh:
Ответить
 
 
-8 # ыыыыы 20.11.2016 09:29
;-) ;-) ;-) 8) :cry: 8) :D :D :D :D :D :D :D :D :D :D :D :D :D :-)
Ответить
 
 
-5 # Ыыыы 14.12.2016 02:25
:-* :o
Ответить
 
 
+3 # Кетчунез 15.01.2017 13:01
Зачем нам нужна информатика!?
Ответить
 
 
0 # сигизмунд 05.03.2017 09:40
шатап
Ответить
 
 
+2 # маг 19.02.2017 17:19
:-| :-? :zzz
Ответить
 
 
+1 # КАК ТАК ТО 09.05.2017 20:54
Вы знаете что внутриблочные переменные не могут иметь одинаковые имена с переменными из верхнего уровня (строка 8).Поправьте меня если не так что.
Ответить
 

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

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

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