36
действительного значения квадратного корня из cosxi . Следовательно, в цикле алгоритма по параметру i необходимо проверить выполнение условия cos xi ≥ 0. Если это условие не выполняется, то согласно алгоритму, представленному на рис.4.16, выводится на печать (блок 8) сообщение о том, что для
Начало |
|
1 |
|
xi, yj |
|
2 |
|
i = 1,n |
|
3 |
|
a = cosxi |
|
4 |
нет |
a ≥ |
0 |
да |
|
5 |
a |
a = |
|
6 |
|
j =1,m |
|
7 |
|
zij = a sin yij |
|
8 |
|
zij |
|
9 |
|
Печать сообщ. |
|
Конец |
|
Рис.4.16 |
|
данного i значение cos xi вычислить невозможно и осуществляется переход
квычислениям с новым значением i.
Вблок-схеме этого алгоритма реализованы линейная, разветвляющаяся и циклические структуры.
|
|
|
37 |
|
|
|
|
|
|
Пример 6. |
Составить блок-схему алгоритма упорядочения элементов векто- |
||||||||
ра (одномерного массива) В(b1,b2, … bn) в порядке возрастания их значений. |
|||||||||
Решение. Последовательность действий, |
задаваемая алгоритмом, |
блок- |
|||||||
|
|
|
схема которого представлена на рис. |
||||||
|
Начало |
4.17, заключается в следующем. Попар- |
|||||||
|
1 |
|
но сравниваются между собой все со- |
||||||
|
|
седние |
элементы |
|
вектора |
В. |
Если |
||
|
n,b1,b2,…,bn |
|
|||||||
|
bi>bi+1, то их необходимо поменять |
||||||||
|
|
|
|||||||
|
2 |
|
местами, иначе элементы bi и |
bi+1 ос- |
|||||
|
j = 1, |
n - 1 |
таются на своих местах, затем сравни- |
||||||
|
|
|
вается очередная пара элементов (т. е. |
||||||
|
3 |
|
bi+1>bi+2) и т. д. После первого про- |
||||||
|
i= 1 , n - j |
смотра всех элементов на позицию n |
|||||||
|
|
|
будет поставлен наибольший элемент. |
||||||
нет |
4 |
|
При втором просмотре с выполнением |
||||||
|
указанных действий второй по величи- |
||||||||
bi > bi+1 |
|||||||||
|
|||||||||
|
|
|
не элемент будет перемещен на пози- |
||||||
|
|
да |
цию n-1 и т.д. После ( n-1)-го просмотра |
||||||
|
5 |
|
все элементы вектора В будут упорядо- |
||||||
|
T = bi |
чены в порядке их возрастания. В про- |
|||||||
|
bi = bi+1 |
||||||||
|
цессе попарного сравнения элементов |
||||||||
|
bi+1 =T |
||||||||
|
|
|
целесообразно исключить из сравнения |
||||||
|
6 |
|
те упорядоченные |
элементы, |
которые |
||||
|
|
уже перемещены на |
соответствующие |
||||||
|
b1,b2,…,bn |
||||||||
|
позиции согласно их значениям. В со- |
||||||||
|
|
|
|||||||
|
|
|
ответствии с этим параметр внешнего |
||||||
|
Конец |
цикла блок-схемы рис. 4.17 j ограничи- |
|||||||
|
вается величиной n-1 (количество про- |
||||||||
|
|
|
|||||||
|
Рис.4.17 |
смотров), а параметр внутреннего цикла |
|||||||
|
ограничивается величиной n-j. |
|
|||||||
|
|
|
|
||||||
В блоке 4 производится попарное сравнение смежных элементов. Если |
|||||||||
условие bi>bi+1 выполняется, то в блоке 5 осуществляется обмен местами i-го |
|||||||||
и i+1-го элемента. |
Здесь Т- |
промежуточная переменная, необходимая для |
|||||||
обмена bi и bi+1. В процессе каждого просмотра (т.е. изменения параметра |
|||||||||
внешнего цикла j) восстанавливается начальное значение параметра внут- |
|||||||||
реннего цикла по i (переход от блока 3 к блоку 2),что позволяет сравнивать |
|||||||||
вновь попарные элементы, начиная с первого. |
|
|
|
|
|
||||
1.Дать определение сложного цикла.
2.Какой цикл называется внешним (внутренним)?
38
3. Вычислить наибольшие значения функции yi = 2ebi x−5x2 , если bi заданно массивом (b1, b2 ,… ,b20). Аргумент х изменяется от –2 до 2 с шагом 0,1. Все наибольшие значения запомнить в массиве С.
4. Найти значение аргумента х для функции y= aebx+cx2 , при котором дости-
гается максимум, с точностью до ε = 0,005. Значение х изменяется от -2 до 2 с шагом 0,2. Функция имеет один максимум.
5.Вычислить сумму квадратов элементов матрицы А(M,N), лежащих ниже (выше) главной диагонали.
6.Дана матрица А (m,n). Получить вектор С(m), элементы которого равны сумме квадратов элементов соответствующей строки матрицы А:
n
Ci = ∑aij2 , i =1,2,K,m.
j=1
7.Определить количество положительных элементов каждого столбца матрицы А (10×20) и запомнить их в массиве М.
8.Вычислить компоненты вектора С (с1, с2,…,с10), если Сi (i=1,2,…,10) определяются как сумма элементов соответствующей строки матрицы А (10,20), стоящих на четных позициях.
9.Дана матрица В (10,20). Определить и вывести на печать номера позиций всех нулевых элементов заданной матрицы.
10.Найти среднее арифметическое положительных элементов каждого
столбца матрицы Х(15 × 25) при условии, что в каждом столбце есть хотя бы один положительный элемент.
11.Найти наименьший элемент матрицы А (15 × 25), также номера строки и столбца, в которых он находится.
12.Найти наибольшие элементы каждой строки матрицы Х(10 × 10) и записать их в массив Y.
13.Вычислить суммы элементов каждой строки матрицы Х(20×20), определить наименьшее значение этих сумм и номер соответствующей строки.
14.Найти минимальные элементы каждой строки матрицы Х(20×20) и поместить их на главную диагональ, а диагональные элементы записать на место минимальных.
15.Определить в матрице A(M,N) наименьший из наибольших элементов каждой строки и его координаты (номер строки и столбца).
16.Дана матрица А(10×15). Проверить знак произведения всех элементов каждой строки и вывести эти произведения на печать; прекратить данный процесс при выявлении отрицательного знака у произведения элементов.
20 |
i + j |
|
где значения хi заданы |
|
|
17. Вычислить zi = ∏ |
|
, |
массивом |
||
xi |
|||||
j=1 |
|
|
|
(х1, х2,…,х40). Результаты запомнить в массиве z. При решении использовать приемы: во внутреннем цикле - накопление произведения, во внешнем цикле - запоминание результатов.
39
|
|
|
|
|
|
15 10 a |
i |
+b |
|
|||
18. Вычислить значения функции z = ∑∏ |
|
k |
, где значения ai заданным |
|||||||||
|
|
2 |
||||||||||
|
|
|
|
|
|
i=1 k =1 |
|
|
|
|||
массивом (а1, а2,… а15), а значения bk изменяются от 1 с шагом 0,1. |
|
|||||||||||
|
|
|
20 n |
k |
|
|
|
|
|
|
||
|
|
|
xi |
|
|
|
|
|
|
|
||
19. Вычислить |
z = ∑∑ |
, |
где значения хi заданы |
массивом |
||||||||
|
||||||||||||
|
|
|
i=1 k =1 |
K |
|
|
|
|
|
|
||
(х1, х2,…,х20). |
|
|
|
|
|
|
|
|
||||
20. .Вычислить значения функции y по формулам |
|
|||||||||||
а) |
yij |
= ai |
sinxj , |
i =1,2,K,M; |
|
j =1,2,K,N ; |
|
|||||
б) |
yij |
= lg cos ai sin x j , |
|
i =1, 2,K,10, |
|
j =1, 2,K,10 . |
|
|||||
|
Учесть, что cosai |
может быть и не положительным числом, тогда |
||||||||||
значение lgcosai не определено.
в) y=xz/(x3-2), где переменная х принимает 20 различных значений и изменяется по закону арифметической прогрессии (xi+1=xi+ x); значения х0 и х
заданы. Переменная z принимает 30 различных значений: |
|
|||||||||||||||||||
z1, z2,…,z30. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
г) |
y = z ln |
|
x |
|
, где |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
z = (z1, z2 ,..., z8 ), |
zi+1 = zi + z; |
z1 и |
z − заданы; |
|
|||||||||||||||
|
x = (x1, x2 ,..., x10 ), |
xi+1 = xi + |
x; |
x1 и x −заданы. |
|
|||||||||||||||
|
|
1 |
|
|
6 |
|
x j |
|
|
|
|
|
|
|
|
|
|
|
||
д) |
yij = |
|
|
|
∑ |
|
, |
i =1, 2,...,10; |
|
|
j =1,2,...,10. |
|
||||||||
ci |
K! |
|
|
|||||||||||||||||
|
|
k =1 |
|
|
|
|
|
|
ai |
+b |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
20 |
|
10 |
|
|
|
|
||||
21. Вычислить значение функции z = ∑ai ∏ |
, |
где аi заданы массивом |
||||||||||||||||||
|
2 |
|||||||||||||||||||
(а1, а2,…, а20), b |
|
|
|
|
|
|
i=1 |
|
k =1 |
|
|
|
||||||||
изменяется от 0 с шагом 0,1. |
|
|
|
|
||||||||||||||||
22. Вычислить значение функции z = |
ai |
+bj |
; |
ai ,bj |
,ck заданы массивами из |
|||||||||||||||
|
|
|||||||||||||||||||
10, 8 и 5 элементов соответственно. |
ck |
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||
23. Найти 3 наибольших элемента массива (а1, а2,…,а30). |
|
|||||||||||||||||||
24. Упорядочить элементы массива (х1, х2,…х60), расположив их по |
убыва- |
|||||||||||||||||||
нию в массиве Y. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
25. Упорядочить |
|
|
|
в порядке убывания элементы каждой строки матрицы |
||||||||||||||||
A(M, N). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40
БИБЛИОГРАФИЧЕСКИЙ СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Информатика: учеб. /Под ред. Н.Б. Макаровой. – Финансы и стати-
стика. – 2003. – 768 с.
2. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. – М.: Academia. – 2001. – 816 с.
3.Информатика. Базовый курс. /Симонович В.С. и др. - СПБ.: Изд-во
«Питер», 2000. – 640 с.
4.Острейковский В.А. Информатика: учеб. для вузов. – М.: Высш. ш к., 2000. – 511 с.
5.Лапчик М.П., Семакин И.Г., Хеннер Е.К. Методика преподавания ин-
форматики /Под. ред. М.П. Ланчика. - М.: Academia. – 2002. – 580 с.