I=1 N=10 |
S=0 J=0 |
I=1 |
I=I+1 |
Ввод А[I] |
I<N |
да |
нет |
да |
A[I]<0 |
S=S+A[I] |
J=J+1 |
B[J]=I |
I=I+1 |
I<N |
нет |
A[I]<0 |
S=S+A[I] |
J=J+1 |
B[J]=I |
I=I+1 |
I<N |
Цикл ввода элементов массива А |
Цикл проверки элементов массива А на знак, вычисление суммы (S) отрицательных элементов массива А, формирование массива В из порядковых номеров отрицательных элементов в массиве А |
да |
нет |
Конец счета |
I=1 |
Вывод S,J |
нет |
Вывод В[i] |
да |
I=I+1 |
Цикл вывода элементов массива В |
I< J |
Рассмотрим Пример 8
В произвольном массиве найти максимальный и минимальный элементы и поменять их местами.
Возьмем тот же массив из примера 7.
А=2; -3,4; 1; 2; -2; 1,5; 4,4; -3; 10,8; 6
Переменную под максимальный элемент назовем Мax, его местоположение в массиве запишем в переменную Nmax, переменную под минимальный элемент назовем Min, его местоположение в массиве запишем в переменную Nmin. (наименование этих переменных совершенно произвольно, мы такие берем для наглядности).
На процедуре ввода останавливаться не будем, это подробно рассмотрели в примере 7.
(перейдя к пункту 1, мы перейдём к поиску максимума нашего массива и найдём на каком месте он стоит в нашем массиве)
- Мах = A[ 1], Nmax= 1 (этими действиями мы присвоили переменной Max значение первого элемента из нашего массива равного 2, а переменной Nmax значение равное 1, т.е. значение места, на котором он стоит. Так оно и будет, если бы на первом месте в массиве стояло самое большое число).
- I=2 (переменной I присвоим значение 2, таким образом мы подготовимся к просмотру элемента массива, стоящего на втором месте).
- Если A [I] > Max, то переходим к пункту 4, иначе п.5
- Max=A [I], а Nmax= I, (т.е. если очередной элемент оказался больше содержимого переменной Max, то значение этого элемента записываем в Max, а значение индекса I, указывающего на каком месте стоит этот элемент в переменную Nmax и после этого переходим к п.5. Если A[ I] окажется меньше содержимого Max, то сразу переходим к подготовке просмотра следующего элемента массива – пункт 5)
- Увеличим значение переменной I, т.е. I=I+1 (подготовим следующий элемент)
- Все ли элементы массива А проверены?, т.е. если I < =N, то перейти к пункту 3, иначе перейти к пункту 7. (с пункта 7 начнем поиск минимального элемента аналогично поиску максимального)
- Мin = A [1], Nmin= 1 (этими действиями мы присвоили переменной M in значение первого элемента из нашего массива равного 2, а переменной Nm in значение равное 1, т.е. значение места, на котором он стоит).
- I=2 (переменной I присвоим значение 2, таким образом мы подготовимся к просмотру элемента массива, стоящего на втором месте).
- Если A[I] < Min, то пункт 10, иначе п.11
- Min=A[I], а Nmin=I (т.е. если очередной элемент оказался меньше содержимого переменной M in, то значение этого элемента записываем в M in, а значение индекса I, указывающего на каком месте стоит этот элемент в переменную Nm in и после этого переходим к п.11. Если A[ I] окажется больше содержимого M in, то сразу переходим к пункту 11, т.е. подготовке просмотра следующего элемента массива)
- Увеличим значение переменной I, т.е. I=I+1 (подготовим следующий элемент)
- Все ли элементы массива А проверены?, т.е. если I < =N, то перейти к пункту 9, иначе перейти к пункту 13.
Мы нашли максимальный и минимальный элементы, нашли их местоположение в нашем массиве. Теперь в пункте 13 надо поменять местами элемент массива A [Nmax] с элементом A [Nmin]. Это задача о двух стаканах. Если у нас 2 стакана с разным содержимым и нам надо поменять содержимое, то придется взять третий стакан. Для роли третьего стакана возьмем переменную V.
13. V= A [Nmax]; A [Nmax]= A [Nmin]; A [Nmin]= A [Nmin]=V (Поменяли местами максимум и минимум).
14. Вывести на печать значение переменных Max, Nmax, Min, Nmin (В нашем примере Max=10,8; Nmax=9; Min= -3,4; Nmin=2)
Еще нам надо организовать цикл на вывод массива A, т.к. мы его видоизменили (меняли местами два элемента. На выходе будет массив А=2; 10,8; 1; 2; -2; 1,5; 4,4; -3,4; -3; 6 ).
15. Присвоим I=1
16. Вывести на печать А[I]
17. Проверить все ли элементы массива А просмотрены, т.е. если I<N, то перейти к пункту 18, иначе к пункту 19
18. Увеличить значение переменной I, т.е. I=I+1. Перейти к пункту 16
19. Окончание счета
Графический алгоритм примера 8.
I=1 N=10 |
нет |
нет |
нет |
да |
нет |
Конец счета |
I=I+1 |
Ввод А[I] |
Нахождение максимального элемента и его местоположения в массиве |
I<N |
Мах=A[1], Nmax=1 |
Max=A[I] Nmax=I |
I=2 |
A[I]>Max |
I=I+1 |
I<=N |
V=A[Nmax] A[Nmax]=A[Nmin] A[Nmin]=V |
Мin=A[1], Nmin=1 |
I=2 |
A[I]<Min |
Min=A[I] Nmin=I |
I=I+1 |
I<=N |
да |
да |
да |
да |
нет |
нет |
Вывод Max, Nmax, Вывод Min, Nmin |
I=I+1 |
I< =N |
I=1 |
Вывод A[I] |
да |
Цикл вывода элементов массива A |
Цикл поиска минимального элемента и его местонахождения в массиве |
Цикл ввода элементов массива A |
ЗАДАНИЕ 1
Разработать словесный и графический алгоритм для двух функций при хÎ[-2,2] с шагом 0,2
Вариант 1
Y=sin(x)e-2x, g=
Вариант 2
Y= (1+x2) /(1+2x2), z=
Вариант 3
Y=(2+sin2(x)) /(1+x2),
X1 = (|C1| + ) /2*|C|;
C1 изменяется от -3 до 5 с шагом 1; С-произвольно
Вариант 4
Y=(1+cos(x))/(1+e2x),
G=
Вариант 5
Y= , z=
Вариант 6
Y= ,
H = (sin(R) + sin(B) + sin(L)) / (R ^2 + );
R изменяется от 0.5 до -0.77 с шагом -0.01;
L,B- произвольно
Вариант 7
Y= , g=
Вариант 8
Y= , z=
Вариант 9
Y=
Z = (F + 1) * 3 - B^2 * (X1 + 2)^2;
F изменяется от 5 до -3 с шагом 0,1; x1,B-произвольно
Вариант 10
Y= , g=
Вариант 11
Y=sin(x)e-2x
G=
Вариант 12
Y= (1+x2) /(1+2x2),
X = tn(Z1)
y1,P1- задаются произвольно
z1 изменяется от -3 до -5 с шагом -1
Вариант 13
Y= , g=
Вариант 14
Y=(2+sin2(x)) /(1+x2),
z=
Вариант 15
Y= ,
H = (sin(R) + sin(B) + sin(L)) / (R ^2 + );
R изменяется от 0.5 до -0.77 с шагом -0.01;
L,B- произвольно
Вариант 16
Y=(1+cos(x))/(1+e2x),
z=
Вариант 17
Y= , g=
Вариант 18
Y= (1+x2) /(1+2x2),
R = K1 * Z1^2 - B * Z2 / (K - Z3);
В изменяется от 10 до 1 с шагом -1
z1,z2,z3,k,K1-произвольно
Вариант 19
Y= ,
z=
Вариант 20
Y= (1+x2) /(1+2x2), g=
Вариант 21
Y= ,
L = (X2 + K + B)^2 - B^3;
K изменяется от 1 до 10 с шагом 1
B,X2-произвольно
Вариант 22
g=
z=
Вариант 23
Y= , g=
Вариант 24
g= Z=
Вариант 25
Y=
F = (L - Z1 - M - Z2) / L * M;
z2 изменяется от 10 до 5 с шагом -1
m,L,Z1-произвольно
Вариант 26
Y= ,
z = 15,28y+cos(lny+S^2) -
x изменяется от 0.5 до 0.77 с шагом 0.01
S,y-произвольно
Вариант 27
Y=(2+sin2(x)) /(1+x2),
X1 = (B + √(B^2 - 4*B*C)) / C;
B изменяется от -1 до -8 с шагом -1
C изменяется от 0,8 до 25 с шагом 5
Вариант 28
Y= ,
Z = (Z1 / M - Z2 * P) / Z1;
M изменяется от 2 до -6 с шагом -1
p изменяется от 2 до 6 с шагом 2
Вариант 29
Y= ,
B = (X1 / X - P * X2) * X √(X1 - X2);
X изменяется от 2 до 6 с шагом 1
P изменяется от 2 до 6 с шагом 2
X1,X2-произвольные
Вариант 30
Y=(2+sin2(x)) /(1+x2),
P = (M * Z1 - L * Z2) / 5.85;
M изменяется от 1 до 10 с шагом 1
L изменяется от 0.1 до 1 с шагом 0.2
ЗАДАНИЕ 2
Общие требования к реализации задач (в каждом варианте по 2 массива):
1. Изобразить словесно и графически алгоритм реализации поставленных задач.
2. Для всех заданий вводятся значения размерности, элементы массива, вывод местоположения, значения нужных элементов, вывод полученного массива - преобразованного или сформированного (в зависимости от поставленной задачи).
3. Продемонстрировать алгоритм на реальных (произвольных) массивах.
ВАРИАНТЫЗАДАНИЙ.
Вариант № 1 ----------------------------------------------------------------------------------------------
1) В массиве A1,...,An определить количество нулей.
2) Найти номер (местоположение) первого нулевого элемента массива A1,...,An и произведение
элементов, расположенных до него.
Вариант № 2 -------------------------------------------------------------------------------------
1) В массиве D1...Dn найти сумму чисел, расположенных на четных местах.
2) В данном массиве чисел C1,...,Cn найти последний отрицательный элемент.
Вариант № 3-------------------------------------------------------------------------------------
1) В массиве чисел C1,...,Cn найти произведение отрицательных чисел.
2) Из массива X1,...,Xn сформировать массив, в который записать числа, располо-
женные до минимального элемента
Вариант № 4) ----------------------------------------------------------------------------------------------
1) В массиве В1,В2,...,Вn найти сумму отрицательных чисел.
2) В массиве A1, A2,..., An найти максимальный элемент и его местоположение в
массиве.
Вариант № 5) ----------------------------------------------------------------------------------------------
1) В массиве B1, B2,..., Bn найти количество "единиц".
2) Найти сумму элементов последовательности B1, B2,..., Bn, расположенных
правее последнего отрицательного элемента, и номер (местоположение) этого элемента.
Вариант № 6) ------------------------------------------------------------------------------------
1) В массиве А1,..., Аn найти минимум среди положительных чисел
2) Положительные элементы последовательности У1,У2,...Уn
домножить на их количество.
Вариант №7) ----------------------------------------------------------------------------------------------
1) В массиве С1, С2,..., Сn найти сумму чисел, больших единицы.
2) Дана последовательность чисел В1, В2,..., Вn. Найти сумму S1 элементов до
максимального элемента
Вариант № 8) ----------------------------------------------------------------------------------------------
1) Найти номер первого нулевого элемента массива A1,...,An
2) Среди элементов, расположенных правее первого нулевого, найти максимальный элемент.
Вариант № 9) ----------------------------------------------------------------------------------------------
1) В массиве С1, С2,..., Сn найти произведение чисел, больших 2.
2) Найти сумму положительных элементов последовательности D1,..., Dn,
расположенных до первого отрицательного элемента
Вариант № 10) ----------------------------------------------------------------------------------------------
1) В массиве А1,..., Аn найти сумму чисел, расположенных на местах, кратных 3.
2) Из отрицательных элементов массива Х1, Х2,..., Хn, сформировать новый массив.
Вариант № 11) ----------------------------------------------------------------------------------------------
1) В массиве А1,..., Аn найти произведение чисел, меньших или равных 2.
2) Все положительные элементы массива А1, А2,..., Аn, расположенные правее
первого нулевого элемента, увеличить в два раза.
Вариант № 12) ----------------------------------------------------------------------------------------------
1) В массиве В1, В2,..., Вn. Найти количество чисел, равных 3 и 5.
2) Дан массив чисел А1,..., Аn. Найти сумму элементов массива, стоящих правее
первого положительного элемента,
Вариант № 13) ----------------------------------------------------------------------------------------------
1) В массиве D1... Dn найти сумму чисел, меньших заданного числа K.
2) В массиве Y1, Y2,...,Yn поменять местами минимальный элемент с первым
положительным элементом.
Вариант № 14) ----------------------------------------------------------------------------------
1) Дан массив чисел А1,..., Аn. Найти первый положительный элемент.
2) Дана последовательность А1,..., Аn. Заменить на нули все элементы,
расположенные между максимальным и вторым по величине элементом.
Вариант № 15) ----------------------------------------------------------------------------------
1) В массиве С1,..., Сn найти количество нулей, стоящих на нечётных местах.
2) Три отрицательных элемента массива В1, В2,..., Вn, расположенных правее
максимального, домножить на номер (местоположение) максимального элемента.
Вариант № 16) ----------------------------------------------------------------------------------------------
1) В массиве B1, B2,..., Bn найти сумму чисел, больших или равных 5.
2) Дан массив Х1,Х2,...,ХN. Если Х1 ≥ 0, то домножить элементы этого массива на квадрат его
наименьшей компоненты, если Х1 < 0 - оставить без изменений.
Вариант № 17) ----------------------------------------------------------------------------------
1) В массиве D1,..., Dn найти произведение всех чисел, за исключением первого
и последнего элементов.
2) Дана последовательность чисел T1,..., Tn. Среди положительных элементов найти
максимальный и домножить на него все положительные элементы.
Вариант № 18) ----------------------------------------------------------------------------------------------
1) В массиве А1,..., Аn найти количество единиц, стоящих на чётных местах.
2) В массиве M1,..., Mn вычислить сумму элементов до последнего нулевого
Вариант № 19) ----------------------------------------------------------------------------------------------
1) В массиве чисел А1,..., Аn найти сумму отрицательных чисел, стоящих на
нечётных местах.
2) В массиве чисел Х1,..., Xn заменить на ноль все отрицательные элементы,
предшествующие его максимальному элементу.
Вариант № 20) ----------------------------------------------------------------------------------------------
1) В массиве B1,..., Bn найти произведение чисел, больших или равных 2.
2) Дана последовательность чисел А1,..., Аn. Из положительных элементов Ai,
расположенных до минимального элемента, сформировать последовательность
P1, P2,....
Вариант № 21) ----------------------------------------------------------------------------------------------
1) В массиве C1,..., Cn найти количество чисел, попавших в интервал [ A, B ].
2) Все компоненты массива A1,A2,...An, начиная с первой по порядку положительной
компоненты, уменьшить вдвое, если значение компоненты превышает 1, и
увеличить в два раза в противном случае.
Вариант № 22) ----------------------------------------------------------------------------------------------
1) В массиве чисел V(1..n) найти сумму чисел, не попавших в интервал [С,D].
2) В массиве А1, А2,..., Аn найти произведение первых трех положительных
элементов.
Вариант № 23) ----------------------------------------------------------------------------------------------
1) В массиве чисел Х(1..n) найти количество и сумму положительных элементов,
стоящих на нечётных местах.
2) Преобразовать заданный целочисленный массив S, уменьшив в два раза все
элементы кратные 2 (если таковые есть). Выдать сообщение о количестве
изменённых элементов.
Вариант № 24) ----------------------------------------------------------------------------------------------
1) В массиве чисел Х1, Х2,..., Хn найти количество нулей, стоящих на местах,
кратных 4, т.е. среди элементов Х4, Х8,....
2) Из заданной последовательности А1,..., An сформировать последовательность
B1,..., Bn следующим образом: в начале расположить все отрицательные
элементы последовательности A, а затем все остальные.
Вариант № 25) ----------------------------------------------------------------------------------
1) В массиве чисел Y(Y1,Y2,..., Yn) найти сумму чисел, Y5, Y10, Y15,....
2) В последовательности Y1,..., Yn найти максимальный элемент из элементов,
стоящих на чётных местах. Домножить на него все элементы Yi, стоящие на
нечётных местах.
Вариант № 26) ----------------------------------------------------------------------------------------------
1) В массиве D1,..., Dn подсчитать, сколько раз встречается заданная цифра, если
такой нет, то выдать соответствующее сообщение.
2) Дан массив целых чисел А и числа В1, В2, В3. Включить эти числа в массив А,
расположив их после первого нулевого элемента.
Вариант № 27 _________________________________________________________________
1) В массиве D1, D2,..., Dn найти количество чисел, меньших единицы.
2) Найти номер (местоположение) первого нулевого элемента массива A1,...,An и среди элементов, расположенных правее первого нулевого, найти максимальный элемент.
Вариант № 28 _____________________________________________________________
1) Найти номер (местоположение) последнего нулевого элемента массива X1,...,Xn и сумму элементов, предшествующих ему.
2) В массиве А1,..., Аn найти максимум среди отрицательных элементов
Вариант №29 ______________________________________________________________
1) Найти номер (местоположение) первого положительного элемента массива В1,...,Вn и сумму элементов, расположенных правее него.
2) Из элементов последовательности C1,C2,..., Cn, стоящих на нечётных местах
сформировать новый массив D
Вариант № 30 ________________________________________________________________
1) Дан массив чисел Х1, Х2,..., Хn. Переписать из него в другой массив Y все
элементы, расположенные правее последнего отрицательного элемента,
сохраняя порядок их следования.
2) У последовательности чисел Y1,Y2,...,Yn все компоненты с номерами, кратными заданной цифре L, заменить средним арифметическим трёх предшествующих компонент.