Файл, содержащий Файл, содержащий — КиберПедия 

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Файл, содержащий Файл, содержащий

2017-12-21 144
Файл, содержащий Файл, содержащий 0.00 из 5.00 0 оценок
Заказать работу

исходные данные (fread.dat): результаты вычислений(fwrite.dat):

 

5 n Таблица y(x)

2.5 a x y

0.5 x1 0.500 0.250

1.2 x2 1.200 1.440

2.5 x3 2.500 6.250

3.2 x4 3.200 4.200

3.5 x5 3.500 4.500

 

Функции в языке Pascal

 

Функции в языке Pascal - это программные единицы (подпрограммы), предназначенные для вычисления значения функции одной или нескольких переменных [Л1, стр. 64].

Они могут помещаться в рабочей программе или в библиотеке (модуле).

Заголовок в подпрограмме - функции имеет вид:

 

function имя-функции (список формальных параметров);

 

где список формальных параметров - это список переменных, являющихся исходными данными (аргументами) для вычисления значения функции с указанным в заголовке именем.

Для обращения к подпрограмме–функции в рабочей программе нужно в каком- либо операторе присваивания записать имя функции, а в скобках указать список фактических параметров, в качестве которых могут быть переменные или константы, соответствующие по типу, количеству и порядку расположения списку формальных параметров.

 

Пример 22. Вычислить корень алгебраического уравнения f(x)=0 методом половинного деления на интервале [a,b] с точностью e.

Пусть нужно решить уравнение x2 - 5 = 0 и вывести на экран приближенное значение корня x, значение функции f(x ), количество последовательных приближений n.

Пусть известно, что в интервале [2,3] имеется единственный корень.

Будем выполнять расчеты при различных значениях e.

В данном примере поместим подпрограмму - функцию в рабочую программу.

В программе будем использовать следующие обозначения для имен переменных: t – середина интервала [a,b], fa – значение f(a), ft - значение f(t), eps- значение e.

 

Program Primer22;

var a, b, eps, t, x, fa, ft: real;

n: integer;

function f(x: real): real; {подпрограмма-функция f(x)}

begin

f:=x*x-5;

end;

begin writeln(‘a, b, eps’);

readln(a, b, eps);

n:=0;

fa:=f(a); {обращение к подпрограмме-функции f(x) при x=a}

while abs(b-a) > eps do

begin

t:=(a+b)/2;

n:=n+1;

ft:=f(t); {обращение к подпрограмме-функции f(x) при x=t}

if (fa*ft) < 0 then b:=t else begin a:=t; fa:=ft; end;

end;

x:=(a+b)/2;

writeln(‘x = ’, x:5:3, ‘ f(x) = ’, f(x):5:3, ‘ n = ’, n:3);

end.

 

Контрольные расчеты

Исходные данные Результаты вычислений
a b e x f(x) n
    0.01 2.23828 0.0099  
    0.001 2.23583 -0.001  
    0.00001 2.23605 -0.00006  

 

Примечание.

Если x является приближенным значением корня уравнения, то f(x) ≈ 0.

 

 

Процедуры в языке Pascal

 

Процедуры в языке Pascal - это программные единицы (подпрограммы), которые могут помещаться в рабочей программе или в библиотеке (модуле) [Л1, стр. 61-64].

Заголовок в подпрограмме - процедуре имеет вид:

Procedure имя-процедуры (список формальных параметров);

где список формальных параметров - это список параметров-значений и параметров–переменных, являющихся исходными данными и результатами вычислений соответственно.

Для обращения к подпрограмме–процедуре в рабочей программе нужно записать имя процедуры, а в скобках указать список фактических параметров, в качестве которых могут быть параметры-значения и параметры–переменные,соответствующие по типу, количеству и порядку расположения списку формальных параметров.

Пример 23. Даны матрицы A, B. Вычислить матрицу C=A+B. Элементы матрицы С вычисляются по формуле: cij = aij + bij.

 

Программа

 

Program prim23;

const m=2;

n=2;

type matr=array[1..m,1..n] of real;

var i,j:integer;

a,b,c:matr;

procedure readmatr(var x:matr); {процедура ввода матрицы}

begin

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;

begin

writeln('Ввести матрицу a');

readmatr(a); {обращение к процедуре ввода матрицы a(m,n)}

writeln('Ввести матрицу b');

readmatr(b); {обращение к процедуре ввода матрицы b(m,n)}

writeln('Матрица с');

for i:=1 to m do

begin

for j:=1 to n do

begin

c[i,j]:=a[i,j]+b[i,j];

write(c[i,j]:5:2,' ');

end;

writeln;

end;

end.

 

Исходные данные Результаты

 

Матрица a Матрица b Матрица c

-5.6 7.5 8.2 1.0 2.60 8.50

3.2 4.0 -8.1 9.9 -4.90 13.90

Пример 24. Переписать все отрицательные элементы матриц A и B в одномерный массив Z.

 

Программа

 

Program prim24;

type

mas1=array[1..50] of real;

mas2=array[1..5,1..5] of real;

var

a,b: mas2;

z: mas1;

m1,n1,m2,n2,i,j,k: integer;

procedure vvod(var x:mas2;m,n:integer); {процедура ввода матрицы}

begin

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;

procedure negmassiv(x:mas2;m,n:integer;var p:integer;var s:mas1); {процедура,

переписывающая отрицательные элементы

матрицы в одномерный массив}

begin

for i:=1 to m do

for j:=1 to n do

if x[i,j]<0 then

begin

p:=p+1;

s[p]:=x[i,j];

end;

end;

begin

writeln('Ввести размерность матрицы a');

readln(m1,n1);

writeln('Ввести матрицу a(', m1, ',', n1, ')');

vvod(a,m1,n1); {обращение к процедуре ввода матрицы a(m1,n1)}

writeln('Ввести размерность матрицы b');

readln(m2,n2);

writeln('Ввести матрицу b(', m2, ',', n2, ')');

vvod(b,m2,n2); {обращение к процедуре ввода матрицы b(m2,n2)}

k:=0;

negmassiv(a,m1,n1,k,z); {обращение к процедуре записи отрицательных

элементов матрицы a(m1,n1) в массив z}

negmassiv(b,m2,n2,k,z); {обращение к процедуре записи отрицательных

элементов матрицы b(m2,n2) в массив z}

writeln(' Массив z');

for i:=1 to k do

writeln('z[',i,']=',z[i]:5:1);

end.

 

Исходные данные


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.