59
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-мысал. Тӛмендегі функция мәнін кез келген х ҥшін есептеу керек.
1
,
sin
1
0
,
0
,
0
2
2
x
егер
x
x
егер
x
x
x
егер
y
#include
#include
#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
60
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
#include
main()
{int ball;
char baga;
clrscr();
printf("Балл мөлшері: ");
scanf("%i",&ball);
if (ball >= 90)
baga = 'A';
else if (ball >= 75)
baga = 'B';
else if (ball >= 60)
baga = 'C';
else if (ball >= 50)
baga = 'D';
else
baga = 'F';
printf("Бағасы - %c, балл мөлшері - %i \n",baga,ball);
printf("\nАяқтау үшін Enter басыңыз");
getch();
}
3.4.1 Шартты операция
Шартты операция (? :) шартты ӛрнек жазуға мҥмкіндік береді, яғни берілген
шартқа байланысты әртҥрлі мән қабылдайтын шартты ӛрнектер қҧрады. Бҧл
операция ҥшорынды болып табылады. Егер оның шарты (бірінші операнд)
ақиқат болса, ӛрнек мәні екінші операндқа тең; егер жалған болса, онда –
ҥшіншіге тең. Мысалы:
max_ab = a > b? a : b;
3.5 Switch көп нұсқалы таңдау операторы
Программада кездесетін бірнеше нҧсқаның бірін таңдап алу керек болған
жағдайда, switch ауыстырғыш операторы қолданылады. Оператордың орындалу
схемасы тӛмендегі 3.6 суретте келтірілген. Оның жалпы жазылуы:
switch <бүтін типті өрнек>;
{
case белгі1: операторлар;
61
case белгі2: операторлар;
................
[default: операторлар;]
}
Мҧнда switch сӛзінен кейінгі ӛрнек мәні есептеледі, ол бҥтін санды
(char типі де) типте болуы тиіс. Сол мән case сӛздерінен кейін жазылған
константалар мәндерімен салыстырылады. Егер олардың біріне тең болса, сол
жол орындалады, жол соңында кӛшу операторы болмаса, келесі жолдар толық
орындалады. Ал бір жолды орындап болған соң, switch операторынан шығу
ҥшін break операторы қолданылады. Егер switch сӛзінен кейінгі ӛрнек мәні
ешбір константамен сәйкес келмесе, онда default сӛзінен кейінгі операторлар
атқарылады. Кейде default сӛзі болмауы да мҥмкін.
Default сӛзі болмаса, онда switch операторынан кейінгі келесі опера-
торлар орындала береді. Switch операторындағы ӛрнек тҥрінде нақты типтегі
мәліметтерді, сӛз тіркестерін (жолдарды) пайдалануға болмайды. Кейде бҥтін
мәндермен ҥйлестірілген мәліметтердің қҧрылымдық (структуралық) элемент-
тері қолданылуы мҥмкін.
7-мысал. Екі бҥтін сан енгізіп, олармен арифметикалық 4 амалдың бірін
орындау қажет.
#include
#include
char symbol;
int x,y,z;
clrscr();
printf ("Екі бүтін сан енгізіңіз: ");
scanf ("%i%i",&y,&z);
printf ("Қандай амал орындау керек: ");
scanf ("%s",symbol);
switch (symbol)
{
case „-„ : x=y-z; break;
case „+„ : x=y+z; break;
1-белгі:
<операторлар>;
break;
Ӛрнек
2-белгі:
<операторлар>;
break;
3-белгі:
<операторлар>;
break;
n-белгі:
<операторлар>;
break;
3.6-сурет. Switch операторының орындалу схемасы
Достарыңызбен бөлісу: |