
- •Программалау тілдері
- •2.2. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Бақылау сұрақтары
- •2.3. Си тіліндегі мәліметтер типтері және енгізу, шығару функциялары
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.2. Char типі
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •Бақылау сұрақтары
- •3. Си тілінде қолданылатын негізгі операторлар
- •3.1. Меншіктеу операторы
- •3.2. Типтерді түрлендіру
- •Int I; float fl;
- •3.3. Программа жұмысын басқару операторлары
- •3.4. Шартты оператор
- •If (шарт)
- •If (шарт)
- •Int r; /* gil-ды 4-ке бөлгендегі қалдық */
- •Int ball;
- •3.4.1 Шартты операция
- •3.5. Switch көп нұсқалы таңдау операторы
- •Бақылау сұрақтары
- •4. Цикл операторлары
- •4.1. For цикл операторы
- •4.2. While операторы
- •4 .3. Do ... While цикл операторы
- •5. Си тілінде массивтерді пайдалану
- •Int index;
- •Void main()
- •Жиымды өңдеу есептерінің түрлері (кластары)
- •Void main()
- •Void main()
- •Int b[10]; //қосымша массив
- •Жиымды сұрыптау (сорттау, реттеу)
- •Жай таңдау жолымен сұрыптау
- •Жай енгізу (кірістіру) тәсілімен сұрыптау
- •Жай алмастыру арқылы сұрыптау
- •Int *iptr;
- •Функциялар арасында байланыс жасау үшін нұсқауыштарды пайдалану
- •Void change (int *u, int *V)
- •Int temp;
- •Int xmin,X[10];
- •6. Екі өлшемді жиымдар
- •Void line()
- •Void line()
- •Екінші типтегі есептер алгоритмдері
- •Void line()
- •Int I,j,jmin,min;
- •Int amin;
- •Бақылау сұрақтары
- •7. Сөз тіркестерін өңдеу
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Сөз тіркестерімен жұмыс істейтін функциялар
- •Көмекші программа. Функцияны пайдалану
- •Int mini(int X, int y)
- •Int maxi(int X, int y)
- •Void lin(char a)
- •Void z1(int *X, int *y)
- •Void z1(int*, int*);
- •Int rus (unsigned char r)
- •Int min_index(int sp[], int ras)
- •Void init(int mas[],int ras);//функцияны сипаттау
- •Жоғарыда қарастырырылған функцияда екі өлшемді жиымның бағаналарының саны тұрақты және ол ауқымды ko айнымалысымен анықталған.
- •Void main(void)
- •Index(s1,s2)
- •Void main(void)
- •Int main()
- •Бақылау сұрақтары
- •Құрылымдарды пайдалану мысалы:
- •Void Vvod(int nom,struct Spisok *sved)
- •Void main(void)
- •Vvod(-1,sved);
- •Int I; clrscr();
- •Void main(void)
- •Int I,j,k,priznak;
- •If(!priznak) break;
- •If(!priznak)break; }
- •Бақылау сұрақтары
- •Void main ()
- •Int pages;
- •Void main()
- •Бақылау сұрақтары
- •11. Графикалық режимде жұмыс істеу
- •Void main ( )
- •Int gmode; //режим аты
- •Int errorcode; // қате коды
- •11.1. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары
- •Initgraph(&Driver,&Mode,Path);
- •Initgraph(&Driver,&Mode," ");
- •Экранға мәтін шығару функциясы
- •Экрандағы көрсетілген орынға мәтін шығару функциясы
- •1) Line (x1,y1,x2,y2);
- •2) Lineto (X,y);
- •11.2. Сызық стильдерін беру
- •Int gmode;
- •11.3. Тұйық сызықтар салу
- •Көпбұрыш салу функциясы
- •Int gmode;
- •Іші боялған контурлы эллипс салу функциясы
- •Pieslice(X,y,БұрышБасы,БұрышСоңы,Радиус);
- •Void main ()
- •Void main ( )
- •Void main ()
Void main()
{
int a[100];
int n;
printf("\nEnter the size of array:", n);
scanf("%i",&n);
for(int I=0;I<n;I++)
{ a[I]=rand()%100-50;
printf(" %i ", a[I]);
}
int max=a[0];
for(I=1;I<n;I++)
if (a[I]>max) max=a[I];
printf("\nMax= %i", max);
getch();
}
2 есеп. Жиымның жұп индексті элементтері қосындысын анықтау.
/* 0, 2, 4... индексті элементтер қосындысын табу */
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
Void main()
{
int a[100];
int n;
printf("\nEnter the size of array:", n);
scanf("%i",&n);
for(int I=0;I<n;I++)
{a[I]=rand()%100-50;
printf(" %i ", a[I]);
}
int Sum=0;
for(I=0;I<n;I+=2)
Sum+=a[I];
printf("\nSum= %i ", Sum);
getch();
}
Соңғы циклді басқаша да құрастыруға болады:
//Екінші тәсіл
for(I=0;I<n;I++)
if(I%2==0) Sum+=a[I];
printf("\nSum= %i ", Sum);
2-түрдегі есептер
Жиым ішіндегі екі элементтің бір-бірімен орнын ауыстыру үшін қосымша тағы бір айнымалы керек болады. Мысалы, a[I] және a[J] элементтерінің орнын ауыстыру үшін қосымша R айнымалысы керек: R=a[I]; a[I]=a[J]; a[J]:=R;
3-есеп. Жиым элементтерін кері бағытта орналастыру.
for(int i=0, j=n-1; i<j; i++, j--)
{int r=a[i];
a[i]=a[j];
a[j]=r;}
4-есеп. Жиымның қатар тұрған екі элементін: 1 және 2, 3 және 4, 5 және 6, т.с.с. элементтерін бір-бірімен орын ауыстыру
for(int i=0;i<n-1;i+=2)
{int r=a[i];
a[i]=a[i+1];
a[i+1]=r;}
5 есеп. Жиым элементтерін k орынға солға (оңға) ығыстыру, яғни жылжыту.
int k,i,t,r;
printf(“k = “);
skanf(“%d”,&k);
for(t=0;t<k;t++)
{
r=a[0];
for(int i=0; i<n-1; i++)
a[i]=a[i+1];
a[n-1]=r;
}
3-класс есептері
Жиымдарды синхронды түрде өңдеуде жиымдар элементін қарастыру кезінде индекстер бірдей қадамға өзгереді. Мысалы, бүтін сандардан құралған n элементтерден тұратын 2 жиым берілген делік. Жаңа c жиымы мынадай формула арқылы алынады: c[I]=a[I]+b[I].
for (int I=0; I<n; I++) c[I]=a[I]+b[I];
Жиымдарды асинхрондық өңдеу кезінде әр жиым индексі өз реттілігімен өзгеріп отырады.
6-есеп. Бүтін сандардан құралған жиымдағы теріс элементтердің барлығын оның бас жағына орналастыру керек.
Int b[10]; //қосымша массив
int i,j=0;
for(i=0;i<n;i++)
if(a[i]<0){b[j]=a[i];j++;}
// а-дан b-ға теріс элементтерді көшіріп жазу
for(i=0;i<n;i++)
if(a[i]>=0){b[j]=a[i];j++;}
// а-дан b-ға оң элементтерді көшіріп жазу
for(i=0;i<n;i++) printf (“ %d ”, b[I]);
7 есеп. Жиымның барлық жұп элементтерін жою керек.
int b[10];
int i,j=0;
for(i=0;i<n;i++)
if(a[i]%2!=0){b[j]=a[i];j++;}
for(i=0;i<j;i++) printf (“ %d ”, b[I]);
printf ("\n");
4-класс есептері
Іздеу есептерінде берілген шартқа сәйкес келетін элементті іздеп табу керек. Ол үшін жиым элементтерін біртіндеп тізбектей қарастырып отырып шартты тексеріп шығу қажет. Осылай ету барысында циклден шығудың екі жолы бар:
керекті элемент табылғаннан кейін;
жиым элементтері тегіс қаралып шықты, керекті элемент табылмады.
8- есеп. Берілген k санына тең жиымның алғашқы элементін табу.
int k;
printf("\nK=");
scanf(“%i”,&k);
int ok=0;//элемент табылғаны/табылмағаны белгісі
int i,nom;
for(i=0;i<n;i++)
if(a[i]==k){ok=1;nom=i;break;}
if(ok==1) printf("\nnom=",nom);
else printf("\nk-ға тең элемент жоқ!");
Бақылау сұрақтары
Жиым дегенімз не?
Жиымдарға бастапқы мәндер қалай тағайындалады?
Жиымды сипаттау тәсілдері.
Жиым элементтерін енгізу және экранға шығару жолдары.
Кездейсоқ сандарды қалай шығаруға болады?
Жиымға кездейсоқ сандарды меншіктеу қалай орындалады?
Жиымды өңдеу есептерінің түрлері (кластары).
Жиымның ең үлкен (ең кіші) элементін анықтау.
Жиым элементтері қосындысын табу.
Жиым ішіндегі екі элементтің бір-бірімен орнын алмастыру.
Жиым элементтерін кері бағытта орналастыру.
Жиымның көрсетілген элементтерін өңдеу тәсілдері.
Дәріс№8