АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Використання допоміжних алгоритмів у розв’язуванні задач

Читайте также:
  1. I. ГИМНАСТИКА, ЕЕ ЗАДАЧИ И МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ
  2. I. ЗАДАЧИ ПЕДАГОГИЧЕСКОЙ ПРАКТИКИ
  3. I. Решение логических задач средствами алгебры логики
  4. I. Розв’язати задачі
  5. I. Ситуационные задачи и тестовые задания.
  6. II. Основные задачи и функции
  7. II. Решение логических задач табличным способом
  8. II. ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ ВОИ
  9. II. Цель и задачи государственной политики в области развития инновационной системы
  10. III. Решение логических задач с помощью рассуждений
  11. III. Цели и задачи социально-экономического развития Республики Карелия на среднесрочную перспективу (2012-2017 годы)
  12. IV. Определите, какую задачу взаимодействия с практическим психологом поставил перед собой клиент.

Приклад 1. Скласти алгоритм обчислення значення функції y=|2x+1| - |3x+7|, використовуючи допоміжний алгоритм обчислення модуля дійсного числа.

Основний алгоритм завдання: Допоміжний алгоритм:
АЛГ Функція (дійсн х, у) АРГ х РЕЗ у ПОЧ дійсн a, b ABS(2x+1, a) ABS(3x+7, b) y:=a – b ДРУКУВАТИ у КІН АЛГ ABS (дійсн x, r) АРГ х РЕЗ r ПОЧ якщо то r:=x інакше r:= - x все КІН

 

 

Можна було б увести ще дві проміжні комірки, наприклад: дійсн m і дійсн n. При цьому m:=2x+1, a n:=3x+7, тоді виклик алгоритму ABS можна було б записати так: ABS(m, n) і ABS(n, b).

Процедура мовою Паскаль:

Procedyre < ім’я процедури > [(опис формальних параметрів >]);

< опис локальних констант та змінних >;

Begin

< серія >;

end;

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

Алгоритм мовою Паскаль виглядатиме так:

Program Modul_proc;

Procedyre Abs (a:real; var b:real);

Begin

if a<0

then b:= - a

else b:=a;

end;

var x, y:real; r:real;

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

readln (x);

abs(2*x+1, y); abs(3*x+7, - 2); y:=y+2;

writeln (‘y=’, y:8:2);

end.

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

Допоміжний алгоритм на виході дає один результат, тому його краще записати як алгоритм-функцію, і тоді розв’язання завдання виглядатиме так:

 

 

Основний алгоритм завдання Допоміжний алгоритм-функція
АЛГ Функція (дійсн х, у) АРГ х РЕЗу ПОЧ y:=ABS(2x+1) – ABS(3x+7) ДРУКУВАТИ у КІН АЛГ дійсн ABS(дійсн х) ПОЧ якщо то ABS:=x інакше ABS:= - x все КІН

 

Мовою Паскаль функція виглядає так:

Function < ім’я функції >[(< опис формальних параметрів >)]:< тип значення, що повертається >;

< опис локальних змінних та констант >;

Begin

< серія >

< ім’я функції >:=< вираз >;

end;

 

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

 

Алгоритм мовою Паскаль:

Program Modul_fune;

Function Abs (a: real): real;

Begin

if a<0

then abs:= - a

else abs:=a;

end;

var x, y: real;

Begin

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

readln (x);

y:=abs(2*x+1) – abs(3*x+7);

writeln (‘y=’, y:8:2);

end.

 

Приклад 2. Скласти алгоритм обчислення значення функції де хj, yi елементи, відповідно масивів X[1:n] i Y[1:n], використовуючи допоміжний алгоритм-функцію обчислення добутку елементів масиву.

Основний алгоритм завдання: Допоміжний алгоритм-функція:
АЛГ f (ціл n, дійсн таб X[1:n], Y[1:n], дійсн S) АРГ n, X, Y РЕЗ S ПОЧ ціл X, j S:=0 для j від 1 до n пц S:=S+X[j]*fp(j, Y) кц ДРУКУВАТИ S КІН   АЛГ дійсн fp (ціл m, дійсн таб A[1:m]) ПОЧ ціл i, p р:=1 дляі від 1 до m пц p:=p*A[i] кц fp:=p КІН

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)