Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодуказанияПракОАПР2011Дрань.doc
Скачиваний:
12
Добавлен:
27.10.2018
Размер:
543.74 Кб
Скачать

Подсчёт суммы или количества каких-либо элементов массива

Пример: Найти сумму и количество положительных элементов массива.

PROGRAM PRIM6;

uses printer;

type

massiv = array[1..50] of integer;

var

a:massiv;

i, n : integer;

sp, kp : integer;

BEGIN

sp:=0;

kp:=0;

writeln (‘введите количество элементов массива A’);

for i:=1 to n do

readln (A[i]);

for i:=1 to n do

if x[i]>0 then begin

sp:=sp+x[i];

kp:=kp+1;

end;

END.

Определение максимального (минимального) элемента массива

Пример 1: Найти в массиве наибольший элемент и его индекс.

PROGRAM PRIM7;

uses printer;

type

mas = array[1..100] of integer;

var

a:mas;

i, n, maxi, max : integer;

BEGIN

writeln (‘введите количество элементов массива A’);

readln (n);

for i:=1 to n do begin

randomize;

A[i]:=random(100);

end;

max:=a[1];

maxi:=1;

for i:=1 to n do

if A[i]>max then begin

max:=A[i];

maxi:=i;

end;

END.

Пример 2. Определить существует ли в массиве заданное с клавиатуры число.

Program poisk;

Var

Massiv:array[1..10] of integer;

Obrazec: integer; {образец для поиска}

Found:boolean; {признак совпадения с образцом}

I:integer;

Begin

For i:=1 to 10 do

Read(massiv[i]);

Write(‘Введите образец для поиска’);

Readln(obrazec);

Found:=false; {совпадений нет}

I:=1;

Repeat

If massiv[i]=obrazec then found:=true {совпадение с образцом}

Else i:=i+1;

Until (i>10) or (found); {завершим если совпадение с образцом или проверен последний элемент массива}

If found then writeln (‘ Совпадений с элементом номер’, i:3, ‘Поиск успешен’)

Else writeln(‘Совпадений с образцом нет’);

End.

Сортировка элементов массива

Под сортировкой понимается перестановка местами элементов массива в порядке возрастания или убывания.

Существует большое количество методов сортировки. Рассмотрим один из самых простых методов, который называется методом «пузырька». Суть метода заключается в следующем: сравниваются по очереди соседние элементы массива, и если нужно, то меняются местами. Такие сравнения и перестановки выполняются до тех пор, пока, наконец, не окажется, что больше переставлять уже нечего.

PROGRAM PRIM8;

uses printer;

type

massiv = array[1..100] of integer;

var

i, kol, r : integer;

BEGIN

Repeat

kol:=0;

for i:=1 to k-1 do begin

if x[i]>x[i+1] then begin

r:=x[i];

x[i]:=x[i+1];

x[i+1]:=r;

kol:=kol+1;

end;

end;

Until kol=0;

END.

Обратите внимание, что перестановка двух элементов местами обязательно должна выполняться с помощью третьей переменной. Переменная kol используется для подсчёта количества перестановок.

Выполнить задания

1 Вариант 2 Вариант 3 Вариант

Задача 1 стр. 338 (1) Задача 1 стр. 338 (3) Задача 1 стр. 338 (2)

Задача 2 стр. 338 (15) Задача 2 стр. 339 (20) Задача 2 стр. 339 (18)

Задача 3 стр. 340 (1) Задача 3 стр. 339 (24) Задача 3 стр. 340 (3)

Задача 4 стр. 342 (31) Задача 4 стр. 342 (31) Задача 4 стр. 342 (31)

4 Вариант 5 Вариант 6 Вариант

Задача 1 стр. 338 (5) Задача 1 стр. 338 (9) Задача 1 стр. 338 (10)

Задача 2 стр. 339 (20) Задача 2 стр. 339 (21) Задача 2 стр. 339 (24)

Задача 3 стр. 340 (5) Задача 3 стр. 340 (7) Задача 3 стр. 339 (30)

Задача 4 стр. 342 (31) Задача 4 стр. 342 (31) Задача 4 стр. 342 (31)

7 Вариант 8 Вариант

Задача 1 стр. 338 (11) Задача 1 стр. 338 (13)

Задача 2 стр. 339 (27) Задача 2 стр. 339 (30)

Задача 3 стр. 341 (18) Задача 3 стр. 341 (24)

Задача 4 стр. 342 (31) Задача 4 стр. 342 (31)

Контрольные вопросы и задания

по теме «Одномерные массивы»

Вопросы

  1. Что такое массив?

  2. Как определить местоположение элемента в массиве?

  3. Каким образом задается описание массива, что в нем указывается?

  4. Что называется сортировкой массива? Какие методы сортировки вы знаете?

Задания

  1. В массиве Х из n элементов найти максимум и минимум из элементов массива и поменять их местами.

  2. В массиве А из n элементов определить положительных, отрицательных элементов и нулей.

  3. В массиве В из m элементов определить разность максимальными и минимальными элементами.

  4. Вычислить сумму всех элементов массива за исключением наибольшего по величине.

  5. В целочисленном массиве А из N элементов определить число элементов, имеющих чётное значение и сумму этих элементов.

  6. В заданном массиве заменить все положительные элементы значением +1, а отрицательные – значением –1.

  7. Определить, есть ли в заданном массиве из N элементов элемент, равный L. Программа должна выдать на печать значение «да» или «нет».

  8. Задан массив L из N элементов. Построить и вывести на экран массив D из N/2 элементов.

  9. В массиве В из 10 элементов поменять местами первый элемент со вторым, третий с четвёртым и т.д… , девятый с десятым.

  10. В массиве С из N элементов найти элемент, имеющий наименьшее значение и поменять его местами с последним элементом.

  11. В массиве А из N элементов определить количество элементов, значения которых больше среднего арифметического всех элементов.

  12. Заданы два массива Х и Y из N элементов каждый. Сформировать и вывести на печать массив Z из элементов массивов Х и Y: Z = (x1, y1, x2,y2, …, xn, yn).

  13. Задан массив А из N элементов и массив В из М элементов. Сформировать массив L из массивов А и В слияния так, чтобы сначала располагались все элементы массива А, а затем все элементы массива В.

  14. Задан массив А из N элементов. Сформировать массив В, содержащий только положительные элементы массива А.

  15. В массиве А из 20 элементов найти сумму элементов, имеющих чётное значение и сумму элементов, имеющих нечётное значение.

  16. В заданном массиве А из N элементов вычислить произведение элементов до первого отрицательного.

  17. В заданном массиве В из N есть хотя бы один нуль. Вычислить сумму элементов массива до первого нуля.

  18. В заданном массиве Х из N элементов умножить все элементы массива, имеющие чётные номера на максимальный элемент всего массива.

  19. В массиве Y из N элементов вычислить сумму положительных элементов и произведение отрицательных.

  20. В массиве D из N элементов все отрицательные элементы заменить на их квадраты, а все положительные разделить на 2.

  21. В массиве С из N элементов найти максимальный элемент и его номер, а также минимальный элемент и его номер.

  22. В заданном массиве Z из 15 элементов вычислить сумму всех элементов, за исключением элемента, имеющего максимальное значение.

  23. В массиве Р из N элементов вычислить произведение элементов, имеющих чётное значение, а также количество положительных элементов.

  24. В массиве S из N элементов вычислить сумму и произведение элементов, значение которых больше заданного числа х ( значение х задаётся при помощи оператора ввода).

  25. В массиве Н из 30 элементов найти сумму первых 10 элементов, произведение последних 10 элементов и среднее арифметическое элементов, имеющих номера от 11 до 20.

  26. В массиве К из N элементов найти сумму элементов, имеющих чётные номера и произведение элементов, имеющих нечётные номера.

  27. В массиве В из N элементов переставить местами первый и минимальный элементы, а также последний и максимальный элементы.

  28. В массиве М из N элементов заменить все элементы массива, кратные 4, на единицы.

  29. В заданном целочисленном массиве А из N элементов все элементы, дающие остаток от деления на 3, равный 2, заменить их удвоенным произведением.

  30. В массиве Р из N элементов вычислить среднее арифметическое его элементов, имеющих чётное значение.

  31. Введите массив ( не более 20) и определите, есть ли в нем элементы с одинаковыми значениями.