Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодАлгКП.doc
Скачиваний:
109
Добавлен:
18.02.2016
Размер:
2.27 Mб
Скачать

Практикалық жұмыс №5

Тақырыбы: CASE таңдау операторы

Жұмыс мақсаты: Программалауда таңдау операторын қолдана білуге үйрету

Жұмыстың орындалу тəртібі:

  1. Теориялық мəліметтермен танысу.

  2. Жеке нұсқада тапсырмалар орындау.

  3. Бақылау сұрақтарына жауап беру.

  4. Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, тапсырманың математикалық үлгісі, алгоритмнің блок – схемасы, листингі болуы қажет

5.1 Негізгі түсініктер

Таңдау операторы. Жоғарыда біз тармақталу операторында белгілі бір шарттың орындалу немесе орындалмауына байланысты алгоритмнің 1-ші немесе 2-ші операторы орындалатынын қарастырдық. Алайда, көбінесе мүмкін болатын жағдай екеу емес, одан да көп бола береді, яғни процесс көп тармақты болады.

CASE таңдау операторы алгоритм құрамындағы екіден көп тармақтың бірін таңдау керек болған кезде шартты оператордың орнына қолданылады.

Тармақталу берілген логикалық мəнге ие болатын өрнек түріндегі шартты тексеруден басталады, өрнек (селектор) мəндері таңдап алынған типтердің бірі болатын бүтін, символдық, логикалық типтердің бірінде жазылады. Бұл өрнек оператор орындалар кезде белгілі бір мəнге ие болуы тиіс. Сол мəн оған байланысты орындалатын оператордың белгісі рөлін атқарады. Егер өрнектің есептелген мəні көрсетілген мəннің біріне сəйкес келсе, сол қатардағы оператор орындалады.

CASE таңдау операторы көп тармақты алгоритмдерді барынша қарапайым жəне көрнекі түрде жазуға мүмкіндік береді. Оның құрамында селектор (selector – таңдау) деп аталатын өрнек жəне параметрлер тізімі болуы тиіс, əрбір параметрге сəйкес таңдау тұрақтылары болуы қажет. CASE операторының синтаксистік диаграммасы (5.1-сурет) былай кескінделеді:

Ал, оның жалпы жазылу түрі:

Сурет 5.1. Таңдау операторының синтаксистік диаграммасы

Селекторлық өрнек (селектор, ауыстырғыш) пен белгі түріндегі тұрақты (белгі нұсқалар, таңдау белгісі) бір типті болуы керек. Белгі-тұрақты программадағы белгілер тəрізді белгілер бөлімінде сипаттауды талап етпейді. Белгі-тұрақтыларға GOTO операторында сілтеме жасауға болмайды. Белгілер саналатын не- месе интервалды түрде берілуі тиіс.

Диаграммаға сəйкес таңдау операторы төмендегідей ықшамды түрде де жазылады:

case <селектор-өрнек > of

<1-белгі>: <1-оператор>

<2-белгі >: <2-оператор>

. . .

<n - белгі >: <n-оператор>

else <n+1-оператор>

end;

Таңдау операторы төмендегідей ереже бойынша орындалады:

алдымен селекторлық өрнек есептеледі; сонан кейін белгі нұсқасы селектордың ағымдағы мəніне сəйкес оператор орындалады; бұдан кейін CASE операторынан кейін орналасқан операторға көшу атқарылады. Егер селектор мəні белгі нұсқаларының ешқайсысымен сəйкес келмесе, онда ELSE түйінді сөзінен кейін орналасқан оператор орындалады. ELSE тармағы жоқ болған жағдайда, CASE операторынан кейін орналасқан оператор атқарылады.

Бұл оператор былайша жұмыс істейді: Алдымен өрнектің мәні есептеледі, сонан соң мәніне тең тұрақты ізделінеді. Сәйкесінше сол тұрақтыдан кейін жазылған оператор орындалады да, таңдау операторының жұмысы аяқталады. Егер тізімде есептелген мәнге тең тұрақты табылмаса, басқару else сөзінен кейін тұрған оператор беріледі.

Мысал 1. Апта күндерінің нөміріне байланысты оның атауын экранға шығаратын программа.

Program m1;

Var n: byte;

Begin write (‘1- ден 7- ге дейінгі санды енгіз’);

read (n);

Case n of

1: Writeln (‘Дүйсенбі’);

2: Writeln (‘Сейсенбі’);

3: Writeln (‘Сәрсенбі’);

4: Writeln (‘Бейсенбі’);

5: Writeln (‘Жұма’);

6: Writeln (‘Сенбі’);

7: Writeln (‘Жексенбі’);

else writeln (‘Дұрыс емес’) end; {таңдау операторының соңы}

end. {программаның соңы}

ЖЕКЕ ТАПСЫРМАЛАР НҰСҚАЛАРЫ

  1. Ай номері бойынша сол айдағы мейрам күндерін экранға шығаратын программа құрыңыз.

  2. Апта күні номеріне байланысты, сол күнде болатын сабақ санын шығарыңдар.

  3. 1-ден 4-ке дейін енгізілген натурал санға байланысты “Сәлем п-курс” хабарламасын экранға шығарыңдар(мысалы: п=1 болса, “Сәлем 1-курс”)

  4. Енгізілген жыл мезгілі номеріне байланысты бұл мезгілге сәйкес ай аттарын шығарыңдар.

  5. 0-ден 9-ға дейінгі енгізілген санға сәйкес оның ағылшынша атауын шығаратын программа құрыңыз.

  6. Апта күндерінің нөміріне байланысты оның атауын экранға шығаратын программа құрыңыз.

  7. Қаладағы мектеп нөміріне байланысты ол орналасқан аудан атауын экранға шығаратын программа құрыңдар.

  8. Берілген факультет нөмірі бойынша факультет атауын шығаратын программа құрыңдар.

  9. Айдың нөмірін енгізіңіз. Осы айға сəйкес жыл мезгілінің атын экранға шығарыңыз.

  10. Уақытты енгізіңіз (тек сағатты). Енгізілген уақытқа сəйкес экранға: «Қайырлы таң», «Қайырлы күн», «Қайырлы кеш», «Қайырлы түн» деген мəліметтердің бірін шығаратын программа құрыңыз.

  11. Отыратын орын санын енгізіп, осыған сəйкес транспорт атын экранға шығарыңыз: «велосипед», «мотоцикл», «жеңіл автомашина», «микроавтобус», «автобус».

  12. Енгізілген санға сəйкес келесі операциялар атын экранға шығаратын программа құрыңыз: 1 - қосынды; 2 - айырма; 3 – көбейтінді; 4 – бөлінді;

  13. Енгізілген санға сəйкес келесі функциялар атын экранға шығаратын программа құрыңыз: 1 - квадрат; 2 – квадрат түбір; 3 - си- нус; 4 – косинус.

  14. Пернетақтадан енгізілген санның дəрежесін есептейтін программа құрыңыз. Дəреже 0 .. 9 аралығында.

Бақылау сұрақтары

  1. Шартты және таңдау операторының айырмашылығы қандай?

  2. Таңдау операторының құрылымы қандай?

  3. Таңдау шарты қандай типті мәндерді қабылдамайды?

  4. Таңдау операторы қалай жұмыс істейді ?

  5. Егер тізімде есептелген мәнге тең тұрақты табылмаса, басқару қайда беріледі?

Ұсынылатын әдебиеттер: 1, 5, 7