Главная
БИБЛИОТЕКА
Учебные материалы
|
Файлы
|
Архив: статьи + новости + полезное
|
Видео-лекции
|
Задания студентам
|
Тесты
|
Тесты +
РЕШЕБНИКИ
Решение задач OnLine
|
ГДЗ-школьниками
|
Фото и сканы задач
|
Решения из Сканави
Сервис
Магазин
|
Webmoney
|
Тиц+PR
|
Конкурсы
|
Каталог сайтов
|
Доска объявлений
|
Опросы
Формулы
Настройка
|
FAQ
|
Редактор +
|
Редактор
|
Справочник кодов
|
Примеры кодов
Партнерам
Наши баннеры
|
Наш Информер
|
Партнеры
|
Партнеры +
|
Партнеры на карте
|
Флаги партнеров
Добавить
Вопрос
|
Объявление
|
Сайт в каталог
|
Фото или скан
|
Файл
|
Маркер на карту
|
Учебный материал
|
Статью или новость
РАЗНОЕ
Лучшее на сайте
|
Робот
|
IT-Лента
|
Смешные фото
|
Красивая графика
|
Анекдоты
|
Цитаты
|
Личности
|
Доска Почета
КАРТА
ФОРУМ
ОПЕЧАТКА
PRIMAT.ORG
© 2008-2012
ПРИ
КЛАДНАЯ
МАТ
ЕМАТИКА
Сайт для студентов, школьников, преподавателей, программистов и математиков. Здесь можно online решить задачу, пройти тесты, найти решение или программу, получить помощь. Можно добавить задачу, программу, статью.
Вход
НОВОЕ В БИБЛИОТЕКЕ
●
Дифференциальные уравнен...
●
Дифференциальные уравнен...
●
Дифференциальные уравнен...
●
Составление дифференциал...
●
Составление дифференциал...
●
Производные высших поряд...
●
Производные высших поряд...
●
Дифференцирование тригон...
●
Дифференцирование алгебр...
●
Дифференцирование алгебр...
НОВЫЕ ФАЙЛЫ
●
Sm графики функций (beta...
●
Graf_builder
●
Учимся считать
●
Мобильный справочник по ...
●
Уникальный калькулятор
●
Программа для построения...
●
«Новости ПриМата» для An...
●
Schedule Builder Light 2...
●
График
●
Sm Калькулятор
ЛУЧШИЕ ПУБЛИКАЦИИ
●
Бухаете? Тогда я иду к в...
●
Считаем сумму ряда
●
Новый вирус - три десятк...
●
Получить кнопку ТИЦ и Pa...
●
Программирование под And...
●
Матричный калькулятор (3...
●
Пара интересных задач
●
Небольшая забава для про...
●
Немного юмора для матема...
●
Продержись восемнадцать ...
ЛУЧШИЕ МАТЕРИАЛЫ
●
Высшая математика. Лекци...
●
Высшая математика. Лекци...
●
Умножение матриц (Паскал...
●
Высшая Математика. Лекци...
●
Высшая математика. Лекци...
●
Высшая Математика. Лекци...
●
Темы курсовых работ (укр...
●
Пример использования мно...
●
Теория графов плюс бонус...
●
Сортировка Хоара (быстра...
10 ЛУЧШИХ ФАЙЛОВ
●
Эконометрика
●
Таблица производных
●
Шпаргалка по высшей мате...
●
Математические формулы
●
Гмурман. Теория вероятно...
●
Таблица интегралов
●
Таблицы неопределенных и...
●
Программирование на язык...
●
Программирование на Си (...
●
Программирование на язык...
Конструктор
информеров
Карта тегов сайта
Навигатор-карта сайта
Информация о сайте
Статистика сайта
FAQ (вопрос/ответ)
На сайте всего:
2
Посетителей:
2
Пользователей:
0
БИБЛИОТЕКА УЧЕБНЫХ МАТЕРИАЛОВ
ГЛАВНАЯ
»
БИБЛИОТЕКА
»
ПРОГРАММИРОВАНИЕ
»
ПРИМЕРЫ ПРОГРАММ
[
ДОБАВИТЬ
]
Итерации и график функции
Программа метод простых итераций с построением графиков итерационной функции и заданной функции.
uses crt, graph; const a=-1.5; b=1.5; n=5000; type func=function(x:real):real; {$F+} var x1,x0,eps,s, m1, m2, maxx, maxy :real; i, cx, cy, mx, my, driver, mode:integer; function fx(x:real):real; {Oписание функции} begin fx:=x end; function f(x:real):real; {Oписание функции} begin f:=2*x-cos(x) end; {Описание функциии fi(x) для эквивалентного уравнения x=fi(x)} function fi(x:real):real; begin fi:=cos(x)/2; end; {Описание метода итераций} function iterac(var x0,e:real):real; var n:integer;delta:real; begin n:=0; writeln('Промежуточныe значения метода итераций'); repeat delta:=abs(x0-fi(x0)); writeln('x', n:1,' = ',x0:8:5,' fi(x', n:1, ')=',fi(x0):8:5,' eps=',delta:8:5); x0:=fi(x0); readln; n:=n+1; until (delta
300); writeln('Число итераций =',n); iterac:= x0 end; function max(f:func):real; var x,m:real; begin x:=a; m:=f(x); repeat x:=x+s; if f(x)>m then m:=f(x); until x>b+s/2; max:=m; end; function min(f:func):real; var x,m:real; begin x:=a;m:=f(x); repeat x:=x+s; if f(x)
b+s/2; min:=m; end; procedure OsiXY; var sx,sy:real; strx:string; ix,iy,k:integer; begin SetBkColor(White);SetColor(Blue); line(10,cy,getmaxx-35,cy);{?бм X} line(getmaxx-45,cy-5,getmaxx-35,cy); line(getmaxx-45,cy+5,getmaxx-35,cy); line(cx,30,cx,getmaxy-20); {?бм Y} line(cx-5,40,cx,30);line(cx+5,40,cx,30); settextstyle(0,0,1); outtextxy(cx+10,40,'Y');outtextxy(getmaxx-45,cy-10,'X'); settextstyle(2,0,0); sx:=cx;k:=0; repeat sx:=sx+mx/10; ix:=round(sx); k:=k+1; line(ix,cy,ix,cy-3); if (k mod 10)=0 then begin str(round(k/10),strx); outtextxy(ix,cy+2,strx); end; until ix>getmaxx-50; sx:=cx;k:=0; repeat sx:=sx-mx/10; ix:=round(sx); k:=k-1; line(ix,cy,ix,cy-3); if (k mod 10)=0 then begin str(round(k/10),strx); outtextxy(ix-8,cy+2,strx); end; until ix<30; if round(my/10)>0 then begin sy:=cy;k:=0; repeat sy:=sy+my/10; iy:=round(sy); k:=k-1; line(cx,iy,cx+3,iy); if (k mod 10)=0 then begin str(round(k/10),strx); outtextxy(cx+5,iy-5,strx); end; until iy>getmaxy-20 ; sy:=cy;k:=0; repeat sy:=sy-my/10; iy:=round(sy); k:=k+1; line(cx,iy,cx+3,iy); if (k mod 10)=0 then begin str(round(k/10),strx); outtextxy(cx+5,iy-5,strx); end; until iy<60; end; end; procedure MyGraf(f:func;Color,R:byte); var ex,ey:word;x,y:real; begin setcolor(Color); setlinestyle(0,0,R); x:=a;y:=f(x); Moveto(round(cx+x*mx),round(cy-y*my)); Repeat x:=x+s;y:=f(x); ex:=round(cx+x*mx);ey:=round(cy-y*my); Lineto(ex,ey); if R=1 then Circle(ex,ey,R); Until ex>getmaxx-50 end; Begin s:=abs(b-a)/n; m1:=abs(max(fi)); m2:=abs(min(fi)); if m1>maxy then maxy:=m1; if m2>maxy then maxy:=m2; m1:=abs(max(fx)); m2:=abs(min(fx)); if m1>maxy then maxy:=m1;if m2>maxy then maxy:=m2; m1:=abs(max(f)); m2:=abs(min(f)); if m1>maxy then maxy:=m1; if m2>maxy then maxy:=m2; if abs(a)>abs(b) then maxx:=abs(a) else maxx:=abs(b); driver:=detect; initgraph(driver,mode,'d:\tp\bgi'); cleardevice; mx:=round((getmaxx-50)/(2*maxx)); my:=round((getmaxy-100)/(2*maxy)); if my<20 then my:=20; cx:=round(getmaxx/2);cy:=round(getmaxy/2); setcolor(Blue); OsiXY; MyGraf(fi,Green,1); MyGraf(fx,Blue,2); readln; closegraph; TextBackGround(Blue); TextColor(Yellow); clrscr; write('Начальное значение корня = ');readln(x0); write('Точность вычисления корня = ');readln(eps); x1:=iterac(x0,eps); writeln('Приближенное значение корня с точностью ',eps:7:5); writeln('x =',x1:8:6); readln; driver:=detect; initgraph(driver,mode,'d:\tp\bgi'); cleardevice; OsiXY; MyGraf(f,Magenta,3); readln end.
Просмотров [ 331 ] ● 18.08.10 ● Рейтинг [ 0% ]
1
2
3
4
5
Комментариев:
[ 0 ]
Ваше Имя
Украинская Баннерная Сеть