77
5. а[1:n] нақты сандар кестесі элементтерінің орта мәнін (с) табу керек.
(орта мән элементтердің қосындысын (s) элементтер
санына бөлінгендегі
бөліндіге тең.)
Шешімі:
Алгоритмді төмендегіше құру мүмкін:
алг орта мән (нақ кес а[1:n], нақ с)
арг а
нәт с
басы бүт k, нақ S
S: =0
цб k үшін 1 бастап n дейін
S: =S +а[k]
цс
с: =S/n
соңы
6.х[1:n,1:n] бүтін санды квадрат матрица берілген.Негізгі диагональда және оның
астында орналасқан тақ элементтердің арифметикалық ортасын табыңдар.
Шешімі.
Негізгі диагональдағы және оның астындағы барлық элементтер x[i, j] келесі
қасиеттерге ие: Бағанадағы элементтің индексі жол индексінен үлкен немесе тең,
яғни егер осындай элементтердің і жолдарының индексі 1-ден n- ге дейін өзгерсе,
онда кез-келген элементтің j бағанасының индексі і жолының элементтері
сәйкесінше 1-ден n- ге дейін өзгереді.Осыған сәйкес матрицаның барлық n*n
элементтерін таңдау міндетті емес, тек қана n- нің үлкен мәнінде амалдар санын
қысқартатын n*(n+1)/2 элементтерін таңдау жеткілікті.
Бұл есептің алгоритмі
мынадай түрде болады:
алг Тақ сан ариф ортасы (арг бүт n, бүт кесте х[1:n,1:n], нақ s)
арг |квадрат матрица
х n-жолдан n-бағанадан
нәт |s тақ элементтердің арифметикалық
ортасы
басы бүт і, j, k
S:=0
K:=0
цб і үшін 1 бастап n дейін
цб j үшін 1 бастап n дейін
егер mod (x[I, j], 2)=1
онда s:=s+x [I, j]
k:=k+1
78
бітті
цс
цс
егер k>0
онда s:=s/k
бітті
соңы
7.Матрицаның бүйір диагональында орналасқан элементтердің орташа
геометриялық модулдерінен модулі бойынша үлкен
элементтердің санын табу
алгоритмін құрастырыңдар.
Шешімі.
Бүйір диагональдағы барлық элементтер x[i, j] келесі қасиеттерге ие: егер
элементтердің і жолдарының индексі 1-ден n- ге дейін өзгерсе, онда элементтің j
бағанасының индексі і жолының элементтері сәйкесінше 1-ден
n-і ге дейін
өзгереді.Осыған сәйкес матрицаның барлық n*n элементтерін таңдау міндетті
емес, тек қана n- нің үлкен мәнінде амалдар санын қысқартатын n*(n-1)/2
элементтерін таңдау жеткілікті. Бұл есептің алгоритмі мынадай түрде болады:
алг бүйір диаг (арг бүт n, нақ кесте х[1:n,1:n], нақ у)
арг |квадрат матрица х n-жолдан n-бағанадан
нәт |у- элементтер саны
басы бүт і, j, k
у:=0
р:=0
k:=n*(n-1)/2
цб і үшін 1 бастап n-1 дейін
цб j үшін 1 бастап n-i дейін
p:=p*abs(x[i, j])
цс
цс
p:=p/k
цб і үшін 1 бастап n дейін
цб j үшін 1 бастап n дейін
егер abs(x[i, j])>p
онда y:=y+1
бітті
цс
цс
соңы