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

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Pascal Функции пользователя 
Автор Сообщение
Администратор
Аватара пользователя

Регистрация: 03.11.2007
Сообщения: 559
Откуда: Украина
Специальность:

Репутация: 6 [ ? ]
Сообщение Pascal Функции пользователя
Методом итераций с точностью ε найти корень уравнения f(x)=0:



Обои для рабочего стола, 1024х768

Тема: Функции пользователя
Примеры программ, комментарии
Программа 6
Методом итераций с точностью ε найти корень уравнения f(x)=0:

Начальное значение корня: 0. Использовать функцию.
Математическое решение
Приводим исходное уравнение к виду: x=ρ(x)
x1=ρ(x0)
x2=ρ(x1)
x3=ρ(x2)
. . .
xn=ρ(xn-1)
Итерационный поиск корня завершается, если выполнилось условие
| xn – xn-1 | < ε
Алгоритм в виде диаграммы действий



екст программы
PROGRAM Prg6;
{ http://nataliya.kiev.ua }
const x:real=0;
var e:real;
function ro(x:real):real;
begin
ro:=sin(x)/2+1;
end;
function main(x,e:real):real;
begin
repeat x:=ro(x)
until abs(RO(X)-X)
main:=x;
end;
begin
write('E=');
readln(e);
writeln('x=',main(x,e):0:10);
readln;
end.

Результат работы программы
E=0.0000001
x=1.4987011260

E=0.1
x=1.4207354924

E=0.0001
x=1.4986953555

E=0.001
x=1.4985408844
Теория к программе
Процедуры и функции пользователя
Процедура - независимая именованная часть программы, предназначенная для многоразового выполнения определенных действий.
Содержит заголовок и тело. Внутренняя структура совпадает с структурой программы. После того, как процедура описана, она может быть многократно вызвана из любой части программы. После выполнения определенных в процедуре действий, управление передается следующему за вызовом процедуры оператору. Имя процедуры в операторной части программы есть отдельный оператор, поэтому вызов процедуры не может помещаться в выражениях как операнд.
Описание процедуры
Структура:
<заголовок>
<локальные описи> - может содержать опись других процедур и функций
<операторна часть>
<заголовок>:
procedure <имя-идентификатор>[(<список параметров>)];
<имя-идентификатор> - отвечает общим правилам образования идентификаторов;
<операторна часть> - должна содержать один или несколько операторов;
<список параметров> включает:
1) параметр-значение:
<идентификатор>:<тип> - обрабатывается как локальная переменная по отношению к данной функции, то есть измененное в теле функции значение этого параметра не возвращается к блоку, который вызвал функцию;
2) параметр-переменная:
var <идентификатор>:<тип> - измененное в середине программы значение этого параметру возвращается к блоку, который вызовет функцию
3) нетипизированный параметр-переменная
var <идентификатор> - такая опись формального параметра разрешает выполнить ссылки на переменную любого типа. При этом тип переменной отсутствует, то есть не совпадает ни с одним из типов до операции приведения типов
<тип> - в заголовке непосредственно может быть определен только простой тип. Любой стуктурированный тип определяется только через идентификатор типа
Правила локализации
1. Идентификатор определен только в границах блока, в котором он описан
2. Одинаковые идентификаторы могут быть по-разному определены в разных блоках
3. Если в операторе используется идентификатор, который был описаний в ряде вложенных блоков, то он интерпретируется в соответствии с его описью в самом внутреннем из вложенных блоков, в котором данный оператор находится.
4. На равные блоки идентификатор может быть описан только один раз
Процедура или функция может быть вызвана:
1. Из тела главной программы
2. Из тела другой процедуры или функции
3. Из тела той самой процедуры или функции - рекурсия
Процедурные типы
Используются:
1) при определении процедурных переменных;
2) при построении структурированных типов;
3) при использовании процедур или функций как параметров для других процедур или функций
Описание:
TYPE <идентификатор> = procedure [(< формальные параметры >)];
TYPE <идентификатор> = function [(< формальные параметры >)]:<тип результата>;



11.11.2007 18:55
Профиль ICQ
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
© 2013 «Форум программистов Украины»