Оқытудың техникалық құралдары: интерактивті тақта
Лекция оқудың тәртібі, оқыту әдістері мен түрлері: баяндау, сұрақ – жауап, түсіндіру, кіріспе лекция
Деңгейлік тапсырмалар:
~~Бір өлшемді жиыммен жұмыс істеу мысалын көрсетіңіз.
~~For цикл операторының негізгі жазылу формасын сипаттаңыз.
~~For циклінде ерте шығу жолдарын көрсетіңіз.
ОБСӨЖ тапсырмалары:
Ақпараты енгізу-шығару ункциялары. Printf және scanf функциялары
СӨЖ тапсырмалары:
Адрестік операциялар
Бақылау сұрақтары:
Берілген адрес бойынша қайсыбір ұяшықта сақталатын мәнді анықтау үшін қандай операция қоланылады?
Қандай операция арқылы нұсқауыштың адресін анықтауға болады?
Массив элементтерінің арасындағы арақашықтығын анықтау үшін не есептеу қажет?
Әдебиеттер:
Культин Н.Б. Самоучитель Основы программирования в Delphi +диске
Хармон Руководство разработчика баз данных в Delphi/Kylix.
Роберт Делросси VB2D - конвертор с Visual Basic на Delphi
Камардинов А. Delphi 5, Алматы, “Ата-мура”, 2002.
14-Дәріс. Тақырыбы: Көп өлшемді жиымдар
Лекция мақсаты мен міндеттері:
Көп өлшемді жиымдар
Екі өлшемді массивтер
Екі өлшемді массивтермен жұмыс істеу кезінде
нұсқауыштарды қолдану
Лекция мазмұны: Қысқаша теориялық мәліметтер
Көп өлшемді жиымдарды жариялау:
<тип><аты>[<1-ші өлшем >][< 2-ші өлшем >]…[] ={{бастапқы мәндер тізімі}, { бастапқы мәндер тізімі },…};
Көп өлшемді жиымдар компьютердің жадында бағандардың тізбегі түрінде орналасатындықтан жиым элементінің соңғы индексі жылдамырақ өзгереді.
Мысалы екі өлшемді b[2][1] жиымының элементтері жадыда мынадай тәртіппен орналасады:
b[0][0], b[0][1], b[1][0], b[1][1], b[2][0], b[2][1].
Келесі мысалда үш жол, төрт бағаннан тұратын жиымның бастапқы мәндерінің мәлімденуі көрсетілген:
int a[3][4] = {{0,1,2,0},{9,-2,0,0},{-7,1,6,8}};
Егер әлдебір {…} топта мән көрсетілмесе, онда жиымның сәйкес элементіне 0 беріледі. Осы анықтама бойынша алдыңғы оператор келесі операторға эквивалентті болады:
int a[3][4] = {{0,1,2},{9,-2},{-7,1,6,8}};
Мысал:
rand функциясын пайдаланып NxM (N және M 50-ден үлкен емес) екі өлшемді бүтін сандар жиымын жасап, экранға матрица түрінде шығару керек. N,M пернетақтадан енгізіледі:
#include
#include
#include
#define rnd (rand()/ 32768.0) // rand - генератор случайных чисел от 0 до
int, rnd – от 0 до 1
void main(void)
{ int i,j,n,m,a[50][50];
puts(“\n Input n, m:”); scanf(“%d %d”,&n,&m);
printf(“\n Array a \n”);
for(i=0; ifor(j=0; j a[i][j]=rnd*10-5; // диапазон от –5 до 5
printf(“%d%c“, a[i][j], (j= =m-1)?’\n’:’ ‘);
}
getch();
}
Екі өлшемді жиымды – матрицаны пайдалану үшін тік жақшалар ішінде олардың екі өлшемінің де енін көрсету керек. Мысалы:
int a[4][3];
алғашқы сан жолдар санын, ал екінші сан бағаналар санын көрсетеді, а жиымы 12 элементтен тұрады. Оларға бастапқы мәнді былай береміз:
int a[4][3]={ {0,1,2},
{3,4,5},
{6,7,8},
{9,10,11}
};
ішкі жүйелі жақшаларды қоймаса да болады:
int a[4][3]={0,1,2,3,4,5,6,7,8,9,10,11};
Келесі түрде сипаттау жолдардың тек бірінші элементтерін ғана анықтайды, қалған элементтер 0-ге тең болып саналады:
int a[4][3]={ {0},{3},{6},{9} };
Егер ішкі жүйелі жақшалар алынып тасталса, онда мағынасы өзгереді.
int a[4][3]={ 0,3,6,9 };
мұнда бірінші жолдың 3 элементі мен екінші жолдың бірінші элементі анықталады да, қалғандары 0 болып саналады.
Екі өлшемді жиымды инициалдау қабаттасқан циклдер арқылы орындалады:
// ввод элементов массива a[3][4] через rand и вывод их на экран
#include
#include
#include
main()
{
const int row=3, col=4;
int a[row][col];
clrscr();
for (int i=0; i for (int j=0; ja[i][j]=rand()%100-50;
printf("\nа[3][4] жиым элементтерi мандерi:");
for (i=0; i for (j=0; jprintf(" %i",a[i][j]);
getch();
}
Достарыңызбен бөлісу: |