Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет. вказ. Программирование (2 сем).doc
Скачиваний:
24
Добавлен:
26.11.2018
Размер:
2.57 Mб
Скачать

Лабораторна робота №2 Програмування алгоритмів, що розгалужуються

Мета роботи. навчитися правильно використовувати умовний оператор IF; навчитися складати програми рішення задач на алгоритми, що розгалужуються.

Алгоритм називається таким, що розгалужується, якщо він містить кілька галузей, що відрізняються одна від одної змістом обчислень. Вихід обчислювального процесу на ту чи іншу галузь алгоритму визначається вихідними даними задачі.

Перед виконанням роботи необхідно ознайомиться з правилами запису логічних виражень, операцій порівняння, операторів IF, CASE, READ.

Приклад. Задано дійсне число а. Для функцій f(a), графік якої представлений на малюнку, обчислити f(a).

Етапи рішення задачі:

  1. Математична модель: функція обчислюється по наступній формулі

  2. Складемо схему алгоритму

Деталізуємо блок "Визначаємо до якого проміжку відноситься x" і додамо блоки обчислення функції на кожному проміжку:

Подальша деталізація не потрібна. Переводимо блок-схему на мову Паскаль.

Program example2;

var a, f: real;

begin

write('Уведіть a> '); readln(a);

if a<-1 then f:= -a-1 else

if (a>=-1) and (a<0) then f:= a+1 else

if (a>=0) and (a<1) then f:= -a+1 else f:= a+1;

writeln('F= 'f);

end.

Контрольні питання

  1. Які команди текстового редактора ви знаєте?

  2. Що таке блок тексту і як його виділити?

  3. Які оператори використовуються для програмування розгалужень?

  4. Як виконуються оператори переходу?

  5. Яку з функцій: Sin(x), Abs(x), Trunc(x) можна замінити умовним оператором if x<0 then x := -x?

Задачі.

Для функцій f(х) обчислити f(a), для заданого дійсного числа а.

    1. З'ясувати, чи існує трикутник з заданими довжинами сторін x, y, z.

    2. Розвязати квадратне рівняння ах2 + bx + c = 0.

Лабораторна робота №3

Програмування циклічних алгоритмів

Мета роботи. Закріпити практичні навички роботи із системою Borland Pascal, навчитися правильно використовувати різні оператори циклів; навчитися складати програми рішення задач з використання циклічних структур.

Алгоритм називається циклічним, якщо він містить багаторазове виконання тих самих операторів при різних значеннях проміжних даних. Число повторень цих операторів може бути задане в явній (цикл із відомим заздалегідь числом повторень) чи неявної (цикл із невідомим заздалегідь числом повторень) формі.

Перед виконанням роботи необхідно вивчити різні схеми організації циклів і оператори FOR, WHILE, REPEAT.

Приклад. Знайти суму ряду з точність до e.

Запишемо програму мовою Паскаль.

Program example3;

var k,a,n:integer; s,e,f,x:real;

begin

write('Уведіть точність обчислення e=');

readln(e);

write('Уведіть змінну ряду |x|<1, |x|=');

readln(x);

s:=0; k:=0; n:=1;

repeat

if k=0 then f:=x else

for a:=1 to k do

begin

n:=n*a;

if x<0 then f:=-exp((2*k+1)*ln(abs(x)))/n*(2*k+1)

else f:=exp((2*k+1)*ln(abs(x)))/n*(2*k+1);

s:=s+f;

end;

k:=k+1;

until abs(f)<e;

writeln;

writeln('сума ряду s=',s:11:9, '':10,'кількість ітерацій k=',k);

readkey;

end.