Результаты исследования учащихся в проекте Осваиваем Delphi: различия между версиями
(→Результаты проведённого исследования) |
(→Результаты проведённого исследования) |
||
| Строка 39: | Строка 39: | ||
Ln(z)= | Ln(z)= | ||
| + | |||
| + | Алгоритм решения задачи | ||
| + | алг. Интерполяция | ||
| + | арг. n:цел, x,y:вещтаб[1..n] | ||
| + | z: вещ | ||
| + | рез. L:вещ. | ||
| + | раб. i,j:цел. | ||
| + | p, s:вещ. | ||
| + | нач. | ||
| + | ввод n | ||
| + | нц для i от 1 до n | ||
| + | Ввод (x[i], y[i]); | ||
| + | кц | ||
| + | L:=0; | ||
| + | нц для j от 1 до n | ||
| + | P:=1; s:=1; | ||
| + | нц для i от 1 до n | ||
| + | если i<>j | ||
| + | то p:=p*(z-x[i]) | ||
| + | s:=s*(x[j]-x[i]) | ||
| + | все | ||
| + | кц | ||
| + | L:=L+y[j]*p/s; | ||
| + | кц | ||
| + | Вывод L | ||
| + | Кон. | ||
==Вывод== | ==Вывод== | ||
Версия 10:36, 31 октября 2009
Содержание
Авторы и участники проекта
Сухонина Евгения, Бачинина Наталья и участники группы "Математики"
Тема исследования группы
Создаем математическую модель
Проблемный вопрос (вопрос для исследования)
Как на языке Delphi составить математическую модель?
Гипотеза исследования
Нужно найти идею интересную для многих и выбрать подходящее решение составления математической модели.
Цели исследования
-Подобрать примеры задач из курса математики, для которых будет создаваться модели для программирования на Delphi;
-Выполнить постановку задачи;
-Разработать алгоритм выполнения действий;
-Написать программу задачи;
-Вывод исследования.
Результаты проведённого исследования
Рассмотрим использование языка Delphi для решения математических задач на примере задачи интерполирование функции.
Постановка задачи "Интерполяция фунции"
Задача интерполирования состоит в том, чтобы по значениям функции f(x) в некоторых точках отрезка восстановить ее значения в остальных точках отрезка. Интерполирование применяется при сгущении таблиц, когда вычисление функции f(x) трудоемко и необходимо составить таблицу с меньшим шагом. Под интерполированием понимается нахождение аналитической кривой, проходящей через строго заданные множество точек на плоскости. Пусть функция у=f(x)задана таблично. При этом требуется получить значение функции у=f(x) для такого значения аргумента х, которое входит в отрезок [х0, xn], но не совпадает ни с одним из значений хi i=0, 1,2,.. ,n т.е. х [х0, хn], х≠хi, i=0, 1, 2,...,n. Будем искать значение функции в точке z, если z в интервале хi < z < хi+1. Задача заключается в нахождении такого интерполирующего многочлена, значения которого в узлах интерполяции совпадут с соответствующими значениями функции. Одно из возможных методов – использование многочлена Лагранжа. Функция φj (z) носят название Лагранжовых коэффициентов. В данном программном комплексе задача интерполирования решается с помощью формулы
Ln(z)=
Алгоритм решения задачи алг. Интерполяция
арг. n:цел, x,y:вещтаб[1..n]
z: вещ
рез. L:вещ.
раб. i,j:цел.
p, s:вещ.
нач. ввод n
нц для i от 1 до n Ввод (x[i], y[i]); кц
L:=0;
нц для j от 1 до n
P:=1; s:=1;
нц для i от 1 до n
если i<>j
то p:=p*(z-x[i])
s:=s*(x[j]-x[i])
все
кц
L:=L+y[j]*p/s;
кц
Вывод L Кон.