WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Програмування основних алгоритмічних структур(пошукова робота) - Реферат

Програмування основних алгоритмічних структур(пошукова робота) - Реферат

трикутника}
s:=sqrt(p*(p-a)*(p-b)*(p-c)); {обчислення площі за формулою Герона}
Лінійним називається алгоритм, у якому оператори виконуються в порядку їх слідування в програмі. Для запису таких алгоритмів достатньо наведених операторів. Розглянемо приклади запису лінійних алгоритмів.
Задача 1 Два робітники виконували спільну роботу протягом місяця на умовах погодинної оплати праці. Перший відпрацював t1годин, а другий - t2 годин. Вартість однієї години першого робітника становить p1 грн., другого - p2 грн. Обчислити середнюзаробітну плату робітників.
Розв'язання. Середня заробітна плата обчислюється за формулою:
pc=(p1 * t1 + p2 * t2)/(t1 + t2)
Програма для обчислень має вигляд:
program zarplata;
var p1,p2:real;
t1,t2:integer;
pc:real;
x:real;
y:integer;
begin
write('введіть кількість відпрацьованих годин робітниками');
readln(t1,t2);
write('введіть вартості годин:');
readln(p1,p2);
x:=p1*t1+p2*t2;
y:=t1+t2;
pc:=x/y;
writeln('Середня зарплата становить pc=',pc:7:2,'грн');
end.
2. Умовні оператори; запис розгалужень.
Лінійні алгоритми зустрічаються на практиці рідко. В більшості випадків обчислення носять розгалужений або циклічний характер. При цьому оператори об'єднуються в групи, які виконуються як один оператор. Для цього призначений складений оператор. Складений оператор використовується також в тому випадку, якщо необхідно виконати декілька операторів, а синтаксис мови ПАСКАЛЬ припускає наявність лише одного оператора. Складений оператор може містити довільну кількість операторів, відділених один від одного крапкою з комою. Отже, він являє собою сукупність операторів мови ПАСКАЛЬ, об'єднаних операторними дужками begin та end.
ПРИКЛАД
begin
readln(x,y);
z:=x+y;
writeln('z=',z);
end;
Операторні дужки не є операторами, тому символ ";" перед службовим словом end не обов'язковий. Складений оператор використовується в умовних операторах та операторах циклу, які будуть розглянуті далі.
Умовний оператор дозволяє виконувати один з декількох операторів, що входять у його склад, у залежності від виконання певної умови. До умовних відносять оператори if та case.
Оператор умовної передачі управління if призначений для вибору однієї з двох альтернатив в залежності від значення логічного виразу.
Вид оператора:
if логічний вираз then оператор1 else оператор2
Якщо вираз приймає значення true, то виконується оператор1 (гілка then), у противному випадку, якщо вираз приймає значення false, то виконується оператор2 (гілка else). Після цього виконується наступний за оператором if оператор.
В будь-якому випадку виконується лише один оператор із вказаних у гілках . Неможлива ситуація, коли виконується або обидва оператори, або не виконується жоден із них.
Якщо по якійсь із гілок має бути декілька операторів, вони повинні бути об'єднані операторними дужками у складений оператор.
Якщо одна із гілок не містить ніяких дій, то можна скористуватись скороченою формою оператора:
if логічний вираз then оператор
Якщо вираз приймає значення true, то виконується оператор (гілка then), у противному випадку ця гілка пропускається (обходиться ). Далі виконується наступний за цим оператор.
ПРИКЛАДИ:
1. Пошук більшого із двох значень: z=max(x,y)
if x>y then z:=x else z:=y;
2. Впорядкування значень двох змінних за зростанням
if x>y then
begin
z:=x; x:=y; y:=z
end;
"Розширенням" оператора if є оператор варіанта case. Він призначений для вибору однієї з декількох альтернатив в залежності від значення селектора варіанта.
Вид оператора
Case селектор of
мітка1: оператор1;
мітка2: оператор2;
. . .
міткаN: операторN;
end;
Оператор case складається з виразу (селектора) і списку операторів, кожному з який передує мітка. Ці мітки називаються мітками варіанта і вони не повинні оголошуватись у розділі опису міток програми. При цьому мітки варіанта повинні мати той же тип, що і селектор. З визначення оператора case випливає, що в кожному випадку виконується лише один оператор - той, мітка якого дорівнює поточному значенню селектора. Якщо жодна з міток не дорівнює поточному значенню селектора, то ніякі оператори не виконуються.
Оператор варіанта має ще одну форму:
Case селектор of
мітка1: оператор1;
мітка2: оператор2;
. . .
міткаN: операторN;
else оператор(N+1);
end;
Цей оператор варіанта відрізняється від попереднього тим, що, якщо жодна з міток не дорівнює поточному значенню селектора, то виконується оператор, що слідує за зарезервованим словом else. Наявність альтернативи else в операторі case є розширенням стандартної мови ПАСКАЛЬ. Мітка оператора case може складатися з довільної кількості констант або діапазонів, відділених один від одного комами. Слідом за міткою ставиться двокрапка. Діапазон записується у виді двох констант, відділених один від одного роздільником "..". Тип констант повинний збігатися з типом селектора. Оператор, записаний слідом за міткою оператора case, виконується в тому випадку, якщо значення селектора дорівнює однієї з констант або потрапляє в межі одного з зазначених діапазонів.
У ролі типу селектора можуть використовуватись всі типи, за винятком дійсного.
ПРИКЛАДИ:
1. case i of
1: write('понеділок');
2: write('вівторок');
3: write('середа');
4: write('четвер');
5: write('п'ятниця');
6: write('субота');
7: write('неділя');
end;
2.case i of
1..5: write('робочий день');
6,7: write('вихідний');
end;
Розглянемо приклад запису розгалуженого алгоритму.
Задача 3. Розмір відрахувань на заробітну плату становить 1% з суми, що не перевищує 150 грн, і 2% у противному випадку. Програма має вигляд:
program vidrah;
var s:integer;
x:real;
begin
write('введіть значення фонду зарплати s:');
readln(s);
if s<=150 then x:=s*0.01 else x:=s*0.02;
writeln('відрахування становлять x=',x:7:2, 'грн')
end.
3. Оператори циклу; запис циклів.
Для організації циклічних процесів призначені оператори повтору. Вони вказують на те, що певну групу операторів необхідно виконати декілька разів. Ця група операторів називається тілом циклу. Якщо кількість повторень заданої групи операторів відома заздалегідь, то в такій ситуації цілком
Loading...

 
 

Цікаве