395.84K
Категория: ПрограммированиеПрограммирование

С++ Жиымдар. Бір өлшемді жиымдар. Дәріс 7

1.

Дәріс 7. С++ Жиымдар.
Бір өлшемді жиымдар.

2.

Сабақтың мақсаты
Жиым туралы түсінігін қалыптастыру, жиым мен жұмыс істеу
тәсілдерін үйрету.
Бір өлшемді жиымдағы және олардың ерекше белгілерінің тұтас
көрінісін қалыптастыру және бір өлшемді жиымдағы пайдаланып
есептерді шешудің бастапқы дағдыларын дамыту

3.

Жиымдар не үшін керек?
C++ тіліндегі жиымдар – бұл бір типті көптеген элементтерді сақтауға және өңдеуге мүмкіндік беретін
деректер құрылымдары.
Жиымдар әртүрлі есептерді шешу үшін пайдалануға болады, мысалы:
• Мәліметтердің үлкен көлемін сақтау және өңдеу. Мысалы, жиымдар топтағы студенттер туралы
деректерді, емтихан нәтижелерін сақтау үшін немесе мәліметтер базасында үлкен көлемдегі
ақпаратты сақтау үшін пайдаланылуы мүмкін.
• Деректер жиынтығымен манипуляция. Массивтер деректер жиынындағы элементтерді сұрыптауға,
іздеуге, сүзуге және өзгертуге мүмкіндік береді.
• Матрицаларды және басқа деректер құрылымдарын құру. Жиымда матрицаларды, байланыстырылған
тізімдерді, графиктерді және басқа деректер құрылымдарын жасау үшін пайдалануға болады.
• Алгоритммен жұмыс. Жиымды сұрыптау, іздеу және басқалары сияқты көптеген алгоритмдердің
маңызды бөлігі болып табылады.

4.

Жиым дегеніміз не?
10000 айнымалыны қалай енгізуге болады?
Жиым – жадта (көрші ұяшықтарда) қатар орналасқан және
жалпы атауы бар бір типті айнымалылар тобы. Жиымның
əрбір элементіне компьютер жедел жадынан нақты орын
беріледі. Ол элементінін индексы.
Қажетті:
жадты бөлу
қажетті ұяшыққа деректерді жазу
ұяшықтан деректерді оқу

5.

Жадты бөлу (жариялау)
int A[5];
double V[8];
bool L[10];
char S[80];
Элементердің
саны
Жиым элементтері 0-ден бастап нөмірленеді.
A[0], A[1], A[2], A[3], A[4]
?
Жиым өлшемі константа
Не үшін?
жиымды анықтау кезінде оған компьютер жадынан артығы мен орын бөлінеді
егер біз массивтің өлшемін тұрақты арқылы жарияласақ, онда бұл өлшем бағдарламаның басқа
бөліктерінде кездейсоқ өзгертілмейтініне көз жеткізе аламыз, бұл кодта қателерге әкелуі
мүмкін.

6.

Жиым элементіне қатынасу
Жиым
элементінің нөмірі
(ИНДЕКСІ)
Жиым
0
1
5
10
A[0]
A[1]
22
15
15
3
4
20
25
Жиым
элементінің
мәні
A[4]
A[3]
A[2]
Жиім элементінің нөмері
(ИНДЕКСІ): 2
A[2]
Жиым элементінің мәні: 15

7.

Жиымнің барлық элементтерін қалай өңдеуге болады?
Жариялау:
const int N = 5;
int A[N];
Өндеу:
// өндеу A[0]
// өндеу A[1]
// өндеу A[2]
// өндеу A[3]
// өндеу A[4]
?
1) Егер N үлкен болса (1000, 1000000)? Егер N мәні массивтің элементтерінен үлкен болса, онда
компиляция кезінде қате пайда болады.
2) 2) N өзгерген кезде, бағдарлама өзгермеуі керек!!

8.

Жиымнің барлық элементтерін қалай өңдеуге болады?
Айнымалымен өңдеу:
Циклда өңдеу:
i = 0;
// өндеу A[i]
i ++;
// өндеу A[i]
i ++;
// өндеу A[i]
i ++;
// өндеу A[i]
i ++;
// өндеу A[i]
i = 0;
while ( i < N )
{
// өндеу A[i]
i ++;
}
i ++;
Айнымалы бар цикл
for( i = 0; i < N; i++ )
{
// өндеу A[i]
}

9.

Жиым толтыру
int main()
{
const int N = 10;
int A[N];
int i;
for ( i = 0; i < N; i++
)
A[i] = i*i;
}
?
A[9] неге тең?
Бұл код const int N = 10; тұрақты мәнін пайдаланып N
өлшемді (10-ға тең) А бүтін жиым жариялайды. Содан
кейін, for циклінде жиым элементтері олардың
индекстерінің квадраттарымен толтырылады.
Код дұрыс жұмыс істейді және А массивін 0, 1, 4, 9, 16, 25,
36, 49, 64 және 81 мәндерімен толтырады. Бағдарламаны
орындау нәтижесінде 10 бүтін айнымалы мәндер
жасалады, жиым элементтерінің мәндерін сақтайтын
жады.
Бұл код жиымды статикалық қолданатынын ескеріңіз,
егер массивтің өлшемі алдын ала белгілі болса және
бағдарламаны орындау кезінде өзгермейтін болса, кейбір
жағдайларда қолайлы болуы мүмкін.
Сондай-ақ кодта N тұрақтысы қолданылады, ол кодтың
оқылуын арттыруға және массивпен жұмыс істеу кезінде
қателер ықтималдығын азайтуға көмектеседі.

10.

Бір өлшемді жиым
Бір өлшемді жиым –элементтерінің санын сипаттайтын бір
параметрі (өлшемі) бар массив.
Суретте бүтін бір өлшемді массивтің а құрылымы көрсетілген. Бұл
массивтің өлшемі 10 элементтен (ұяшықтар) тұрады.

11.

Келесі мысал массив элементтерінің қосындысын
есептейді.
#include <iostream>
using namespace std;
int main() {
const int n = 5;
int i, sum;
int a[n] = {3, 4, 5, 4, 4};
for (i = 0, sum = 0; i < n; i++) {
sum += a[i];
}
cout << "Сумма элементов: " << sum;
return 0;
}

12.

Тапсырма
1. Жиымдағы максималды және минималды санын анықта
2. Жиымдағы нөлге тең элементтердің санын анықта.
3. Бір өлшемді массивтің тақ элементтерін экранға шығаратын
бағдарлама кұрастырыныз.
4. Бiрөлшемдi А(10) жиымындағы оң элементтердiң
квадраттарының арифметикалық ортасын есептеңдер.
English     Русский Правила