Амтамасыздандыру


- Дәріс. Тақырыбы: Басқарушы операторлар



бет31/51
Дата07.09.2022
өлшемі484,5 Kb.
#38632
түріЛекция
1   ...   27   28   29   30   31   32   33   34   ...   51
Байланысты:
Алгоритрм лекция жинағы

8 - Дәріс. Тақырыбы: Басқарушы операторлар
Лекция мақсаты мен міндеттері:

Break операторы
Лекция мазмұны: Программа орындалуы кезінде цикл аяқталмай-ақ одан шығу үшін break операторы қолданылады. Егер бұл оператор бірінің ішіне бірі енгізіл­ген қабаттасқан цикл ішінде орналасса, онда ол ішкі циклдан оның сыртқы циклына шығуды ғана жүзеге асырады.
Мысалы: Екі өлшемді массивтен бір өлшемді массив A[5,5] – B[5] құрастыру керек. Оны түрлендіру ережесі: егер осы жолда бір теріс элемент болса, онда B[i]=1, әйтпесе B[i]=0 болуы тиіс.
for (i=0;i<=n; i++)
{
b[i]=0;
for (j=0;j<=n; j ++)
if (a[i][j]<0)
{
b[i]=1; break;}
}
Continue операторы
Программа орындалуы кезінде цикл аяқталмай-ақ одан шығып, қалған операторларды аттап өтіп, осы цикл параметрінің келесі мәніне көшу үшін continue операторы қолданылады, яғни циклдің келесі итерациясына – қадамына басынан бастап ауысу жүзеге асырылады.
Мысалы: Екіөлшемді массив – A[5,5] берілген. Осы массивтегі теріс элементтердің санын анықтайтын және оларды квадраттайтын программа құру керек.
k=0;
for (i=0;i<=5; i++)
for (j=0;j<=5; j ++)
if (a[i][j]>0
continue;
else
{
k=k+1;
a[i][j]=pow(a[i][j],2);
}
Goto операторы
Басқа тілдердегідей Си тілінде goto операторы көп қолданылмайды, бұл оператордың жазылуы:
goto <белгі>;
мұндағы белгі – оператор нөміріне ұқсас ерекше белгі, яғни идентификатор.
Бұл оператор бірінің ішіне бірі енгізілген бірнеше цикл жиынынан (мәлімет­тер арасында қателер кездессе) бірден сыртқа шығып кету керек болған кезде қолданылады. Мұндайда break операторын пайдалана алмаймыз.
/* Определение четности введенного числа */
#include
main ()
{
int k; /* введенное число */
char symbol;

c1: printf("\n Введите целое число и нажмите Enter : ");


scanf("%i",&k);
printf("Число %i ",k);
if (k % 2 == 0)
printf("четное.");
else
printf("нечетное.");
printf("\nЕще будете вводить? Да - 'Y', Нет - 'N' :");
scanf("%s",&symbol);
if ((symbol=='Y')||(symbol=='y')) goto c1;
}
Switch таңдау операторы
2.Ауыстырғыш бірнеше мүмкіндіктің бірін таңдайды.
switch (өрнек)
{Мұнда
case 1-константа : 1-оператор ;
case 2-константа : 2-оператор ;
. . . . . . . . . . .
[default: операторлар;]
}
Мұнда switch сөзінен кейінгі өрнек мәні есептеледі, ол бүтін санды типте болуы тиіс. Сол мән case сөздерінен кейін жазылған константалар мәндерімен салыстырылады. Егер олардың біріне тең болса, сол жол орындалады, жол соңында көшу операторы болмаса, келесі жолдар толық орындалады. Ал егер switch сөзінен кейінгі өрнек мәні ешбір константамен сәйкес келмесе, онда default сөзінен кейінгі операторлар атқарылады. Кейде default сөзі болмауы да мүмкін.
Мысал:
#include
main()
{
int i;
printf("\nБүтін сан енгіз: )";
scanf(“%i”,&i);
switch(i)
{
case 1: printf("\nСан бірге тең!");
case 2: printf("\n2*2=%d",i*i);
case 3: printf("\n3*3=%d",i*i;break;
case 4: printf("\n Сан төртке тең!";
default: printf("\nАяқталды";
}
}
Бұл программаның жұмыс нәтижесі:

  1. 1 енгізілгенде мыналар шығарылады:

Сан бірге тең!
2*2=1
3*3=1

  1. 2 енгізілгенде мыналар шығарылады:

2*2=4
3*3=4

  1. 3 енгізілгенде мыналар шығарылады:

3*3=9

  1. 4 енгізілгенде мыналар шығарылады:

Сан төртке тең!

  1. Қалған сандар енгізілсе:

Аяқталды!
сөзі шығарылады.
Программада кездесетін бірнеше нұсқаның бірін таңдап алу керек болған жағдайда, осы switch операторы қолданылады. Оператордың жалпы жазылуы:


Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   51




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет