Основы алгоритмизации и программирования. Часть вторая. Типовые алгоритмы обработки массивов. Асламова В.С - 7 стр.

UptoLike

Составители: 

13
Пример 4 Определение числа элементов массива
Требуется определить, сколько элементов заданного массива P,
содержащего n элементов, удовлетворяет заданному условию. Условие
имеет вид P[ i ]>T, где T – заданное число.
Для решения задачи следует организовать цикл по i и для каждого
значения i проверять условие P[ i ]>T. Если условие удовлетворяется, то к
счетчику числа элементов прибавляется 1, а если не удо
влетворяется, то
осуществляется переход к следующему элементу
массива.
Программа 4
Var i, k, n: byte;
P:array[1 . . 30] of real;
T:real;
begin k:=0;
write('Введите n и число T');
readln(n,T);
write('Ввод ',n,'элемента');
For i:=1 to n do begin
Read (P[ i ]);
If P[ i ]>T then k:=k+1;
end;
Writeln('Количество удовлетворяющих
элементов ',k)
End.
Пример 5 Объединение двух массивов
Требуется объединить два массива A и B, содержащие по n
элементов, в один массив C, (который будет содержать 2n элементов) с
чередованием элементов исходных массивов. Можно заметить, что индекс
массива C зависит от индекса пересылаемого в него элемента массива A
или B. Организовав цикл по i, и выполняя для каждого i присваивания, мы
реши
м задачу.
НАЧАЛО
КОНЕЦ
Печать
k
К
лавиатура
Ввод n,T
i:=1..n
k:=k+1
P[ i ]>T
не
т
да
П
ечать
Ввод P[ i ]
Р
исунок 6. Блок-схема
программы 4
14
Программа 5
Var i: byte;
A, B:array[1 . . 40] of integer;
C:array[1 . . 80] of integer;
begin write('Введите n<40');
readln(n);
for i:=1 to n do begin
writeln('Введите A',i,' B',i);
readln(A[ i ],B[ i ]);
C[2*i-1]:=A[ i ];
C[2*i ]:=B[ i ];
end;
Writeln('Массив C');
For i:=1 to 2*n do write(C[ i ]:6);
Writeln
End.
Пример 6 Инвертирование массива
Требуется изменить порядок следования элементов массива A,
состоящего из n элементов, на обратный порядок, используя одну
вспомогательную переменную. Результат получить в том же массиве A.
Сначала поменяем местами первый и n-й элементы, используя
вспомогательную переменную C. Для этого перешлем A1 в C (C=A1).
Затем в A1 перешлем An (A1=An). Значение A1, которое временно
НАЧАЛО
КОНЕЦ
Печать
Массив C
П
ечать
Ввод n
i:=1..n
C[2*i
1]
:=
A[
i
]
C[2*i ]:=B[ i ]
П
ечать
Ввод A[ i ], B[ i
i:=1..2*n
Печать
C
[ i ]
Рисунок 7 Блок-схема
п
р
ог
р
аммы 5
  Пример 4 Определение числа элементов массива                                           НАЧАЛО             Программа 5

        Требуется определить, сколько элементов заданного массива P,                       Печать
                                                                                                            Var i: byte;
  содержащего n элементов, удовлетворяет заданному условию. Условие                       Ввод n
  имеет вид P[ i ]>T, где T – заданное число.                                                                    A, B:array[1 . . 40] of integer;

        Для решения задачи следует организовать цикл по i и для каждого                    i:=1..n                 C:array[1 . . 80] of integer;
 значения i проверять условие P[ i ]>T. Если условие удовлетворяется, то к
 счетчику числа элементов прибавляется 1, а если не удовлетворяется, то                                     begin write('Введите n<40');
                                                                                         Печать
       НАЧАЛО      осуществляется переход к следующему элементу                       Ввод A[ i ], B[ i ]
                                                                                                                                readln(n);
      Клавиатура
                   массива.
        Ввод n,T
                         Программа 4                                                   C[2*i –1]:=A[ i ]    for i:=1 to n do begin
                                                                                        C[2*i ]:=B[ i ]

          i:=1..n        Var i, k, n: byte;                                                                        writeln('Введите A',i,' B',i);
                             P:array[1 . . 30] of real;
        Печать                                                                                                               readln(A[ i ],B[ i ]);
        Ввод P[ i ]          T:real;
                                                                                         Печать
  нет                    begin k:=0;                                                    Массив C                   C[2*i-1]:=A[ i ];
         P[ i ]>T
                                write('Введите n и число T');
                    да                                                                                             C[2*i ]:=B[ i ];
                                                     readln(n,T);                       i:=1..2*n
          k:=k+1
                                write('Ввод ',n,'элемента');                                                                 end;
                         For i:=1 to n do begin
                                                                                         Печать                  Writeln('Массив       C');
          Печать                  Read (P[ i ]);                                          C[ i ]
            k
                         If P[ i ]>T then k:=k+1;                                                           For i:=1 to 2*n do write(C[ i ]:6);
         КОНЕЦ                                end;
                                                                                        КОНЕЦ                  Writeln
                                  Writeln('Количество удовлетворяющих
Рисунок 6. Блок-схема             элементов ',k)                                  Рисунок 7 Блок-схема         End.
программы №4                      End.                                            программы №5
  Пример 5 Объединение двух массивов                                         Пример 6 Инвертирование массива
        Требуется объединить два массива A и B, содержащие по n                    Требуется изменить порядок следования элементов массива A,
  элементов, в один массив C, (который будет содержать 2n элементов) с       состоящего из n элементов, на обратный порядок, используя одну
  чередованием элементов исходных массивов. Можно заметить, что индекс       вспомогательную переменную. Результат получить в том же массиве A.
  массива C зависит от индекса пересылаемого в него элемента массива A             Сначала поменяем местами первый и n-й элементы, используя
  или B. Организовав цикл по i, и выполняя для каждого i присваивания, мы    вспомогательную переменную C. Для этого перешлем A1 в C (C=A1).
  решим задачу.                                                              Затем в A1 перешлем An (A1=An). Значение A1, которое временно


                                                                        13   14