![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Контрольні запитання. 1. Складений оператор і оператор переходу
Begin Begin BEGIN ПЛАН 1. Складений оператор і оператор переходу. 2. Оператор умовного переходу. 3. Оператор вибору. 4. Приклади програм з розгалуженням
. ЛІТЕРАТУРА 1. Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005. – 384 с. 2. Каліон В.А., Черняк О.І., Харитонов О.М. Основи інформатики. Структурне програмування на Паскалі: Практикум: Навч. посіб. – К.: Центр учбової літератури, 2007. – 248 с. 3. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pasсal і Delphi. Навч. посібн. 8-ме вид. – Львів: “СПД глинський”, 2007. – 192 с.
1. Складений оператор і оператор переходу. Складений оператор – це декілька операторів, об’єднаних в одну групу (блок) за допомогою службових слів BEGIN та END. Ці слова називають операторними дужками. Складений оператор має таку структуру: <оператор 1>; <оператор 2>; … <оператор N> END; Складений оператор може бути в будь-якому місці програми, де допускається один оператор. Запис BEGIN END або;; називається порожнім оператором. Приклад. Розглянемо складений оператор Suma:=Suma+Cina; N:=N+1 End; Так можна обчислити, наприклад, суму виторгу та кількість проданого товару. Щоб реалізувати розгалуження і передати керування у потрібне місце, використовують оператор переходу GOTO <мітка> Мітку заздалегідь оголошують у розділі оголошення міток: LABEL<список міток> Якщо мітка оголошена, то в програмі повинен бути такий фрагмент: <мітка>: <оператор>. Задача. Обчислити площу трикутника за трьома відомими сторонами. Програма повинна перевіряти коректність даних. Розглянемо програму. Program Trykutnyk; Label 222; Var a, b, c, Perym, piv, Ploshcha, Nova: real; Begin 222: write (‘Введіть значення сторін’); read (a, b, c); Perym:=a+b+c; Piv:=perym/2; Nova:=piv*(piv-a)*(piv-b)*(piv-c); If Nova>0 then Begin Ploshcha:=sqrt(Nova); Writeln (‘Периметр=’,Perym:8:2,‘ Площа=’,Ploshcha:8:2) End Else Begin Writeln (‘Дані некоректні. Введіть інші’); Goto 222 End End. 2. Оператор умовного переходу. Алгоритм з розгалуженням обов'язково містить в собі хоча б одну умову (як правило, їх набагато більше) і виконується він в залежності від цієї умови. Проста умова – два математичних вирази, між якими стоїть знак порівняння:
Приклади простих умов:
Складена умова – дві або більше простих умови, з’єднаних знаком логічної операції (and, or, xor, not). Прості умови потрібно брати в дужки! Наприклад: (X>0) and (y=2*z) or (z+2=x+y) xor not(x>y) Пріоритет виконання операцій у логічних виразах:
Логічна операція AND (і): складена умова - (проста умова 1) and (проста умова 2) – вірна, якщо вірні обидві простих умови. У інших випадках така складена умова невірна. Операцію and називають логічним множенням. Логічна операція OR (або): складена умова – (проста умова 1) or (проста умова 2) – не вірна, якщо не вірні обидві простих умови. У інших випадках така складена умова вірна. Операцію or називають логічним додаванням. Логічна операція XOR (тільки одне): складена умова – (проста умова 1) xor (проста умова 2) – вірна, при різних значеннях операндів. При однакових значеннях операндів така складена умова невірна. Логічну операцію xor називають „виключаючи або”. Логічний префікс NOT (не): складена умова – not (умова 1) вірна, якщо (умова 1) – невірна. І навпаки, складена умова невірна, якщо (умова 1) вірна. Мовою блок-схем розгалужений алгоритм подається наступним чином:
Повна форма оператора така: IF <умова> THEN <оператор 1> ELSE <оператор 2> Дія оператора. Якщо умова справджується, то виконується оператор 1, якщо ні – то оператор 2. Наприклад. Якщо ціна товару менша від 1000, то ми визначаємо обсяг реалізації М (кількість проданого товару), інакше визначаємо суму виторгу і кількість проданого товару N. Умовний оператор у відповідній програмі буде мати вигляд IF Cina<1000 THEN M:=M+1 ELSE Suma:=Suma+Cina; N:=N+1 End; Тут оператор 1 – це оператор присвоєння М:=М+1, а оператор 2 – складений оператор. Короткий умовний оператор: IF <умова> THEN <оператор 1> Дія оператора: якщо умова справджується, то виконується оператор 1, якщо ні, то оператор 1 не виконується. Вкладені умовні оператори: IF <умова 1> THEN <оператор 1> ELSE IF <умова 2> THEN <оператор 2> ELSE IF <умова 3> THEN <оператор 3> ELSE <оператор 4>; Вкладені умовні оператори використовуються замість декількох неповних операторів: Оператор 1 виконується якщо умова 1 вірна. Оператор 2 виконується якщо умова 1 невірна, а умова 2 вірна. Оператор 3 виконується якщо умова 1 невірна, умова 2 невірна, а умова 3 вірна. Оператор 4 виконується у всіх інших випадках. Переваги використання: виконуються скоріше, останню, найскладнішу умову можна не записувати. Написана вище конструкція на блок-схемі відображається так: 3. Оператор вибору. У стандарті мови оператор вибору має таку структуру: CASE <вираз> OF <список значень 1>: <оператор 1>; … <список значень N>: <оператор N> END; Дія оператора. Якщо значення виразу збігається зі значенням з деякого списку, то виконується відповідний оператор, а інші оператори не виконуються. Список значень може складатися з одного чи декількох елементів. Приклад. Нехай Z – змінна символьного типу, а K, L, M – змінні цілого типу. Розглянемо оператор вибору для підрахунку кількості символів у деякому тексті: CASE Z OF ‘A’: K:=K+1; ‘O’: L:=L+1; ‘B’, ‘C’: M:=M+1 END; Один оператор вибору замінює декілька умовних операторів. Зокрема, повний умовний оператор можна замінити таким оператором вибору: CASE <умова> OF True: <оператор 1>; False: <оператор 2> End; Задача. Нехай населені пункти позначені номерами 1, 2, 3, 4, 5, 6, 7, 8. Вартість одного квитка до конкретного пункту визначається так:
35, якщо =2, 3; CINA = 50, якщо =4; 72, якщо =5, 6; 97 у всіх інших випадках. Скільки коштуватиме m квитків до одного конкретного пункту? Program Vybir; Var k, m, Cina: integer; Begin Write (‘Введіть кількість квитків та номер пункту: ’); Read (m, k); Case k of 1: cina:=22; 2, 3: cina:=35; 4: cina:=50; 5, 6: cina:=72 Else cina:=97 End; Writeln (m, ‘квитків до пункту’, k, ‘коштують’, m*cina) End. 4. Приклади програм з розгалуженням Умова: Дано значення цілих величин x та y. Знайти: Program Example_1; Uses crt; Var x,y,Max,Min,Rezultat:integer; Begin Clrscr; {Очищення екрану} Write(‘Введіть значення x та y: ’); Readln(x,y); If x<y {Знаходження максимуму та мінімуму} Then Begin Max:=y; Min:=x; end Else Begin Max:=x; Min:=y; End; Rezultat:=sqr(Max)-sqr(Min); Writeln(‘Резудьтат обчислень: ’,Rezultat:8:2); Readkey; {Затримка зображення на екрані до натискання будь якої клавіші} End. Умова: Квадратний многочлен заданий коефіцієнтами a, b, c, де а<>0. Визначити, чи корені відповідного рівняння є парними числами. Для розв'язання цієї задачі необхідно нагадати дітям алгоритм знаходження коренів квадратного рівняння: 1) обчислити дискримінант за формулою D = b^2 - 4ac; 2) якщо ми отримали від'ємне число, то коренів для розв'язку квадратного рівняння з даними коефіцієнтами a, b, c не існує; 3) якщо дискримінант не від'ємний, то корені рівняння знаходяться за наступними співвідношеннями: Парність коренів можна визначити, використовуючи операцію знаходження залишку від цілочисельного ділення на 2 (парне число при цьому у залишку має 0, а непарне - 1). Зверніть увагу тільки на те, що парність або непарність можна визначити тільки для цілих чисел. Program Example_2; Uses crt; Var a,b,c,D,X1,X2:real; {a,b,c – коефіцієнти квадратного рівняння; D – дискримінант; X1, X2 – корені квадратного рівняння} Begin Clrscr; {Очищення екрану} Write(‘Введіть коефіцієнти квадратного рівняння a,b,c: ’); Readln(a,b,c); If a=0 Then writeln(‘Помилка вхідних даних’) Else Begin D:=sqr(b)-4*a*c; If D<0 Then writeln(‘Рівняння не має розв”язків’) Else Begin X1:=(-b-sqrt(D))/(2*a); X2:=(-b+sqrt(D))/(2*a); Writeln(‘Корені рівняння:’); Writeln(‘X1=’,X1:8:2); Writeln(‘X2=’,X2:8:2); If (round(X1)<>X1)or(round(X2)<>X2) Then writeln(‘Корені рівняння не є цілими числами.’) else if (round(X1) mod 2 =0) and (round(X2) mod 2 =0) then writeln(‘Корені рівняння парні’) else writeln(‘Корені рівняння непарні’); End; End; Readkey; {Затримка зображення на екрані до натискання будь якої клавіші} End. 1. Для чого використовують складений оператор? 2. Для чого використовують оператор переходу? 3. Чим проста умова відрізняється від складеної? 4. Який пріоритет виконання операцій у логічних виразах? 5. Які логічні операції ви знаєте? 6. Який формат умовного оператора? 7. Який формат оператора вибору?
Дата добавления: 2014-01-11; Просмотров: 529; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |