Бірөлшемді
массивтерге
мысалдар
12
Массивтерді
қолданудың
мысалдарын
практикалық
түрде
қарастырайық
0-
100
аралығынан
кездейсоқ
алынған
.
Элементтен
тұратын
бір
өлшемді
массивті
көрсетіңдер
.
Нәтижесін
есептептеңдер
және
шығарыңдар
:
1.
Массивтің
барлық
жұп
элементтерінің
қосындысы
(S1).
2.
Массивтің
барлық
тақ
элементтерінің
қосындысы
(S2).
3.
Массивтің
ең
үлкен
элементінің
мәні
(max).
4.
Массивтің
ең
кіші
элементінің
мәні
(min).
5.
Массивтің
саны
30-
данкем
(Sum)
элементтерінің
қосындысы
.
6.
2-
ден
9
ға
дейінгі
индекстермен
берілген
массив
элементтерінің
көбейтіндісі
(
Р
).
Берілген есептердің программасын тиянақты түрде қарастырып, талдаңдар.
Алдымен массив элементтерімен жасалған жұмыс нәтижелерін сақтау үшін
пайдаланылатын массив пен айнымалыларды анықтаймыз.
size = 20
a = arr.array('i', )
S1 = 0
S2 = 0
Sum = 0
P = 1
Біз массивті жарияладық, енді оған инициализациялауды орындауымыз қажет.
Тапсырма бойынша массивті 1-ден 100-ге дейінгі кездейсоқ мәндермен
толтыруымыз керек. Енді біздің бірөлшемді массивімізге кездейсоқ мәндерді
берейік:
for i in range(size):
a.append(random.randint(1,100))
Әрине, массивтің барлық элементтерін біртіндеп қарастыру үшін және
әрқайсысына өзінің мәнін меншіктеуді цикл арқылы жасау өте ыңғайлы. Randint
() функциясының 1-ден 100-ге дейінгі аралықта кездейсоқ өлшемдерді реттеу
үшін бас тапқы және соңғы мәндерін беруіміз керек. Енді қажетті қосынды мен
кө бей тіндіні есептейтін негізгі мәселемізге көшейік. Тағы да массив бойынша
қарастыру үшін for циклін пайдаланамыз.
for i in range(size):
if a[i]%2 == 0:
S1 += a[i]
if a[i]%2 != 0:
S2 += a[i]
if a[i] < 30:
Sum += a[i]
if i == 2 or i == 9:
P*=a[i]
13
Әдеттегідей барлық 0 мен size аралығындағы бірөлшемді
массив элементтерін қарастыру үшін біз for циклін пайдаланамыз, мұндағы size
– массив өлшемі. Шарт орындалғанда sizeқолданылмайды, себебі массив
элементі 0-ден басталады. Демек,егер массив 20 элементтен тұратын болса, онда
оның индекстері0-ден 19-ға дейін болады.
1) Одан кейін шарт бойынша массивтің жұп элементтерінің қосындысын
табуымыз керек. Оны жасау үшін біз тиісті таңдау шарттарын қолданамыз.
if a[i]%2 == 0:
S1 += a[i]
Мұнда бәрі анық: егер элементтің мәнін 2-ге бөлгендеқалған бөлігі нөлге тең
болса, массивтің осы элементінің мәнітең және сәйкесінше ол жалпы қосындыға
қосылуы мүмкін.Өйткені біз S1 айнымалысын жалпы соманы жинақтау үшін
пайдаланамыз, сонда біз оны дереу инициализацияланған0 мәнімен
жариялаймыз. Бұл S1+=a[i] қысқартылған өрнекекендігін және оның толық
формасы S1=S1+a[i] болатынын есімізге түсірейік.
2) Әрі қарай шарт бойынша массив элементтерінің барлықтақ мәндерінің
қосындысын табу керек. Бұл қосындынытабу үшін кері шарт қолданылады,
демек, бөліндінің қалған бөлігі 0-ге тең болмаса, онда қосындының айнымалысы
бойынша жиынтықты орындаймыз.
ifa[i]%2 != 0:
S2 += a[i]
3–4) Енді ең үлкен элемент (max) және массивтің ең кішіэлементін (min) табу
мәселелеріне көшеміз.
Алгоритм мынадай:
1) цикл алдында массивтің бірінші элементін minimum және maximum
айнымалыларына меншіктеуіміз керек, олар бастапқы ең аз және ең көп мән
ретінде сақталады;
2) цикл кезінде бастапқы minimum-нан аз немесе maximum-нан көп мән табылса,
онда оларды ауыстырып отырады;
3) максималды және минималды элементтері бар айнымалыларды шығару.
Массивтің әрбір элементін салыстыру керек: егер элементтің ең үлкен мәні
айнымалы мәннен үлкен болса,онда мән maximum айнымалыға жазылады; егер
элементтің ең аз мәні айнымалы мәннен аз болса, онда мән minimum
айнымалыға жазылады:maximum = a[0] //Массивтің 1-ші элементінің мәнін
айнымалыға орналастырамыз.
minimum = a[0]
for i in range(size):
#егер элементтің мәні max айнымалының мәнінен
үлкен болса, онда бұл мәнді айнымалыға жазамыз
if a[i] > maximum:
maximum = a[i]
14
#min-ɝе дәл солай
if a[i] < minimum:
minimum = a[i]
Сондай-ақ Python-да кірістірілген max(), min()
функциялары бар:
maximum_1 = max(a)
minimum_1 = min(a)
5) 30-дан аз болатын барлық элементтің қосындысын табу
үшін тиістіріктеу шартын пайдаланыңдар.
if a[i] < 30:
Sum += a[i]
6) Соңында біз 2-ші немесе 9-шы индекстегі массив элементтерінің көбейтіндісін
табуымыз керек. Егер дәл осы уақытта біз массивтің 2-ші немесе (or) 9-шы
элементтерінде тұрған болсақ, онда көбейтіндіні орындаңдар деген шарт береміз.
if i == 2 or i == 9:
P *= a[i]
Төменде
осы
программаның
толық
коды
көрсетілген:Бірөлшемді
массивэлементтерімен жұмыс істеу
Мысалы:
import array as arr
import random
random.seed(None)
#қажетті айнымалыларды жариялау
size = 20
a = arr.array('i', )
S1 = 0
S2 = 0
Sum = 0
P = 1
#массивті экранға шығару функциасы
def print Array(array):
for i in range(len(array)):
print(array[i], end=" ")
print('?n')
#массивті кездейсоқ айнымалы мәндермен толтыру
for i in range(20):
a.append(random.randint(1,100))
#массивтің мазмұнын экранда басып шығару
print Array(a)
#циклде қажетті есеɩтеулерді орындау:
for i in range(size):
if a[i]%2 == 0:
S1 += a[i]
if a[i]%2 != 0:
15
S2 += a[i]
if a[i] < 30:
Sum += a[i]
if i == 2 or i==9:
P *= a[i]
maximum_1 = max(a)
minimum_1 = min(a)
maximum = a[0]
minimum = a[0]
for i in range(len(a)):
if a[i] > maximum:
maximum = a[i]
if a[i] < minimum:
minimum = a[i]
#программаның нәтжижелерін көрсету:
print("zhup elementter kosyndysy: ", S1)
print("tak elemetter kosyndysy: ", S2)
print("Min: ", minimum, maximum_1)
print("Max: ", maximum, maximum_1)
print("30 deyingi elementter kosyndysy: ", Sum)
print("2 nemese 9 indexti elementter kobeitindisi: ", P)
Бірөлшемді жиымды Паскальда былай жазады:
Достарыңызбен бөлісу: |