ЛАБОРАТОРНАЯ РАБОТА № 5 Разработка алгоритмов и программирование задач формирования и обработки одномерных массивов

  • docx
  • 10.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00256.docx

ЛАБОРАТОРНАЯ        РАБОТА № 5

Разработка алгоритмов и программирование задач формирования и обработки одномерных массивов

 

Цель: освоить методы разработки алгоритмов и программирование задач по формированию и обработке одномерных массивов.

 

Краткие теоретические сведения

Одномерный массив это последовательность однотипных элементов,                       имеющих     общее    имя,    причем    каждый    элемент     этой последовательности определяется порядковым номером (индексом) элемента. Элементами массива могут быть данные любого типа. Например, совокупность действительных чисел (1.6 14.9 -5.2 0.45) можно считать массивом и обозначить одним именем, например Х:

Х = (1.6        14.9       -5.2         0.45)

 

62


Все элементы массива пронумерованы. Номер элемента массива называется индексом. Элементы массива упорядочены по значению индекса: Х = 1, Х2, ..., Хn), то есть индекс элементов массива изменяется от 1 до n. Переменная n указывает на количество элементов в массиве Х, то есть на размерность массива.

Примеры массивов:

Х1, Х2, …, Хn одномерный массив, состоящий из n элементов;

А1, А2, …, А10 одномерный массив, состоящий из 10 элементов.

Доступ к каждому элементу массива осуществляется с помощью индексов, то есть индекс определяет местоположение элемента в массиве.

Рассмотрим массив Х1, Х2, …, Хn. Здесь

·                     Х имя массива;

·                     1, 2,…, n индексы (порядковые номера) элементов;

·                     Х2 второй элемент массива Х.

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

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

1   способ - поэлементный ввод элементов массива

Для ввода элементов массива Х размерностью N вначале вводится размерность массива N (блок 1). Затем организовывается цикл с известным числом повторений, выполняющий поэлементный ввод произвольных однотипных значений массива. Параметр цикла i является индексом элементов массива Х. В блоке модификации (блок 2) осуществляется перебор значений i от 1 до N. Для каждого значения i выполняется ввод значения Хi-го элемента массива (блок 3), т.е. при i=1 будет введено значение для X1, при i=2 – значение для X2 и т.д. Таким образом, за один шаг выполнения цикла вводится один элемент массива Х.

1

Ввод N

 

2

i=1, N                     

3

Ввод Хi

63


2        способ - формирование массива Х, значения элементов которого принадлежат заданному интервалу xн ≤ Xi ≤ xк с шагом изменения x

Для реализации данного способа вначале вводятся значения xн, xк и x (блок 1) и вычисляется N - размерность массива X (блок 2). Затем организовывается цикл с известным числом повторений, выполняющий вычисление значений элементов массива Х. В блоке модификации (блок 3) осуществляется перебор значений i от 1 до N. На каждом шаге цикла вычисляется значение одного элемента массива Х (блок 4), т.е. при i=1 будет вычислено значение для X1=xн+(1-1)∙x = xн, при i =2 – значение для X2=xн+(2-1)∙x = xн+x и т.д.

 

 

 

 

 

 

 

 

 


 

 

Вывод массива также выполняется поэлементно в цикле c известным числом повторений:

 

1

i=1, N                     

2

Вывод Хi

 

 

Циклы для ввода или вывода элементов массивов не обязательно делать отдельно. Их можно объединять с циклами по обработке элементов массивов.

Пример 1. Вычислить значения элементов массива Y по формуле:

Y = ax 3 - bx 2 + cx

i             i              i              i


 

Решение.


для


a = 6.3;


b = 2.9;


c = -4.5;


0 £ xi


£ 10;


Dxi


= 2.5


Исходные данные: хн, хк, ∆х, а, b, c.

Промежуточные данные: значения элементов массива Х. Результат вычислений: значения элементов массива Y.

 

64


Схема алгоритма решения задачи имеет вид:

Массив данных в программе рассматривается как переменная структурированного типа. При использовании массива в программе необходимо его описать в разделе переменных VAR или в разделе типов TYPE.

1   вариант

Var имя массива: array [тип индекса] of тип элементов массива;

Например,

Var Х: array [1..4] of integer;             //Х одномерный массив, который

состоит из 4 элементов целого типа.

В квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива, в данном примере первый элемент имеет номер 1, а последний - номер 4.

2   вариант

Type имя типа = array [тип индекса] of тип элементов массива; Var имя массива : имя  типа;

Например,

Type    mas1= array [1..4] of real; Var            Х: mas1;

 

65


Существует несколько способов задания одномерных массивов:

1)   ввод значений элементов массива с клавиатуры

Write(„Введите n‟); Readln(n);

Writeln ('Введите ', n, ' элементов массива Х');

For i:=1 to n do begin

Write (‟Ввести X [„, i, ‟]= ‟); Readln (X[i]);

end;

2)   считывание значений элементов массива из текстового файла

Assign (F,C:\tp\bin\my.txt’); Reset (F);

For i:=1 to n do      Readln (F, X[i]); Close(F);

 

Текстовый файл должен содержать значения элементов массива, записанные так, как будто бы их вводят с клавиатуры. В программе должна быть объявлена переменная типа TEXT, которая будет указывать на текстовый файл, файл нужно открыть и указывать на него в каждом операторе ввода (или вывода). Для данного примера в файле my.txt в папке C:\tp\bin должны быть размещены в столбик элементы массива Х.

3)        задание значений элементов массива с использованием генератора случайных чисел

Const n = 5;

Var X: array [1..n] of integer; i : integer;

begin

randomize;

for i:=1 to n      do X[i] := random(5)+10;

end;

 

В   данном    примере    элементы     массива     получают     случайные значения от 10 до 14 включительно.

Генератором случайных чисел называют функцию RANDOM.

 

66


Обращаться к этой функции можно двумя способами:

-           при вызове функции без параметра она возвращает вещественное число в интервале от 0 до 1 (0 - включается, а 1 - нет), например, X[i] := random;

-         при вызове функции с указанием параметра - целого положительного числа N функция возвращает целое число в интервале от 0 до N (0 - включается, а N - нет), например, X[i]:=random(10). В этом случае элемент массива Х получит в качестве значения одно из чисел 0..9. Все элементы массива будут положительными, чтобы были и отрицательные числа в массиве оператор можно записать так: X[i]:=random(10)-5.

Чтобы значения, возвращаемые генератором, различались при повторных запусках программы, необходимо до обращения к генератору инициализировать его процедурой RANDOMIZE.

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

For i := 1     to   n   do    Write (X[i] : 6 : 2, „       „); For   i := 1 to n do      Writeln (X[i] : 6 : 2);

Над    элементами      массива     чаще     всего     выполняются      такие действия, как:

-          подсчет   элементов   в   массиве,    удовлетворяющих   заданному условию;

-          поиск значений;

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

 

Пример 2.

Элементы массива Y вычисляются по формулам:


Y  = ìïa ln xi  ,


если


x      ³ 1


i    í

îï   x


2i + 2,5 ,


если


xi < 1


где


i = 1, M


Определить        количество        ненулевых        элементов,        среднее арифметическое положительных элементов в массиве Y.

 

Решение.

 

 

67


Введем обозначения: M - количество элементов в массиве; Х,Y - имя массива; i - индекс элемента массива; Хi - i-й элемент массива Х; Yi - i-й элемент массива Y; а - заданное число; k1 - количество ненулевых элементов массива Y; k2 - количество положительных элементов массива Y; S - сумма положительных элементов массива Y;                                                                                    Sа - среднее арифметическое положительных элементов массива Y. Исходные данные: a, M, массив Х.

Результат вычислений: массив Y, k1, Sа.

 

Текст программы решения задачи имеет вид: Program pr2;

type mas = array [1 . . 10] of         real;

var x,y: mas;       i,m,k1,k2: integer;        a, S, Sa: real; begin

Write („Введите m,a‟); Readln (m, a);

Writen ('Введите ', m , ' элементов массива Х');

For i:=1 to m      do begin

Write(‟Ввести x[„, i, ‟]= ‟); Readln(x[i]);

end;

k1:= 0; k2:= 0; S:= 0;

For i := 1 to m do begin

if x [i] < 1 then y[i] := sqrt (sqr (x[i]) + 2.5) else y[i] := a * ln (x[i]);

writeln („y[‟, i, ‟]=‟, y[i] : 6 : 2); if y [i] <> 0 then k1 := k1 + 1; if y [i] > 0 then

begin k2 := k2 + 1; S := S + y [i] end;

end;

if    k2 <> 0 then begin

Sa := S /k2;

writeln („Sa=‟, Sa : 6 : 2);


 

 

 

end.


end

else writeln („нет        y[i] > 0‟); writeln („k1=‟, k1: 2);


 

 

 

68


Схема алгоритма решения задачи имеет вид:

1

начало

 

2

Ввод М, а

 

3

i=1, M                    

 

4

Ввод хi

k1=0 k2=0 S=0
5

 


 

 

нет

 

9


6

i =1, M

7                                 да

xi<1

i8


yi = a × ln xi


yi  =


x 2 + 2.5


 

 


 

 

нет


10

Вывод yi

11                                 да

yi 0

k1=k1+112


 

 

 


нет


13

yi > 0


да

 

14

k2=k2+1 S=S+yi

нет


 

 

15                                  да

k2≠0


 

16


18   нет yi >0


 

Sa=S/k217

Вывод Sa


 

19

Вывод k1

 

20

конец

69


Пример 3. Элементы массива X (N), которые больше значения А записать в массив Y. Определить минимальное значение в массиве Y и его порядковый номер.

Решение.

Введем обозначения: N - количество элементов в массиве Х; Х,Y - имя массива; i - индекс элемента массива; Хi - i-й элемент массива Х; Yi - i-й элемент массива Y; А - заданное число; k - количество элементов массива Х, которые больше значения А; min - минимальное значение в массиве Y; nmin порядковый номер минимального значения в массиве Y.

Исходные данные: А, N, массив Х. Результат вычислений: массив Y, min, nmin.

 

Схема алгоритма решения задачи имеет вид:

1

начало

2


n, A

3

i = 1, n

4

Ввод Xi


 

 

 

 

 

 

 

нет


 

 

 

5 k=0

 

6

i = 1, n

 

7Х i > A


 

 

 

 

 

 

 

да

 

8

k=k+1


 

 

 

 

 

 

 

 

 

11

min = Y1 nmin = 1


 

9 Yk = Xi

 

10

Вывод Yk

 

 

 


 

 

 

нет


12

i = 2, k

13                                           да

Yi < min


 

 

15

Вывод min, nmin


41                                                       16

 

70


конец


Текст программы решения задачи имеет вид:

Program pr3;

type mas = array [1 . . 10] of         real;

var x,y: mas;          а, min: real;           i, k, n, nmin: integer; begin

writeln („Ввести а, n‟);        readln (а,n); for i := 1 to n do


 

 

 

k:=0;


begin

write („Ввести x [„, i ,‟ ]=‟ ); readln (x [i]) end;


Ввод элементов

массива в столбик


for i := 1 to n do

if x [i] > а     then     begin

k := k + 1;      у[k] := x[i];      writeln („y[ „, k, ]=‟, y[k] : 6 : 2);           end; min := y [1];  nmin := 1;

for i := 2     to   k do

if у [i] < min      then begin     min := y [i]; nmin := i end; writeln („min =‟, min : 6 : 2, ‟            nmin = ‟, nmin : 2);

end.

 

 

Пояснения к решению задачи.

Задача поиска минимального и максимального элементов в массиве является одной из самых распространенных задач, возникающей при работе с массивами. Для ее решения используется стандартный алгоритм, состоящий из следующих шагов (для случая поиска минимального элемента):

1.                выбирают в качестве минимального значения первый элемент массива (min := y [1]);

2.                сравнивают значение переменной min со вторым элементом массива. Если оказывается, что y[2] меньше чем min, т.е. если выполняется условие (y[2]<min), тогда в качестве min берут значение y[2]. В противном случае, значение переменной min оставляют без изменения.

3.                Циклически повторяют действия п.2 для третьего, четвертого и т.д. элементов. По завершению цикла переменная min будет содержать минимальный элемент массива.

Аналогично осуществляется поиск максимального элемента.

 

 

71


Пример 4. Элементы массива X (N) упорядочить в порядке возрастания.

Решение.

Введем обозначения: N - количество элементов в массиве Х; Х - имя массива; i, j - индекс элемента массива; Хi - i-й элемент массива Х; Хj

-     j-й элемент массива Х; R переменная, используемая в качестве буфера обмена.

Исходные данные: N, массив Х. Результат вычислений: массив Х.

 

Схема алгоритма решения задачи имеет вид:


 

72


Текст программы решения задачи имеет вид:

Program pr4;

type mas = array [1 . . 10] of         real;

var x: mas;         r: real;          i, j, n: integer; begin

writeln („Ввести n‟);        readln (n); for i := 1 to n do

begin

write („Ввести x [„, i ,‟ ]=‟ ); readln (x [i]) end;

for i := 1 to n - 1 do

for j := i +1 to n do

If x [j] < x[i]      then     begin

r := x [j];      x [j] := x[i];      x[i] := r end; writeln („Упорядоченный массив Х‟);

for i := 1     to   n do write (x[i] : 6 : 2, ‟       ‟); end.

 

 

Пояснения к решению задачи.

Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию).

Известно несколько методов сортировки, обладающих различной эффективностью при решении конкретных задач.

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

Данный алгоритм можно реализовать с помощью двух циклов с параметром (внешнего и вложенного). Наибольший/наименьший (в зависимости от признака порядка) элемент массива в последнем проходе вложенного цикла «всплывает, как пузырек», попадая на свое место в начало/конец (или наоборот) массива, после чего начальное/конечное значение параметра цикла изменяется на единицу (увеличивается/уменьшается), тем самым с каждым проходом внешнего цикла уменьшается количество проходов вложенного цикла.

 

 

73


Задание

 

1.   Изучить лекционный материал и методические рекомендации для выполнения задания.

2.         Разработать    алгоритм    решения    задачи.    При    разработке алгоритма предусмотреть:

-   ввод исходного массива в столбик;

-   вывод массива результатов в строку.

3.   Составить программу на алгоритмическом языке Pascal.

4.            Выполнить     отладку     и     тестирование     программы     на компьютере.

5.            Подготовить     отчет     о     выполнении     задания.     Пример оформления отчета представлен в приложении 2.

6.   Подготовить ответы на контрольные вопросы.

 

 

Варианты заданий

 

п/п

Вид задания

 

 

 

 

1

а) Определить количество и сумму отрицательных элементов массива R и напечатать их индексы.

ì   a - 3       ,    если    x < 1

r = ï     2                                                             i i í xi + 2

ïî  2,3axi ,        если     xi   ³ 1

где i = 1, N

б) Записать положительные элементы массива Х = (х1, х2, ..., х12) подряд в массив Y = 1, у2, ..., уk). Определить количество положительных элементов и максимальный элемент в массиве

Y.

 

 

 

2

а)   Определить   произведение   положительных   элементов   и местоположение первого отрицательного элемента в массиве S.

ïìB × ln(x 2 + 1),    если     x   < 1

s = í            k                                    k

k     ïî- 2,7 sin 2 x  ,    если     x   ³ 1

k                          k

где k = 1, M

б) Записать элементы массива A = (a1, a2,…, a15) с четными индексами подряд в массив B=(b1, b2,…,bk). Определить количество и произведение элементов в  массиве B.

 

74


 

 

 

 

3

а) Определить сумму, произведение отрицательных элементов и местоположение последнего положительного элемента в массиве C.

ì   xi

c = ïtg p ,   если  xi < 1

i       í

ïî2,8zx2 ,        если     x  ³ 1

i                                  i

где    i = 1, M

б) Записать пять первых положительных элементов массива Х=(х1,…,х12) подряд в массив Y=(y12,…,у5). Вычислить среднее

геометрическое значение элементов массива Y.

 

 

 

 

4

а) Определить количество и сумму положительных элементов

массива G и напечатать их индексы.

ìï2,5(a + xi  ),        если     xi  < 1

gi  = íï  -x  - a,       если    x  ³ 1

îe i                                                   i

г де i = 1, K

б) Записать элементы массива Х=(х12….х12), которые удовлетворяют условию Хi є [1,2], подряд в массив Y=(у12,…,уk). Определить количество и произведение

элементов массива Y.

 

 

 

 

5

а) Определить среднее арифметическое значение положительных элементов массива А и напечатать индексы тех элементов, значения которых превышают среднее арифметическое.

ì 3,5d   ,        если    x < 2

a = ï  + 2                        k

k       í   k

ïd 2 - x 2 ,        если    x ³ 2

î           k                                k

где    k = 1, Z

б)   Записать   элементы   массива   Х=(х12,…,х15)   в   обратном

порядке в   массив Y=(у12,…,у15). Определить произведение элементов массива Y с четными индексами.

 

 

 

 

6

а) Определить произведение и количество ненулевых элементов

массива В и напечатать значения положительных элементов массива.

b  = ïìln xi  - 2 ,         если     xi   < 2

i      íï   a sin 2 x ,         если     x  ³ 2

î-              i                                 i

где    i = 1, P

б)     Записать  элементы   массива  Х=(х12,…,х16)  в обратном

порядке     в     массив    Y=(у12,…,у16).    Вычислить     значение переменной S, используя формулу S=y1+y4+y9+y16

75


 

 

 

7

а) Определить количество и произведение элементов массива F равных значению А и напечатать их индексы.

ìx 2 - 1,        если     x < 2

f  = í  k                                                          k

k  î5,6 ln x ,      если    x ³ 2

k                                               k

где k = 1, Z

б) Записать элементы массива Х=(х12,…,х12) с нечетными индексами подряд в массив Y=(у12,…,уk). Определить максимальный элемент в массиве Y и заменить его нулевым

значением.

 

 

 

 

8

а)   Определить   среднее   арифметическое  значение  элементов

массива М и отклонение от него первого и последнего элемента.

ìcos 2 y - y ,         если    y < 1

 = í           k          k                                 k

k     î- ay ,             если    y   ³ 1

k                                       k

где k = 1, N

б) Записать элементы массива Х=(х12,…,х12) в массив Y=(у12,…,у12), сдвинув элементы массива Х вправо на 3 позиции. При этом 3 последних элемента массива Х переместить в начало массива, т.е. 12,…,у12) = 10111212,…,х9). Вычислить произведение элементов

массива Y с четными индексами.

 

 

 

 

9

а) Определить количество отрицательных элементов и произведение элементов массива Р, принадлежащих интервалу

[а, b].

ìïe-x j     +   4,5z,        если     < 3

p =                                             j

j     íï- 4    + 5,        если     x   ³ 3

î           j                                                              j

где   j = 1, S

б) Записать положительные элементы массива Х=(х12,…,х14) подряд в массив Y=(у12,…,уk). Определить количество элементов в массиве Y и произведение элементов с четными

индексами.

 

 

 

10

а)     Определить     среднее     арифметическое     отрицательных

элементов массива N и напечатать их индексы.

ìa × tgxk ,         если    xk < 1

n = ï x - 2,8

k           íï    k                      ,         если     x   ³ 1

î     k                              k

где k = 1, P

б) Записать восемь первых отрицательных элементов массива Х=(х12,…,х15) подряд в массив Y=(у12,…,у8). Определить минимальный и максимальный элементы в массиве Y.

76


 

 

 

 

11

а) Определить количество и произведение положительных элементов массива В, а отрицательные элементы заменить нулевым значением.

ìa -    1    ,         если     x ³ 2

b  = ï        x                            k

k            í             k

ïa sin 2 x  ,         если     x < 2

î              k                                                    k

где    k = 1, P

б) Записать элементы массива Х=(х12,…,х25) с индексами 1, 4,

9, 16, 25 подряд в массив Y. Вычислить сумму положительных и отрицательных элементов массива Y.

 

 

 

 

12

а)   Определить   сумму   и   количество   элементов   массива   Т,

которые больше Q, напечатать их значения и порядковые номера.

t   = ïì-    xk   + 3,         если     xk   ³ 4

k       í

ïî2p cos xk ,         если      xk   < 4

где  k = 1, M

б) Записать отрицательные элементы массива Х=(х12,…,х10) подряд в массив Y=(у12,…,уk). Определить количество элементов в массиве Y и произведение элементов с нечетными

индексами.

 

 

 

 

13

а)     Определить     среднее     геометрическое     положительных

элементов массива Z, которые меньше значения А и напечатать их индексы.

ì- sin x j ,         если    x  < 3

 = ï          p                     j

j     í

ïln(x + 3),        если    x ³ 3

î       j                                          j

где     j = 1, M

б) Записать в массив Y=(у12,…,уk) вначале отрицательные элементы   массива   Х=(х12,…,х14),   а   затем   положительные

элементы. Определить количество элементов в массиве Y.

 

 

 

14

а)    Определить     среднее     арифметическое     отрицательных

элементов массива V и напечатать индексы тех элементов, которые превышают среднее арифметическое.

ìï(a - xk )sin xk ,         если     xk  < 2,5

vk = í

ïî2   xk  - 1,         если     xk  ³ 2,5

где k = 1, M

б) Записать элементы массива Х=(х12,…,х16) с индексами 1, 4, 9, 16 подряд в массив Y=(у12,…,у4). Определить минимальный по модулю элемент в массиве Y и его порядковый номер.

77


 

 

 

 

 

15

а) Определить количество отрицательных, положительных и нулевых элементов в массиве D. Если каких-то элементов нет в массиве, то выдать соответствующее сообщение.

ì     axk        ,         если     x £ 1

ï x 2 + exk                                                      k

dk = í k

ï- cos xk ,         если     x > 1

î           p                     k

где k = 1, N

б) Записать элементы массива Х=(х12,…,х17), которые удовлетворяют условию Xi є [2;4], подряд в массив Y=(у12,…,уk). Определить максимальный элемент массива Y и

заменить его значение на -1.

 

 

 

16

а)    Определить    процент   положительных    и    отрицательных

элементов в массиве А.

 = ïì0,5xk  + b,        если     xk  < 0

k          í

ïî3xk    xk  - b,        если     xk  ³ 0

где    k = 1, P

б) Записать положительные и отрицательные элементы массива Х=(х12,…,х14)  подряд   в   массив   Y=(у12,…,уk).  Определить

сумму     и произведение элементов массива Y с нечетными индексами.

 

 

 

 

17

а)   Определить   количество   элементов   массива   Т,   которые

удовлетворяют условию Тi є 1; с2] и увеличить их вдвое.

ì   xi - 1 ,         если     x £ 1

t  = ï    x 2 + 2                         i

i       í      i

ï          2

î0,8bxi ,         если    xi > 1

где    i = 1, M

б)   Записать   элементы массива      Х=(х12,…,х25)   в   обратном порядке     в     массив    Y=(у12,…,у25).    Вычислить     значение

переменной P, используя формулу P= у1∙у4∙у9∙y16∙y25

 

 

 

18

а) Определить среднее арифметическое и процент ненулевых

элементов в массиве В.

ìï(a + 2)ln(x 2 + 1),         если     x   < 1

b = í                  k                                        k

k     ïî- 0,35 cos 2 x  ,        если     x   ³ 1

k                               k

где k = 1, N

б) Записать семь первых отрицательных элементов массива Х=(х12,…,х15) подряд в массив Y=(у12,…у7). Определить минимальный элемент в массиве   Y и все элементы, которые ему предшествуют увеличить вдвое.

78


 

 

 

19

а)   Определить   среднее   арифметическое   положительных   и среднее геометрическое отрицательных элементов массива U.

ìa ln(1 + x 2 ),    если     x < 1

u  = í                i                              i

i     î2,5sin x ,         если     x ³ 1

i                                 i

где    i = 1, M

б)   Записать   элементы   массива   Х=(х12,…,х16)   в   обратном порядке в массив Y=(у12,…,у16). Заменить нулевые элементы в

массиве Y на значение максимального элемента.

 

 

 

 

20

а) Определить сумму квадратов отрицательных элементов и

произведение положительных элементов массива C.

ìsin xi ,       если    xi < 2

c = ï          x

i       í          i

ï3,7 cos p ,   если    xi ³ 2

î

где i = 1, M

б) Записать элементы массива Х=(х12,…,х15) в массив Y=(у12,…,у15), сдвинув элементы массива Х влево на 4 позиции. При этом первые 4 элемента массива Х переставить в

конец массива, т.е. 12,…,у15) = 56,…,х151234). Вычислить сумму элементов массива Y с нечетными индексами.

 

 

 

 

21

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

F, которые удовлетворяют условию fj≤3. Если таких элементов нет в массиве, напечатать соответствующее сообщение.

ïì-  j sin x j ,        если    x j < 2

f j = í

ïî2 x j  ,        если    x j  ³ 2

где j = 1, Z

б) Записать положительные элементы массива Х=(х12,…,х12) подряд в массив Y=(у12,…,уk). Определить максимальный и минимальный элементы в массиве Y и поменять их значения

местами.

 

 

 

 

22

а) Определить количество и сумму ненулевых элементов в

массиве   Z    и   присвоить   значение   суммы   предпоследнему элементу.

ïì   x 2 + 2 - x3 ,       если     x  < 2,5

zi = í    i                    i                                  i

ïîaxi ,       если     xi   ³ 2,5

где   i = 1, S

б)    Записать    элементы    массива    Х=(х12,…,х15),    которые удовлетворяют   условию   Хi   є   [-1.5;   1.5],   подряд   в   массив

Y=(у12,…,уk). Определить минимальный элемент массива Y и поменять его местами с третьим элементом массива.

79


 

 

 

 

23

а) Определить процент положительных и отрицательных элементов в массиве Z.

ìp sin x ,    если     x < 2

z = ï 2        i                           i

i   í

îïa × ln xi ,    если     xi   ³ 2

где i = 1, M

б) Записать элементы массива Х=(х12,…,х14) в обратном порядке в массив Y=(у12,…,у14). Определить максимальный элемент массива Y и отклонение каждого элемента от максимального значения.

 

 

 

 

 

24

а) Определить произведение и количество элементов массива Q,

которые больше значения T и напечатать их индексы.

ì a - 2 ,      если    x ³ 1

q = ï x + 3                         i

i    í i

ï4,2 sin 2 x ,      если    x < 1

î                 i                                 i

где i = 1, P

б) Записать элементы массива Х=(х12,…,х10) в массив Y=(у12,…,у10), сдвинув элементы массива Х вправо на 2 позиции. При этом два последних элемента массива Х переместить в начало массива, т.е. 12,…,у10) = 91012,…,х8). Определить максимальный по модулю

элемент массива Y и его порядковый номер.

 

 

 

25

а) Определить количество и произведение ненулевых элементов

в массиве D и напечатать их индексы.

ìï    x2 -1,           если       x    ³ 1

d  = í    k                                               k

k

ïîaxk  + 0,8,          если       xk  < 1

где  k = 1, T

б) Записать каждый третий элемент массива Х=(х12,…,х15) в массив Y=(у12,…,уk). Вычислить сумму положительных и произведение отрицательных элементов массива Y.

 

 

 

26

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

ì      2 xk

t = ïcos   p ,        если     xk  < 2

k          í

ïx3 + 3,2,        если    x   ³ 2

î k                                                                   k

где    k = 1, M

б) Определить максимальный элемент в массиве Х=(х12,…,х11) и его индекс. Записать элементы массива Х подряд в    массив

Y=(у12,…,у11), поменяв местами максимальный элемент и Х1.

80


 

 

 

 

27

а) Определить среднее арифметическое значение элементов массива Z, которые удовлетворяют условию Zi<A.

ìb2 + 3

z = ï x 2 + 1 ,   если  xi  ³ 1

i   í i

ï4,2 sin 2 x ,   если  x < 1

î             i                                  i

где i = 1, R

б) Определить минимальный элемент в массиве Х=(х12,…,х10) и его индекс. Записать элементы массива Х подряд в массив Y=(у12,…,у10), заменив все отрицательные элементы значением минимального элемента.

 

 

 

 

28

а) Определить количество элементов в массиве D, которые

удовлетворяют условию 0<dk<1 и напечатать их индексы. Если таких элементов нет, напечатать соответствующее сообщение.

ìï3,8e-xk    + a,       если    x   < 0

 =                                     k k í

ïîa   xk  + 2,       если    xk  ³ 0

где k = 1, B

б) Записать элементы массива Х=(х12,…,х36) с индексами 1, 4, 9, 16, 25, 36 подряд в массив Y=(у12,…,у6). Определить произведение и сумму отрицательных элементов массива Y.

 

 

 

 

29

а) Определить количество и сумму отрицательных элементов массива С и напечатать индексы первого и последнего отрицательного элемента.

ì         1

c = ïb -     ,      если    xk ³ 3

k       í            k

ï- b3 cos 2 x ,         если    x < 3

î                   k                                k

где    k = 1, P

б)    Записать    элементы    массива    Х=(х12,…,х16),    которые удовлетворяют условию Xi<3 подряд в массив Y=(у12,…,уk).

Определить произведение элементов с четными индексами в массиве Y.

 

 

 

30

а) Определить произведение отрицательных и положительных

элементов массива Z.

ïìln(x 2 + 1)-1,5,       если    x   < 2

z   = í      k                                                       k

k     ïîa3 x  ,       если    x   ³ 2

k                                  k

где   k = 1, N

б) Записать положительные элементы массива Х=(х12,…,х15) подряд   в   массив   Y=(у12,…,у15)   Определить   минимальный

элемент в массиве Y и заменить его нулевым значением.

81


Контрольные вопросы

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

2.   Что такое индекс массива?

3.   Что такое размерность массива?

4.     Какими способами может быть заполнен массив? Привести примеры.

5.      Какие существуют способы организации ввода элементов одномерного массива?

6.      Какой используется способ организации вывода элементов одномерного массива?

7.   Как объявить массив на языке программирования Pascal?

8.             Какие     операторы     циклов     можно     использовать     для формирования и обработки массивов?

9.      Какие действия чаще всего выполняются над элементами массива?

10.   Что такое сортировка или упорядочение массива?

 


 

Скачано с www.znanio.ru