Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Си лекция каз.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

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 ()

{