|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Сase вираз-селектор of
значення 1: begin серія 1 end; значення 2: begin серія 2 end; …. Значення N: begin серія N end else begin серія N+1 end; end;
Гілка else, як і в команді розгалуження if може бути відсутньою. Зарезервовані слова begin та end можна так само не використовувати, як і в команді if. Як вираз-селектор можна використовувати тільки вирази перелічуваного типу, тобто будь-які цілі (byte, shortint, integer, word), літерні (char) або булівські (boolean). Як значення можна використовувати або константи, або списки константних значень (через кому), або діапазин значень. Наприклад, якщо змінна Х типу byte, то: Case X of 0: оператор 1; {константа} 1, 3, 5, 7, 9: оператор 2; {список констант} 10…20: оператор 3; {діапазон значень} end; Виконання команди CASE аналогічне команді вибору у НАМ: тобто якщо вираз-селектор набуватиме певного значення, буде виконуватися та серія, яка знаходиться у відповідному рядку.
Наведемо кілька прикладів розгалуження алгоритмів.
Приклад 1. Складіть алгоритм знаходження більшого з трьох чисел. Алгоритм має вигляд: АЛГ Приклад 1 (дійсн a, b, c, r) АРГ a, b, c РЕЗ r ПОЧ якщо a>b то r:=a інакше r:=b Все якщо r<c то r:=c Все ДРУКУВАТИ (“Більше з трьох чисел дорівнює”,r) КІН Пояснення до алгоритму Спершу відбувається порівняння двох будь-яких чисел і більше число вміщується в комірку результату (при цьому використовується повна форма команди розгалуження). Потім наступне число порівнюється з вмістом комірки результату і найбільше з них вміщується в комірку результату (при цьому використовується скорочена форма команди розгалуження). Таку ідею алгоритму можна використовувати і для знаходження більшого числа з n чисел. Зручніше з n числами працювати, вміщуючи їх у масив. З масивами ми ознайомимося трохи пізніше. Для знаходження меншого числа достатньо замінити знаки порівняння. Мовою Паскаль цей алгоритм виглядає так: Program Example_1; Var a, b, c, r: real; begin readln (a, b, c); {Введення значень a, b, c з клавіатури} if a>=b then r:=a; else r:=b; if r<c; then r:=c; writeln (‘ Найбільше з трьох чисел дорівнює‘, r); End.
ЗВЕРНІТЬ УВАГУ НА ВИКОРИСТАННЯ ОПЕРАТОРА WRITELN. ВІН ВИВОДИТЬ НЕОБХІДНУ ІНФОРМАЦІЮ НА ЕКРАН МОНІТОРА!
Формат команди: writeln (список виведення); Як елемент списку виведення можна використовувати: а) текст – довільний набір ASII-символів, взятий в апострофи; б) константу або константний вираз: writeln (‘5+3=’, 5+3); writeln (‘5+3=’, 8); В обох випадках результатом роботи оператора writeln буде виведення на екран тексту: 5+3=8; в) довільний вираз. У цьому випадку відбувається спочатку обчислення виразу з використанням поточних значень змінних, а потім виведення на екран. Окремим випадком є використання просто імені змінної, як у вищенаведеному прикладі. Запропоновану задачу можна дещо змінити: знайти подвоєне значення більшого з трьох чисел. Тоді виведення можна зробити таким: writeln (‘ Результат задачі‘, 2*r); За замовчуванням мова Паскаль здійснює виведення дійсних чисел на екран у форматі з плаваючою крапкою, тобто числа 2 та 13.5 на екрані матимуть вигляд: 2. 00000000Е+00 1.35000000Е+01 Це важко сприймають учні, тому пропонуємо використовувати форматування виведення дійсних чисел: змінна: число1: число2; де число1 задає загальну кількість позиції виведення; число2 кількість цифр після десяткової крапки. Наприклад, для оператора writeln (r: 8: 2); якщо r=13.914 на екрані буде вісім знаків (тобто 3 пробіли, 2 цифри до крапки та 2 цифри після десяткової крапки). Загальна довжина поля 8, тому попереду додано три пробіли. _ _ _ 13.91 Приклад 2. Складіть алгоритм, що визначає, яка з точок А(х1, у1) або В(х2, у2) знаходиться ближче до початку координат. Обчислення відбувається за формулою: . Алгоритм має вигляд: АЛГ Приклад_2 (дійсн x1, y1, x2, y2, r1, r2) АРГ х1, у1, х2, у2 РЕЗ r1, r2 ПОЧ
ДРУКУВАТИ (“ Яка з двох точок знаходиться ближче до початку координат?“) якщо r1<r2 то ДРУКУВАТИ (“ 1-а точка знаходиться ближче до початку координат “) ДРУКУВАТИ (“ Її відстань= “, r1,,” а відстань 2-ої точки - “,r2) Інакше якщо r2<r1 то ДРУКУВАТИ (“ 2-а точка знаходиться ближче до початку координат “) ДРУКУВАТИ (“ Її відстань= “, r2, “, а відстань 1-ої точки – точки - “, r1) Інакше ДРУКУВАТИ (“ Точки знаходяться на однаковій відстані від початку координат “); ДРУКУВАТИ (“ Ця відстань= “,r1) Все Все КІН
Мовою Паскаль алгоритм має вигляд: Program Example_2; Var X1, Y1, X2, Y2, R1, R2: real; Begin write (‘ Введіть координати 1-ої точки ‘); readln (X1,Y1); write(‘ Введіть координати 2-ої точки ‘); readln (X2, Y2); R1:=sqrt(X1*X1+Y1*Y1); R2:=sqrt(sqr(X2)+sqr(Y2)); if R1<R2 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |