суббота, 28 декабря 2019 г.

Задачи на массивы. IV тип "Замена элементов массива". V тип «Вычеркивание элементов массива».

Дорогие 9-классники!
Предлагаю вашему вниманию еще два типа задач на обработку элементов массива:
IV тип "Замена элементов массива"
V тип «Вычеркивание элементов массива».
Изучите внимательно предложенные программы, протестируйте их в среде программирования и решите домашние задачи.
Пример
Дан одномерный массив A[10]. Написать программу, которая будет заменять все отрицательные элементы их квадратами, а положительные – их кубами.
Решение.
Program z1;
VAR A: array [1 . . 10] of integer; i: integer;
Begin
       Randomize;
       For i: =1 to 10 do
              Begin
                     A[i]: = Random (20) – Random (20);
                     Writeln (‘A[’, i, ‘]=’, A[i]);
              End;
      Writeln (‘Новый массив:’);
       For i: = 1 to 10 do
              Begin
                     IF A[i] < 0 THEN
                                          A[i]: = A[i] * A[i]
                                        ELSE
                                          A[i]: = A[i] * A[i] * A[i];
                   Writeln (‘A[’, i, ‘]=’, A[i]);
              End;
End.


V тип «Вычеркивание элементов массива».
Обратите внимание!
1. Элементы массива вводятся в первом цикле.
2. Второй цикл используем для обработки элементов массива (осуществляем выборку элементов массива A, удовлетворяющих заданному условию, в новый массив В).
3. В третьем цикле выводим полученный результат на экран.

Изучите внимательно пример, протестируйте программу в среде программирования и решите домашние задачи.
Пример
Дан одномерный массив A[10]. Написать программу, которая будет исключать из данного массива все нулевые элементы.
Решение
Program Isklychenie;
VAR A, B: array [1 . . 10] of integer; i, j: integer;
Begin
       Randomize;
       For i: =1 to 10 do
              Begin
                     A[i]: = Random (20) – Random (20);
                     Writeln (‘A[’, i, ‘]=’, A[i]);
              End;
       j: = 0;
       For i: = 1 to 10 do
              Begin
                     IF A[i] <> 0 THEN
                            Begin
                                   j: = j + 1;
                                   B[j]: = A[i];
                            End;
       Writeln (‘Новый массив, не содержащий нулей:’);
       For i: =1 to j do
              Begin
                     Writeln (‘B[’, i, ‘]=’, B[i]);
              End;
End.

Подумайте, как можно усовершенствовать данную программу.


Удачи!

Комментариев нет:

Отправить комментарий