1 / 19

Оператор розгалуження

Оператор розгалуження. Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії Конотопської міської ради Сумської області 2008 р. Зміст. Логічні вирази Операції відношення Завдання Оператор розгалуження (коротка форма)

Download Presentation

Оператор розгалуження

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Оператор розгалуження Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії Конотопської міської ради Сумської області 2008 р.

  2. Зміст • Логічні вирази • Операції відношення • Завдання • Оператор розгалуження (коротка форма) • Оператор розгалуження (повна форма) • Приклади дій команди розгалуження • Команда ? • Завдання • Логічні операції • Приклади • Завдання • Обробка декількох умов. • Вкладені умови • Оператор switch-перемикач • Команда безумовного переходу goto • Завдання • Література

  3. Логічні вирази • Логічний вираз може набувати значення true або false. • Логічні вирази бувають прості та складені • Простий – це два арифметичні вирази, з'єднані символом відношення • Складений – це прості логічні вирази, з'єднані логічними операціями Увага! Логічним виразом може бути ціле число. Якщо воно не дорівнює нулю, то значенням логічного виразу – true, якщо це число 0 - false

  4. Операції відношення Приклад визначення результату порівняння: Нехай a=1, b=7, тоді: A==b →false; !(a==b) → true; a>=b → false; a!=b → true; a+6==b → true; a<(b=1) → true; 2 → true; b → true

  5. Завдання Визначте значення наступних операцій порівняння: Нехай a=1, b=2, c=-3; d=0.5 • ((a++) != 2) • (b+=c < d*=c-a) • (c/=b*3 == d*=-1) • (4/++a >= b) • (b=2*a++ == a=b--) Для перевірки клацнути false (a=1+1=2) false (b=2=(-3)=-1 d=0.5*(-3-1)=-2) true(c=-3/(2*3)=-0.5 d=0.5*(-1)=-0.5 true (4/2=2) true (b=2*1=2 a=2)

  6. Оператор розгалуження (коротка форма) Загальний вигляд: If (умова) оператор; або if (умова) {оператор1; оператор2; оператор3;} складений оператор #includ<iostream,h> #includ<conio.h> int main() { float x,y=6.8; cout<<“x=“; cin>>x if(x>=y) cout<<“x>-y!”<<endl; getch(); return 0; } #includ<iostream,h> #includ<conio.h> int main() { char game_end;; cout<<“prodovgimo gru? (t/n): “; cin>>game_end; if(game_end ==‘t’) { cout<<“Pravila gri:”<<endl; cout<<“Opis :”<<endl; } getch(); return 0; }

  7. Оператор розгалуження (повна форма) Загальний вигляд: If (умова) оператор1;else оператор2 або if (умова) {оператор1_1; оператор1_2; } else {оператор2_1; oператор2_2;} складені оператори #includ<iostream,h> #includ<conio.h> int main() { int oc; cout<<“vvedi ocinky: “; cin>>oc; if(oc>=5) { cout<<“Vasha ocinka ”<<oc<“ baliv<<endl; cout<<“Zalik!”<<endl; } else { cout<<“Vasha ocinka ”<<oc<“ baliv<<endl; cout<<“NEzalik!”<<endl; } getch(); Return 0; }

  8. Приклади дій команди розгалуження Приклад 1. Нехай x=9 If (x>7) y=pow(x, 2); else y=sqrt(x); If (x<=5) z=exp(x); else z=++x; Отримаємо y=81, z=10, x=10 Приклад 2. Нехай x=9 If (x) y=x-10; If (y) y+=2; else y=15; Спочатку y=0 (оскільки x≠0), а потім y=15 Приклад 3. Нехай a=7 If (a>7) { y=a++;z=a+5;} If (a<=9) z=++a/2; y=z+a; Отримаємо z=(7+1)/2=4 a=7+1=8y=4+8=12 Для перевірки клацнути

  9. Команда ? Команда ? Є аналогом команди розгалуження if. Загальний вигляд команди: умова ? команда1 або вираз1: команда2 або вираз2; Дія команди: Обчислюється значення логічного виразу-умови. Якщо воно істинне, то виконується команда1 або вираз1, інакше – команда2 або вираз2. Приклади: 1) x>y ? cout<<x : cout<<y; // значення більшого числа 2) Нехай с=10, тоді x=(c==3) ? 2*c : c-2 //оскільки с≠3, обчислюється вираз2, отримаємо х=8

  10. Завдання Складіть програми перевірки: • Чи є число а парним • Чи ділиться число а без остачі на 3 • Ввести два цілих числа. Знайти більше з них • Обчислити значення функції • Чи є точка(х;у) у крузі одиничного радіуса з центром у початку координат

  11. Логічні операції

  12. Приклади Приклад визначення результату логічного виразу: Нехай a=1, b=7, тоді: • a>=-3 && a<=2 →true; • a>=0 && b<=4) → false; • b<9 || b>15 → true; • !(a<1 || b>=10) → true; • a!=b || a+15>b && b<0 → true; • (a!=b || a+15>b) && b<0 → false;

  13. Завдання Складіть програми: • Чи деяка точка х належіть відрізку [0;3) • Чи деяка точка х належіть відрізку [2;14] або [20;25] • Чи деяка точка х належіть відрізку [4;10] та [8;12] • Чи ділиться число а на 3 і на 5 • Чи є точка (х;у) у другій чверті

  14. Введи v V<7.8? так ні Впаде На Землю V<11.2? так ні супутник Землі V<16.4? так ні Покине Сонячну систему супутник Сонця Обробка декількох умовВкладені умови cin>>v; if (v>7.8) cout<<“upade na Zemlyu” <<endl; else if (v<11.2) cout<<“suputnik Zemli” <<endl; else if (v<16.4) cout<<“suputnik Soncja” <<endl; else cout<<“pokinet snjachnu sistemu” <<endl; Для перевірки клацнути

  15. Оператор switch-перемикач Загальна структура оператора: switch (Вираз) { caseконстантний вираз1: оператори1; break; caseконстантний вираз2: оператори2; break; … caseконстантний виразN: операториN; break; default: оператори; } Увага! Вираз та константні вирази повинні мати цілочисельний тип або тип char.

  16. Нехай населені пукти позначені номерами від 1 до 8. Вартість одного квитка до конкретного пункту визначається так: до першого – 22 грн., до 2, 3 або 4 – 25 грн., до 5 або 6 – 30 грн., до 7 або 8 - 35 грн. Скільки коштуватимуть m квитків до населеного пункту, номер k якого вводять з клавіатури? #includ<iosream.h> #includ<conio.h> int main() { int f,m; float cina; cout<<“k= “<<endl; cin>>k; cout<<“m= “<<endl; cin>>m; switch (k) { case 1: cina=22; break; case 2: case 3: case 4: cina=25; break; case 5: case 6: cina=30; break; case 7: case 8: cina=35; break; default: cout<<“error!”<<endl; cina=0; } cout<<cina*m<<“grn”; getch() return 0; } Приклад Для перевірки клацнути

  17. Команда безумовного переходу goto Команда переходу має вигляд: goto позначка; Позначка може розміщуватись перед довільною командою у програмі позначка: команда; Увага! Позначкою може бути лише ідентифікатор. Приклад: … if (a==0) goto finish; … finish: getch(); …

  18. Завдання • Складіть програму для пошуку у бібліотеці деякої книжки за трьома параметрами : видавництво – “Деол”, рік видання – 2003, автор – Новосад. • Складіть програму для розв'язання квадратного рівняння • Увести номер дня тижня. Вивести його назву двома мовами: українською та англійською. • Увести номер дня тижня. Вивести розклад занять у цей день • Написати програму, що вимагає уведення часу дня і, залежно від уведеного значення, бажає доброго ранку, доброго дня, доброго вечора або спокійної ночі.

  19. Література • Лєхан С.Ф. Інформатика С++. Спецкурс. 10-12 класи. – Шепетівка; Аспект, 2007. • Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навчальний посібник. – Львів: СПД Глинський, 2006. • Глушаков С.В., Смирнов С.В., Коваль А.В. Практикум по С++. – Харьков: Фолио, 2006. • Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2003

More Related