Без рубрики

Жиымдар. Адрестер. Көрсеткіштер

Алматы қаласы, Алматы Мемлекеттік
Политехникалық колледжінің арнайы пән оқытушысы
Байтуреева Айгерим Шарипбековна

Сабақ жоспары

Пәні Объектілі – бағытты бағдарламалау негіздері .

Сабақ тақырыбы Жиымдар. Адрестер. Көрсеткіштер ..

Сабақтың мақсаты:

1. Білімділік Бағдарламада жиымды, адресті, көрсеткішті сипаттау және оларды қолданып бағдарламалар құруға үйрету ..
2. Дамытушылық Мамандықтарына байланысты С++ тіліне деген танымдық білімдерін арттыра отырып, бағдарламалар құру деңгейлерін нығайту .
3. Тәрбиеліксын тұрғысынан ойлау технологиясына сәйкес өз ойларын еркін білдіруге бейімдеу, өз бетімен жұмыс істеуге баулу .

Сабақтың түрі аралас .

Сабақтың типі дәріс .

Оқыту технологиясы сын тұрғысынан ойлау .

Оқыту әдістері алынған білім көздері бойынша: сөздік, көрнекілік; .

танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі.

Сабақтың көрнекілігі интерактивті тақта, дербес компьютер .Пәнаралық байланыс алгоритмдеу және бағдарламалау негіздері .

Сабақтың барысы

1. Ұйымдастыру кезеңі дәрісхана тазалығы, сабаққа қажетті құралдардың өз орнында болуын қадағалау, электрондық журналда студенттерді түгендеу .

2. Үй тапсырмасын тексеру тест тапсырмалары

1. Цикл түрлерін ата?

2. Алдыңғы шарт бойынша қайталау цикл операторының жазылу форматы?

3. While операторының орындалу тәртібі?

4. Соңғы шарт бойынша қайталау цикл операторының жазылу форматы?

5. Do While операторының орындалу тәртібі?

6. Параметрлі цикл операторының жазылу форматы?

7. For операторының орындалу тәртібі?

3. Жаңа тақырыптың мақсаты мен міндеттері

Жиымның түрлері, олардың сипатталуы;

Адрестер, көрсеткіштерді сипаттау

4. Жаңа тақырып (материалдар толық түрде)Жиым немесе массив – бір атауға біріктірілген бір типтегі элементтердің реттелген жиыны. Жиым элементтері компьютер жадында бір үздіксіз аймақты алады және бірінен соң бірі тізбектей орналасады. Жиымдар бір және көпөлшемді болып бөлінеді.

Бірөлшемді жиымның жазылу форматы:

жиым элементтерінің типі жиым_аты[жиым ені];

Мысалы, 10 бүтін элементтерден тұратын а жиымы берілген.

Int a[10];

Жиымды сипаттауда оның элементтеріне алғашқы мәндерді меншіктеу жиымды инициализациялау деп аталады.

Жазылуы:

жиым элементтерінің типі жиым_аты[жиым ені]={мәндер тізімі};

Мысалы,

іnt fib[9]={0, 1, 1, 2, 3, 5, 8, 13, 21};

С++-те инициализацияланған жиымды хабарлағанда, автоматты түрде жиымның өлшемі анықталады. Бұл жағдайда компилятор қойылған инициализаторларды есептеп, қойылмаған жиым өлшемін анықтайды.

int fib[]={0, 1, 1, 2, 3, 5, 8, 13, 21};

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

Жиым элементтерінің индекстері 0-ден бастап нөмірленеді, n-1 ден аяқталады, n – жиымдағы элементтер саны. Мәндері толык көрсетілсе, индексті жазбаса да болады. Ал былай болса,

intfib[8]={0, 1, 2, 3}; қалған элементтері 0 болып саналады.

n=10; k=2; fib[nk] = {0, 1, 2, 3}; десе де болады.

Жоғарыдағы тізбектің 7-ші элементін бір бүтін айнымалыға меншіктеу үшін былай жазамыз.

int a = fib[6]; // a = 8

Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл операторлары қолданылады. Си++ тілінде жиымды жиымға бірден теңестіруге болмайды, олардың элементтерін цикл ішінде бір-біріне біртіндеп теңестіру керек.

Мысалы,

int a[10], b[10];

for (int i=0; i<10; ++i) a[i]=b[i];

Мысалы, 10 бүтін саннан тұратын бір өлшемді жиым элементтерінің орта мәнін, ең кіші және ең үлкен мәнін табудың бағдарламасын құрайық:

Main ()

{

int a[10]; // бірөлшемді жиымды сипаттау

int i, ort, min, max;

cout<<”Жиым элементтерін енгіз”;

for (i=0; i<10; i ++)

cin>>a[i];// жиым элементтерін енгізу

ort=0;

for (i= 0; i<10; i++)

ort+=a[i];

ort/=10;// жиым элементтерінің орта мәнін табу

cout<<”Орта мән ort=”<<ort<<’n’;

min=max=a[0];

for (i= 0; i<10; i++)

{

If (a[i]<min) min=a[i];// ең кіші мәнін табу

IF (a[i]>max) max=a[i]; // ең үлкен мәнін табу

}

cout<<”Ең кіші элемент min=”<<min<<’n’;

cout<<”Ең үлкен элемент max=”<<max<<’n’;

return 0;

}Си++ тілінде кездейсоқ сандар беретін функциялар бар. int rand() — 0..RANDJVFAX =32767 аралығындағы кез келген кездейсоқ бүтін санды береді.Aл int random(n) 0..n аралығындағы кез келген кездейсок бүтін санды береді.Бұл функцияларды пайдалану <stdlib. h> файлы арқылы орындалады.

Мысалы, a[n] жиымына кездейсоқ сандар енгізу

# include <conio.h>

# include <stdio.h>

# include <stdlib.h>

Void Main()

{

int a[100];

int n;

cout<<”n Жиым элементтерінің санын енгіз”;

cin>>n;

for (int i=0; i<n; i++)

{

a[i]=rand()%100-50;

cout<<a[i]);

}

getch();

}

Екі өлшемді жиым. Матрица.

Бір индекстен көп индексі бар жиымдар көп өлшемді деп аталады. Екі өлшемді жиымдарды біз көп қолданамыз.

Екі өлшемді жиымның жазылу форматы:

жиым элементтерінің типі жиым_аты[жолдар ені][бағаналар ені];

Мысалы:

int t[3][4]; // 3 жол, 4 бағанадан тұратын t екі өлшемді жиымы

Жиым элементтері:

t[0][0] t[0][1] t[0][2] t[0][3]

t[1][0] t[1][1] t[1][2] t[1][3]

t[2][0] t[2][1] t[2][2] t[2][3]

Екі өлшемді жиымды инициализациялау(1 түрі):

int a[3][2]={4, l, 5,7,2, 9};

Жадыда:

a[0][0] мәні 4

a[0][1] мәні 1

a[1][0] мәні 5

a[1][1] мәні 7

a[2][0] мәні 2

a[2][1] мәні 9

Екі өлшемді жиымды инициализациялағанда(2 түрі), әрбір өлшем инициализаторының айналасында жүйелік жақша қойылады. Бұл әрекет субагрегатты топтау деп аталады. Осы тәсілді қолданып екі өлшемді жиымды сипаттау төмендегідей:

int а[3][2]={ {4,1}, {5, 7}, {2, 9} };

Екі өлшемді жиымды кездейсоқ сандармен толтыру және экранға шығару мысалы:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

main ()

{

const int row=3, col=4 ;

int a[row][col];

clrscr();

for(int i=0; i<row; i++)

for(intj=0;j<col;j++)

a[i][j]=rand()%100-50;

сout<<«n a[3][4] жиым элементтері мәндері:»;

for (i=0; i<row; i++)

for (j=0;j<col; j++)

cout<<» %i»<<a[i][j];

getch();

}

Көрсеткіштер

С++-те жиымдар мен көрсеткіштер бір бірімен тығыз байланысты.

Көрсеткіш – бұл жады адресінен тұратын объект. Көп жағдайда бұл адрес басқа объектінің жадыда орналасуын көрсетеді. Көрсеткіш басқа объектінің мәніне қатынау үшін қолданылады.

Айнымалы-көрсеткіштің сипатталуы:

Тип *айнымалы аты;

Тип – бұл көрсеткіштің базалық типі.

Мысалы,

int *ip; // бүтін типті көрсеткіш

double p1,p2,*p3; // double типті 3 көрсеткіш

int *pi[10] // типі int 10 көрсеткіштен тұратын жиым

p = & pi [ 3 ]; // p pi жиымының 4-ші элементін көрсетеді

float *p = 0; // p нөлдік көрсеткіш

Көрсеткіштерге екі арнайы оператор қолданылады: * және &.

& операторы унарлы болып табылады, ол оның операнды орналасқан жады адресін қайтарады.

* бұл оператор осы оператордың операнды ретінде көрсетілген адресте орналасқан айнымалының мәні алынады.

val = *ptr; // val ptr адресінде орналасқан мәнге тең болады

main ()

{

int total;

int *ptr;

int val;

total = 3200; // total айнымалысына 3200 мәнін меншіктейміз

ptr = &total; // total адресін аламыз

val = “*ptr; // осы адрес бойынша мәнін аламыз

cout <<”total=”<<val<<’n’;

return 0;

}

Көрсеткіштерге төрт арифметикалық амалдар қолдануға болады: ++, —, + және .

Салыстыру амалдары: = =, < және >.

Көрсеткіштерді салыстыру мүмкін, егер екеуі де бір объектіні көрсететін болса, мысалы бір ғана жиым.

.5. Жаңа тақырыпты бекіту Мысалдар келтіру, математикалық қойылымын жасау, есепті шешу алгоритмін жазу, бағдарлама құру, бағдарламаны тестілеу .

6. Сабақты қорыту тест тапсырмалары .

7. Бағалау _______________________________________

8. Үй тапсырмасы Жиымдар, адрестер, көрсеткіштерге арналған тапсырмалар .

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.