- •Программалау тілдері
- •2.2. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Бақылау сұрақтары
- •2.3. Си тіліндегі мәліметтер типтері және енгізу, шығару функциялары
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.2. Char типі
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •Бақылау сұрақтары
- •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 ()
3.4. Шартты оператор
Ш
артты
оператордың
орындалу
схемасы мен жалпы жазылу түрі мынадай:
If (шарт)
1-оператор;
else
2-оператор;
М
ұнда
жақшадағы шарт түріндегі өрнек ақиқат
болса, 1-оператор орындалады,
әйтпесе 2-оператор атқарылады.
Операторлар қарапайым немесе құрама
болып жазыла береді. Оператордың
қысқаша жазылу түрі:
If (шарт)
1-оператор;
Кейде қабаттасқан шартты операторлар
кездеседі, мысалы:
if (1-шарт)
1-оператор;
else if (2-шарт)
2-оператор;
else
3-оператор;
Мұнда егер 1-шарт ақиқат болса, 1-оператор орындалады, егер 1-шарт жалған болып, 2-шарт ақиқат болса, 2-оператор орындалады, ал 1-шарт және 2-шарт жалған болса, 3-оператор атқарылады.
О
ндағы
кез келген else
түйінді cөзі
(keyword) оның алдында ең жақын тұрған
if операторына қатысты болып саналады.
Мысалы, берілген х, у – екі санның
үлкенін анықтау үшін жазылған
шартты операторды былай жазуға болады:
if (x>y) max=x;
else max=y;
А
л
х, y, z
сияқты үш санның үлкенін табу үшін,
қабаттасқан шартты операторлар жазылады.
if (x>y)
{if (x>z) max=x;
else max=z;}
else if (y>z) max=y;
else max=z;
Логикалық ЖӘНЕ операциясын пайдалана отырып, бұл есепті мынадай түрде де жаза аламыз.
if ((x>y)&&(x>z)) max=x;
else if ((y>z)&&(y>x))
max=y;
else max=z;
1-мысал. Осы алгоритмді толығынан қысқаша шартты оператор арқылы орындаудың блок-схемасы (3.5-сурет) мен программасын келесі түрде жазып шығайық.
#include <stdio.h>
#include <conio.h>
main ()
{
clrscr();
int max,x,y,z;
printf(“3 бүтін сан енгізіңіз:”);
scanf(“%d%d%d”,&x,&y,&z);
max=x;
if (y>max) max=x;
if (z>max) max=z;
printf(“max=%d”,max);
getch();
}
2-мысал. Формула арқылы берілген төмендегі
у функциясын есептеу программасын құрастыру керек.
#include <stdio.h>
#include <conio.h>
main ()
{
clrscr();
float x,y;
printf(“x нақты санын енгізіңіз:”);
scanf(“%f”,&x);
if (x<0) y=x+2;
else y=2*x*x*x;
printf(“\ny=%f”,y);
getch();
}
3- мысал. Программаға бір жыл нөмірін енгізіп, сол жылдың кәбисә (366 күн) немесе қарапайым жыл (365 күн) екендігін анықтау керек. Ол үшін жылды төртке бөлеміз, егер қалдық 0-ге тең болса, ол кәбисә жыл, әйтпесе қарапайым жыл болады.
#include <stdio.h>
#include <conio.h>
main ()
{ int gil;
Int r; /* gil-ды 4-ке бөлгендегі қалдық */
clrscr();
printf("Жылды, мысалы, 2007 енгізіп, Enter басыңыз: ");
scanf("%i",&gil);
r=gil % 4;
if (r)
printf("%i жыл - қарапайым \n", gil);
else
printf("%i жыл – кәбисә \n", gil);
printf("\nАяқтау үшін Enter басыңыз");
getch();
}
4- мысал. Квадрат теңдеуді шешу программасын құру керек.
/* Квадрат теңдеуді шешу */
#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float a,b,c;
float x1,x2,d;
clrscr();
printf("\n * Квадрат теңдеуді шешу * \n");
printf(" a,b,c мәндерін енгізіп, Enter басыңыз: ");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if (d < 0)
printf("Теңдеудің шешуі жоқ \n");
else {
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("Теңдеу түбірлері: x1=%3.2f
x2=%3.2f\n", x1,x2);
}
printf("\nАяқтау үшін Enter басыңыз");
getch();
}
5- мысал. Төмендегі функция мәнін кез келген х үшін есептеу керек.
#include <stdio.h>
#include <math.h>
#define pi 3.14159
main ()
{
float x,y;
clrscr();
printf("Нақты сан түріндегі x мәнін енгізіңіз: ");
scanf("%f",&x);
if (x <= 0)
y = 0;
else if (x <= 1)
y = x*x - x;
else
y = sin(pi * x*x);
printf("x = %f болғанда, y = %10.6f \n",x,y);
return(0);
}
6- мысал. Төменде алынған баллға сәйкес бағаны анықтау программасы келтірілген.
-
балл
баға
90...100
A
75...89
B
60...74
C
50...59
D
0...49
F
A,
егер 90
ball
100
B, егер 75 ball < 90
baga = C, егер 60 ball < 75
D, егер 50 ball < 60
F, егер 0 ball < 50
#include <stdio.h>
#include <conio.h>
main ()
{
