Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2017-12-21 | 145 |
5.00
из
|
Заказать работу |
|
|
исходные данные (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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!