Разделы презентаций


Дәріс 4

Содержание

Қарастырылатын сұрақтарБасқарушы конструкцялар түрлері және оларды қолдану. IF командасы Логикалық кестелерCASE өрнегін қолдануЦиклдерді жасау командаларыБлоктағы операциялар ағынын қабаттасқан циклдер мен белгілер (метки) арқылы басқару

Слайды и текст этой презентации

Слайд 1Дәріс 4
Басқарушы конструкциялар
©Ергазина Р.А., КазНТУ, кафедра "Математика"

Дәріс 4Басқарушы конструкциялар©Ергазина Р.А., КазНТУ, кафедра

Слайд 2Қарастырылатын сұрақтар
Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы
Логикалық

кестелер
CASE өрнегін қолдану
Циклдерді жасау командалары
Блоктағы операциялар ағынын қабаттасқан циклдер мен

белгілер (метки) арқылы басқару
Қарастырылатын сұрақтарБасқарушы конструкцялар түрлері және оларды қолдану. IF командасы Логикалық кестелерCASE өрнегін қолдануЦиклдерді жасау командаларыБлоктағы операциялар ағынын

Слайд 3Операциялардың логикалық ағынын IF – шартты басқару командасы және әртүрлі

типтегі циклдер көмегімен басқаруға болады.
IF шартты командалары:
IF-THEN-END IF
IF-THEN-ELSE-END IF
IF-THEN-ELSIF-END

IF

PL/SQL орындалу үрдісін басқару

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

Операциялардың логикалық ағынын IF – шартты басқару командасы және әртүрлі типтегі циклдер көмегімен басқаруға болады. IF шартты

Слайд 41. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

IF

командасы: синтаксис






Егер қызметкердің аты - Gietz болса, онда Manager ID

мәніне 102 меншіктеу.

IF UPPER(v_last_name) = 'GIETZ' THEN
v_mgr := 102;
END IF;

IF condition THEN
statements;
[ELSIF condition THEN
statements;]
[ELSE
statements;]
END IF;

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы IF командасы: синтаксисЕгер қызметкердің аты - Gietz болса,

Слайд 5condition – Логиклық айнымалы немесе өрнек; нәтиже TRUE (ақиқат), FALSE (жалған)

немесе NULL(анықталмаған). Шарт командалар тізбегімен байланысты, олар өрнектің нәтижесі TRUE

болған жағдайда орындалады.
THEN – Өрнектің нәтижесі TRUE болған жағдайда ғана орындалатын командалар тізбегін береді.
statements – PL/SQL немесе SQL-дің бір немесе бірнеше командалары. Сонымен қатар IF, ELSE және ELSEIF қабаттасқан операторлары болуы мүмкін
ELSЕIF – Қосымша логикалық өрнек береді. Егер бірінші шарт FALSE немесе NULL нәтижесін берсе, онда ELSEIF сөзімен берілген қосымша шарт тексеріледі. ELSEIF санына шектеу қойылмайды.
ELSЕ – Өрнектің нәтижесі FALSE болған жағдайда ғана орындалатын командалар тізбегін береді. Шартты операторда ELSE біреу ғана болуы керек.
END IF – Шартты оператордың құрылымын аяқтайды.

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

condition			– Логиклық айнымалы немесе өрнек; нәтиже TRUE (ақиқат), FALSE (жалған) немесе NULL(анықталмаған). Шарт командалар тізбегімен байланысты, олар

Слайд 6Қарапайым IF операторы :
Егер фамилиясы Vargas болса:
job ID –ге SA_REP

меншіктеу
Бөлім номеріне 80 меншіктеу
. . .
IF v_ename =

'Vargas' THEN
v_job := 'SA_REP';
v_deptno := 80;
END IF;
. . .

IF құрамдас командалары

Егер фамилиясы Vargas және еңбек ақысы 6500-тен жоғары болса: Бөлім номеріне 60 меншіктеу

. . .
IF v_ename = 'Vargas' AND salary > 6500 THEN
v_deptno := 60;
END IF;
. . .

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

Қарапайым IF операторы :Егер фамилиясы Vargas болса:job ID –ге SA_REP меншіктеуБөлім номеріне 80 меншіктеу. . .IF v_ename

Слайд 7!
Әдістемелер
Іс-әрекет шарттың орындалуына байланысты таңдалады.
Программа жазу барысында орфография

туралы ұмытпай керек:
ELSEIF – бұл бір сөз.
END IF – бұл

екі сөз
Егер логикалық өрнек «ақиқат» мәнін берсе, онда сәйкес командалар тізбегі орындалады. Егер басқарушы өрнек «жалған» немесе «анықталмаған» мән берсе, онда бұл командалар оқылмайды. ELSEIF санына шектеу қойылмайды. ELSE сөйлемі біреу ғана болады.
Оқуға жеңіл болу үшін шартқа байланысты орындалатын командаларды шегініс (отступ) арқылы белгілеген жөн.

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

! Әдістемелер Іс-әрекет шарттың орындалуына байланысты таңдалады.Программа жазу барысында орфография туралы ұмытпай керек:ELSEIF – бұл бір сөз.END

Слайд 8IF шарты
Операциялар ағынын IF-THEN-ELSE операторлары арқылы басқару
1. Басқарушы конструкцялар түрлері

және оларды қолдану. IF командасы

IF шартыОперациялар ағынын IF-THEN-ELSE  операторлары арқылы басқару1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

Слайд 9IF-THEN-ELSE операторлары. Мысал:
Егер қызметкердің жұмысқа алынған күні бес жылдан жоғары

болса бульдік TRUE мәнін орнатамыз; кері жағдайда бульдік FALSE мәнін

орнатамыз.

DECLARE
v_hire_date DATE := '12-Dec-1990';
v_five_years BOOLEAN;
BEGIN
. . .
IF MONTHS_BETWEEN(SYSDATE,v_hire_date)/12 > 5 THEN
v_five_years := TRUE;
ELSE
v_five_years := FALSE;
END IF;
...

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

IF-THEN-ELSE операторлары. Мысал:Егер қызметкердің жұмысқа алынған күні бес жылдан жоғары болса бульдік TRUE мәнін орнатамыз; кері жағдайда

Слайд 10Операциялар ағынын IF-THEN-ELSEIF операторлары арқылы басқару
IF
шарты
ақиқат
THEN
іс-әрекеттері
жалған
ELSIF
шарты
ақиқат
THEN
іс-әрекеттері
ELSE
іс-әрекеттері
жалған
1. Басқарушы конструкцялар түрлері және

оларды қолдану. IF командасы

Операциялар ағынын IF-THEN-ELSEIF  операторлары арқылы басқаруIFшартыақиқатTHENіс-әрекеттеріжалғанELSIFшартыақиқатTHENіс-әрекеттеріELSEіс-әрекеттеріжалған1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

Слайд 11IF-THEN-ELSEIF операторлары. Мысал:
Пайызды шартқа байланысты берілген мән негізінде есептеу.
. .

.
IF v_start > 100 THEN
v_start :=

0.2 * v_start;
ELSIF v_start >= 50 THEN
v_start := 0.5 * v_start;
ELSE
v_start := 0.1 * v_start;
END IF;
. . .

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

IF-THEN-ELSEIF операторлары. Мысал:Пайызды шартқа байланысты берілген мән негізінде есептеу.. . .IF  v_start > 100 THEN

Слайд 12Анықталмаған мәндерді басқару:
Анықталмаған мәндерден тұратын қарапайым сәйкестендіру әрқашан NULL мәнін

қайтарады.
Анықталмаған мәнге қолданылатын NOT логикалық операторы NULL мәнін қайтарады.


Егер шартты басқару командаларында шарт NULL мәнін қайтарс, оған тиесілі командалар тізбегі орындалмайды.

1. Басқарушы конструкцялар түрлері және оларды қолдану. IF командасы

Анықталмаған мәндерді басқару:Анықталмаған мәндерден тұратын қарапайым сәйкестендіру әрқашан NULL мәнін қайтарады. Анықталмаған мәнге қолданылатын NOT логикалық операторы

Слайд 13Салыстыру операторымен берілген қарапайым логикалық шарт құру. (TRUE – ақиқат,

FALSE – жалған, NULL – анықталмаған мән)
NULL
NULL
2. Логикалық кестелер

Салыстыру операторымен берілген қарапайым логикалық шарт құру. (TRUE – ақиқат, FALSE – жалған, NULL – анықталмаған мән)NULLNULL2.

Слайд 14Күрделі логикалық шартты AND, OR, NOT логикалық операторлар көмегімен беруге

болады. Кестедегі FALSE нәтижесінің
AND шартында приоритеті жоғары, ал TRUE

нәтижесінің приоритеті OR шартында жоғары. Екі операнд ақиқат болған жағдайда ғана AND шарты ақиқат нәтиже қайтарады.
Екі операнд жалған болған жағдайда ғана OR шарты жалған нәтиже қайтарады.
NULL AND TRUE өрнегі әрқашан NULL қайтарады.

2. Логикалық кестелер

Күрделі логикалық шартты AND, OR, NOT логикалық операторлар көмегімен беруге болады. Кестедегі FALSE нәтижесінің AND шартында приоритеті

Слайд 15Логикалық шарттар
V_FLAG мәні қандай?
v_flag := v_reorder_flag AND v_available_flag;
V_REORDER_FLAG
V_AVAILABLE_FLAG
V_FLAG
TRUE TRUE

TRUE FALSE

NULL TRUE

NULL FALSE
?
?
?
?
2. Логикалық

кестелер

Логикалық шарттарV_FLAG мәні қандай?v_flag := v_reorder_flag AND v_available_flag; V_REORDER_FLAGV_AVAILABLE_FLAGV_FLAGTRUE			TRUETRUE			FALSENULL			TRUENULL			FALSE????2. Логикалық кестелер

Слайд 163. CASE өрнегін қолдану

CASE нәтижені таңдайды және оны қайтарады.
CASE

сөйлеміндегі өрнектің мәні үшін, келтірілген бірнеше өрнек мәндерінен сәйкес нәтиже

таңдалады.

CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
WHEN expressionN THEN resultN
[ELSE resultN+1;]
END;

3. CASE өрнегін қолдануCASE нәтижені таңдайды және оны қайтарады. CASE сөйлеміндегі өрнектің мәні үшін, келтірілген бірнеше өрнек

Слайд 17CASE – өрнегі: Мысал
SET SERVEROUTPUT ON
DECLARE
v_grade CHAR(1) :=

UPPER('&p_grade');
v_appraisal VARCHAR2(20);
BEGIN
v_appraisal :=

CASE v_grade
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
ELSE 'No such grade'
END;
DBMS_OUTPUT.PUT_LINE ('Grade: '|| v_grade || ' Appraisal ' || v_appraisal);
END;
/

3. CASE өрнегін қолдану

CASE – өрнегі: МысалSET SERVEROUTPUT ONDECLARE  v_grade CHAR(1) := UPPER('&p_grade');  v_appraisal VARCHAR2(20);BEGIN  v_appraisal :=

Слайд 184. Циклдерді жасау командалары

Итеративті басқару: LOOP командалары

Циклдер команда немесе командалар

тізбегін бірнеше рет орындауға мүмкіндік береді.
Циклдің үш түрі бар:
Қарапайым цикл
FOR

циклі
WHILE циклі
4. Циклдерді жасау командаларыИтеративті басқару: LOOP командаларыЦиклдер команда немесе командалар тізбегін бірнеше рет орындауға мүмкіндік береді.Циклдің үш

Слайд 194. Циклдерді жасау командалары

Қарапайым цикл

Синтаксис:
LOOP


statement1;
. . .

EXIT [WHEN condition];
END LOOP;

condition циклден шығу үшін қолданылатын
логикалық айнымалы немесе өрнек
TRUE, FALSE или NULL);

-- шектеуші
-- командалар
-- EXIT командасы
-- шектеуші

4. Циклдерді жасау командаларыҚарапайым циклСинтаксис:LOOP            statement1;

Слайд 204. Циклдерді жасау командалары

Қарапайым цикл

Мысал:
DECLARE
v_country_id locations.country_id%TYPE := 'CA';

v_location_id locations.location_id%TYPE;
v_counter NUMBER(2) := 1;
v_city

locations.city%TYPE := 'Montreal';
BEGIN
SELECT MAX(location_id) INTO v_location_id FROM locations
WHERE country_id = v_country_id;
LOOP
INSERT INTO locations(location_id, city, country_id)
VALUES((v_location_id + v_counter),v_city, v_country_id);
v_counter := v_counter + 1;
EXIT WHEN v_counter > 3;
END LOOP;
END;
/
4. Циклдерді жасау командаларыҚарапайым циклМысал:DECLARE v_country_id  locations.country_id%TYPE := 'CA'; v_location_id  locations.location_id%TYPE; v_counter		  NUMBER(2) :=

Слайд 214. Циклдерді жасау командалары

Синтаксис:
WHILE циклінде командалар шарт ақиқат (TRUE) болғанға

орындалады.
WHILE циклі
WHILE condition LOOP
statement1;
statement2;
. . .
END LOOP;
Әрбір

итерацияның басында шарт тексеріледі
4. Циклдерді жасау командаларыСинтаксис:WHILE циклінде командалар шарт ақиқат (TRUE) болғанға орындалады.WHILE цикліWHILE condition LOOP statement1; statement2; .

Слайд 224. Циклдерді жасау командалары

Мысал:
WHILE циклі
DECLARE
v_country_id locations.country_id%TYPE :=

'CA';
v_location_id locations.location_id%TYPE;
v_city

locations.city%TYPE := 'Montreal';
v_counter NUMBER := 1;
BEGIN
SELECT MAX(location_id) INTO v_location_id FROM locations
WHERE country_id = v_country_id;
WHILE v_counter <= 3 LOOP
INSERT INTO locations(location_id, city, country_id)
VALUES((v_location_id + v_counter),
v_city, v_country_id);
v_counter := v_counter + 1;
END LOOP;
END;
/
4. Циклдерді жасау командаларыМысал:WHILE цикліDECLARE v_country_id   locations.country_id%TYPE := 'CA'; v_location_id   locations.location_id%TYPE; v_city

Слайд 234. Циклдерді жасау командалары

Синтаксис:
FOR циклі
FOR counter IN [REVERSE]

lower_bound..upper_bound LOOP
statement1;
statement2;
. . .
END LOOP;
Циклдің қайталану

санын шектеу үшін FOR циклі қолданылады.
Санауышты (цикл айнымалысы) жариялау қажет емес, ол айқын емес түрде жарияланады.
Жоғарғы және төменгі шекаралар 'lower_bound .. upper_bound' міндетті түрде жариялануы керек.
4. Циклдерді жасау командаларыСинтаксис:FOR цикліFOR counter IN [REVERSE]   lower_bound..upper_bound LOOP  statement1; statement2; . .

Слайд 244. Циклдерді жасау командалары

Мысал: Коды CA болатын ел мен Montreal

қаласы үшін үш жаңа орналасу идентификаторын кірістіру.
FOR циклі
DECLARE
v_country_id

locations.country_id%TYPE := 'CA';
v_location_id locations.location_id%TYPE;
v_city locations.city%TYPE := 'Montreal';
BEGIN
SELECT MAX(location_id) INTO v_location_id
FROM locations
WHERE country_id = v_country_id;
FOR i IN 1..3 LOOP
INSERT INTO locations(location_id, city, country_id)
VALUES((v_location_id + i), v_city, v_country_id );
END LOOP;
END;
/
4. Циклдерді жасау командаларыМысал: Коды CA болатын ел мен Montreal қаласы үшін үш жаңа орналасу идентификаторын кірістіру.FOR

Слайд 25Циелдер бірнеше деңгейлі қабаттасуы мүмкін.
Блоктар мен циклдерді белгілеу үшін белгілерді

қолдану керек.
Сыртқы циклден шығу үшін белгіге сілтейтін EXIT командасы қолданылады.
Қабаттасқан

циклдер және белгілер

5. Блоктағы операциялар ағынын қабаттасқан циклдер мен белгілермен басқару

Циелдер бірнеше деңгейлі қабаттасуы мүмкін.Блоктар мен циклдерді белгілеу үшін белгілерді қолдану керек.Сыртқы циклден шығу үшін белгіге сілтейтін

Слайд 265. Қабаттасқан циклдер және белгілер
...
BEGIN

LOOP
v_counter

:= v_counter+1;
EXIT WHEN v_counter>10;

LOOP

...
EXIT Outer_loop WHEN total_done = 'YES';
-- Leave both loops
EXIT WHEN inner_done = 'YES';
-- Leave inner loop only
...
END LOOP Inner_loop;
...
END LOOP Outer_loop;
END;

Мысал:

5. Қабаттасқан циклдер және белгілер...BEGIN   LOOP  v_counter := v_counter+1; EXIT WHEN v_counter>10;

Слайд 27Назарларыңызға
рахмет!

Назарларыңызғарахмет!

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика