РефератыАстрономияАлАлгоритми і програми з розгалуженнями

Алгоритми і програми з розгалуженнями

Тема: Алгоритми і програми з розгалуженнями.


План.


1. Оператор безумовного переходу (goto).


2. Умовні оператори.


3. Складена команда.


Література: Я.М. Глинський. Інформатика. Алгоритмізація і програмування. Книжка 1. с. 67-85.


1 Оператор безумовного переходу (goto).


Команду переходу використовують щоб змінити порядок виконання команд у програмі.



Вона має такий вигляд:


goto – перекладається “перейти на”, де “мітка” – це адрес команди (оператора), на який потрібно перейти. Мітка може бути числом від 0 до 9999 або ідентифікатор, після якого є символ (:).


Приклади міток: 10:, 222:, m1:, alpha:. Усі мітки можна оголосити у розділі оголошення міток на початку програми так:



Наприклад:


label 10:, 222:, m1:, alpha:.


Задача

Скласти програму обчислення функції:



для трьох різних значень x = 3,4,5 з клавіатури з використанням команди переходу goto.


Програма:


program FUN_Y;


label 10;


var x,y: real;


begin


10: write (’введіть значення х:’);


read ln (x);


y: = (3*5 sin (x) + cos (2*x)/(3.5-4*abs(x));


write ln (x:6:2, y:6:2)


goto 10;


end.


2. Умовні оператори.


У повсякденній діяльності часто доводиться аналізувати різноманітні ситуації, умови і залежно від них приймати ті чи інші рішення.


Команди розгалуження або умовні оператори змінюють порядок виконання дій у алгоритмі в залежності від виконання чи невиконання певних умов. Розгалуження бувають декількох видів. Найпростішим видом є “неповне розгалуження”.


Неповне розгалуження
реалізується за допомогою команди if (якщо):



Виконання команди
: <команда> може бути один оператор або група операторів. Якщо виконується умова (в блок-схемі – вітка “так”), то виконається оператори чи група операторів після слова then. Якщо ж умова не виконується (в блок-схемі – вітка “ні”), то ця команда не буде виконуватися і буде виконуватися наступний після if оператор (команда).


Умова – це логічний вираз, які бувають прості і складені.


Простий логічний вираз – це два арифметичні вирази, з’єднані символом відношення (порівняння).


У Паскалі символи відношень записуються так:>-більше,<менше,


>= - більше або дорівнює (не менше), <= - менше або дорівнює (не більше),


= - дорівнює, < > - не дорівнює.


Наприклад: x<5; x+y>=2*x; x< >y.


Складені логічні вирази – це прості логічні вирази, до яких застосовані логічні операції not (не), and (і), or (або).


Наприклад. Побудувати вираз, який буде використовуватися для визначення студентів, які не отримали оцінки “2” з інформатики (тобто отримали інші оцінки). Для позначення оцінки використаємо числову змінну ocinka. Шуканий вираз можна записати так:


А). not(ocinka=z) або ocinka< >2.


Приклад.


Записати подвійну нерівність


0<x<3 для дійсних х можна так: (x<0) and (x<3).


Примітка. Прості логічні вирази, які входять у складені, записують у круглих дужках.


Приклад.



На мові Паскаль таку складену умову можна записати так:


x< >4 or x< >-5.


Задача.
Скласти програму, де у змінні а та b ввести два цілих числа. Третій змінній с присвоїти значення більшого з-поміж уведених. Якщо числа рівні, то змінні с присвоїти значення будь-якого з чисел.


program twonumbers;


var a,b, c: integer;


begin


write (’Введіть два числа’);


read ln(a,b);


if a>b then c:=a;


if a<b then c:=b;


if a=b then c:=a;


write ln (‘c=’, c); read ln


end.


Задача.
Увести будь-яке значення х і обчислити значення функції у, яка задана формулою



program F1


var x,y: real;


begin


write (‘Введі

ть х:’);


read ln (x);


if x>0 then y:=x+3 else y:=x-5;


write ln (‘y=’,y);


read ln


end.


Повне розгалуження.


Повне розгалуження реалізують за допомогою повної команди розгалуження if.






If<умова>then<команда 1>else<команда 2>;


Виконання команди:


Якщо умова виконується (в блок-схемі – вітка “так”), то виконується команда 1 (або серія команд 1), якщо ні – то команда 2 (серія команд 2).


Зауваження.
На місці команди 1 та команди 2 може бути теж команда розгалуження if.


Приклад. Визначимо більше число з-поміж двох чисел:


If a>=b then c:=a else c:=b;


де a i b – два числа, а с – проміжна змінна куди заносимо більше з 2-х чисел.


Оператор вибору case.


Якщо потрібно здійснити вибір з великої кількості варіантів, зручно використовувати оператор (команду) вибору case:






case <вираз-селектор>of


<список 1>:<команда 1>;


<список 2>:<команда 2>;



<список n>:<команда n>;


else <команда>


end;




Виконання оператора:


Якщо значення виразу збігається зі значенням з найбільшого списку чи діапазону, то виконується відповідна команда, що записана після двокрапки “:” і на цьому виконання команди case закінчується, якщо ні, то виконується команда після слова else. Складової частини else <команди> може бути.


Задача.
У багатьох університетах поточні знання студентів протягом семестру оцінюють за стобальною системою. Потім бали переводять в оцінки: <<відмінно>>,<<добре>>,<<задовільно>>,<<незадовільно>>.


Оцінки визначають так:


Бали Оцінка


88-100 <<відмінно>>


71-87 <<добре>>


50-70 <<задовільно>>


0-49 <<незадовільно>>


Скласти програму, яка для конкретного студента (name) і його кількості балів (bal) виводить його оцінку (mark).


program Marks;


var bal: integer; name, mark: string;


begin


write (‘Введіть прізвище’);


readln (name);


write (‘Введіть бали’);


readln (bal);


case bal of


88…100: mark:= ‘відмінно’;


71…87: mark:= ‘добре’;


50…70: mark:= ‘задовільно’;


0…49: mark:= ‘незадовільно’;


else mark: = ‘0’


end;


if mark < > ‘0’ then writeln (name:15, mark:15)


else writeln (‘помилка під час введення кількості балів’):


end.


або інший приклад:


case k of


1; cina:=22,


2,3: cina:=35;


4: cina:=50;


else cina:=97


end;


3. Складена команда.


Складена команда – це команда, в якій декілька команд об’єднано в одну за допомогою службових слів begin та end:






begin


<команда 1>;


<команда 2>;



<команда n>;


end;




Задача. Скласти програму, яка дає довідку про назву столиці (St) та кількість населення (nas, у мільйонах) деякої країни (kr) з такого переліку: Угорщина, Італія, Україна.


program Countries;


var kr, st: string; nas: integer;


begin


write (‘Введіть назву країни’);


readln (kr);


if kr = ‘Угорщина’ then


begin


st:= ‘Будапешт’;


nas:=11


end;


if kr = ‘Італія’ then


begin


st:= ‘Рим’;


nas:=60


end;


if kr = ‘Україна’ then


began


st:= ‘Київ’;


nas:= 48


end;


writeln (‘Столиця - ’, st, ‘населення-’, nas, ‘млн осіб’)


end.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Алгоритми і програми з розгалуженнями

Слов:1052
Символов:9110
Размер:17.79 Кб.