Студопедия  
Главная страница | Контакты | Случайная страница

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

Алгоритм розв’язання задачі

Читайте также:
  1. C. Ветвящихся алгоритмов
  2. CТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ
  3. III. Алгоритмическая конструкция ветвление и ее использование в языке Visual Basic
  4. IV. Алгоритмическая конструкция цикл и ее использование в языке Visual Basic
  5. IV. Задачі
  6. IV. Задачі
  7. IV[17]. КАК ИЗУЧАТЬ? АЛГОРИТМ ДЕЯТЕЛЬНОСТИ
  8. LINUX|| Алгоритм замещения страниц в ОС Linux.
  9. Алгоритм
  10. Алгоритм

3.1. Розглянемо першу задачу. Побудуємо блок-схему та запишемо процедуру реалізації даної задачі. Слід відмітити, що задача реалізується за допомогою вкладених циклів. Змінна циклу і є змінноюзовнішнього циклу, а змінна циклу j – внутрішнього циклу.

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

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

procedure mas (var a: arr);

var i,j: integer;

begin

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin

a[i,j]:=(3+i)/(i+j)*sqrt(exp(3*ln(i))+sqr(j))+exp((i-j)*ln(2));

write('a[',i,',',j,']=',a[i,j]:6:4,' ');

end;

writeln

end;

end;

Дана процедура формує матрицю та виводить на екран елементи матриці по стрічках. Тіло процедури реалізовано за допомогою операторів циклу з параметром, оскільки крок змінних циклу дорівнює 1.

3.2. Складемо блок-схему та процедуру реалізації другої задачі, посилаючись на дані першої задачі. Використовуючи елементи матриці обчислити елементи вектора (і =1, 2,...5), як суму елементів головної діагоналі та п’ятого стовпця матриці.

3.2.1. Блок-схема формування вектора

3.2.2. Процедура реалізації підпрограми формування вектора

Procedure vector (a: arr; var x: array of real);

var i,j: integer;

begin

for i:=1 to 5 do

begin

x[i]:=a[i,i]+a[i,5];

write ('x[',i,']= ',x[i]:3:3,' ');

end;

end;

Дана процедура формує вектор та виводить на екран вектор у вигляді стрічки.

3.3. Складемо блок-схему та процедуру реалізації третьої задачі посилаючись на дані першої та другої задачі. Обчислити значення функції

3.3.1. Блок-схема обчислення функції

3.3.2. Процедура обчислення функції

procedure func(x:array of real;var g:real);

var k: integer; p: real;

begin

g:=0; p:=1;

for i:=1 to 5 do

begin

for k:=1 to i do p:=p*x[k]/(k+exp(k*ln(2)));

g:=g+sqr(x[i])+p;

end;

writeln('G= ',g:6:4);

readln

end;

 

 

3.5. Запишемо програму розв’язку задач першої частини, опираючись на раніше створені процедури

PROGRAM kurs6;

uses crt;

type arr=array [1..5,1..5] of real;

type xrr=array [1..5] of real;

var a: arr;

x: xrr;

si, g: real; i,j: integer;

procedure mas (var a: arr);

var i,j: integer;

begin

for i:=1 to 5 do

begin

for j:=1 to 5 do

begin a[i,j]:= (3+i)/(i+j)*sqrt(exp(3*ln(i))+sqr(j))+exp((i-j)*ln(2));

write('a[',i,',',j,']=',a[i,j]:6:4,' ');

end;

writeln

end; end;

Procedure vector (a: arr; var x: xrr);

var i,j: integer;

begin

for i:=1 to 5 do

begin

x[i]:=a[i,i]+a[i,5];

write ('x[',i,']= ',x[i]:3:3,' ');

end; end;

procedure func(x: xrr;var g:real);

var k: integer; p: real;

begin

g:=0;p:=1;

for i:=1 to 5 do

begin

for k:=1 to i do p:=p*x[k]/(k+exp(k*ln(2)));

g:=g+sqr(x[i])+p;

end;

writeln('G= ',g:6:4);

end;

procedure simpson(x: xrr; var si: real);

var i,k:integer; h,z,a,b,f,f1:real;

begin

writeln('a,b'); readln(a,b);

h:=(b-a)/100; z:=b;

f1:=(x[1]+x[2]*z+x[3]*z*z +x[4]*z*z*z+x[5]*exp(4*ln(z)))/(exp(z)+1.5);

k:=1; z:=a;

f:=(x[1]+x[2]*z+x[3]*z*z +x[4]*z*z*z+x[5]*exp(4*ln(z)))/(exp(z)+1.5);

si:=f+f1;

for i:=1 to 99 do

begin

z:=z+h;

f:=(x[1]+x[2]*z+x[3]*z*z +x[4]*z*z*z+x[5]*exp(4*ln(z)))/(exp(z)+1.5);

si:=si+(3+k)*f;

k:=-k;

end;

si:=si*h/3;

writeln('integral=',si);

readln

end.




Дата добавления: 2015-01-29; просмотров: 37 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав