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

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

Div, Mod, сложение, вычитание в Pascal.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

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

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

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

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

...

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

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


Комментарии  

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