Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 12:27   #1
Stenka
 
Регистрация: 07.11.2009
Сообщений: 5
По умолчанию Pascal. Математическая задачка

Столкнулся с такой сложной математической задачкой в контрольной. Много кто развел руками перед этой задачей. Может здесь мне помогут с решением?

Составить программу расчета таблицы значений функции f(x) на интервале a<=x<=b в n равностоящих точках. Границы интервала a,b и количество точек n ввести с клавиатуры. Результат вывести на экран. f(x)=(1-e-x*)*sin(4*Pi*x) *экспанента в степени минус х.
Stenka вне форума Ответить с цитированием
Старый 07.11.2009, 12:34   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

o=(a+b)/2-середина
h=2(o-a)/n
ну и шагайте в обе стороны (от o до b) и (от o до a) с шагом h и считайте значения ф-ии
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 07.11.2009, 20:28   #3
Stenka
 
Регистрация: 07.11.2009
Сообщений: 5
По умолчанию

Извиняюсь, но мне это ничего не дало) в математике я полный ноль...
Можно хотябы кусок кода непосредственно решения задачи скинуть? желательно с комментариями.
Stenka вне форума Ответить с цитированием
Старый 07.11.2009, 20:40   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
хотябы кусок кода
да пожалуйста
для 1 части
Код:
while o>=a do begin
Writeln(o,F(o));
o:=o-h;while o>=a do begin
Writeln(o,F(o));
o:=o-h;
end;
для 2 части
Код:
While o1<=b
begin
Writeln(o1,F(o1));
o1:=o1+h;
end;
end;
ну а в остальном... все просто!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 07.11.2009, 23:08   #5
Stenka
 
Регистрация: 07.11.2009
Сообщений: 5
По умолчанию

Да уж, если честно, то ничего не понятно... Что есть первая часть, что вторая?) Кому там несложно весь код написать? Опять же желательно с комментариями.
Stenka вне форума Ответить с цитированием
Старый 08.11.2009, 03:45   #6
ИринаForeve
Пользователь
 
Аватар для ИринаForeve
 
Регистрация: 27.04.2009
Сообщений: 48
По умолчанию

Мое простое решение:
*************
program uravnenie;
uses crt;
var
a,b,n,h:integer;
x:real; {изменяемый аргумент функции}
begin
clrscr;
writeln('vvedite min');
readln(a); {ввод начала отрезка}
writeln('vvedite max');
readln(b); {ввод конца отрезка}
writeln('vvedite kolvo tochek');
readln(n); {кол-во точек}
h:=round((a+b)/n); {шаг приращения}
x:=a; {начальное значение}
while x<b do begin {цикл пока не конец отрезка}
writeln(f(x):3:3); {вывод значения функции в столбик,3 знака до запятой, 3 знака после запятой - можно изменить вывод}
x:=x+h; {увеличение значения аргумента}
end;
readkey; {пока не нажата клавиша, смотрим результат}
end.
**************
Осталось написать функцию на Паскале вместо f(x) и готово!

Последний раз редактировалось ИринаForeve; 08.11.2009 в 03:52.
ИринаForeve вне форума Ответить с цитированием
Старый 08.11.2009, 09:50   #7
Stenka
 
Регистрация: 07.11.2009
Сообщений: 5
По умолчанию

Цитата:
while x<b do
begin
x:=(1-exp(-x))*sin(4*pi(x));
writeln(x:3:2);
x:=x+h;
end;
Как правильно Пи использовать? А то ошибка на нем вылетает...
Stenka вне форума Ответить с цитированием
Старый 08.11.2009, 09:54   #8
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
while x<=b do
begin
y:=(1-exp(-x))*sin(4*3.14*x);
writeln(y:3:2);
x:=x+h;
end;
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 08.11.2009, 11:06   #9
Stenka
 
Регистрация: 07.11.2009
Сообщений: 5
По умолчанию

Цикл бесконечный получается. Что тут не так?
Код:
program zadanie_6;
uses crt;
var
 a,b,n,h:integer;
 x:real;
begin
 clrscr;
 writeln('vvedite min i max');
 readln(a,b);
 writeln('vvedite kolvo tochek');
 readln(n);
 h:=round((a+b)/n);
 x:=a;
 while x<b do
  begin
   x:=(1-exp(-x))*sin(4*3.14*x);
   writeln(x:3:2);
   x:=x+h;
  end;
readkey;
end.
Stenka вне форума Ответить с цитированием
Старый 08.11.2009, 11:11   #10
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

вы специально?
сравните ваше
Код:
 x:=(1-exp(-x))*sin(4*3.14*x);
   writeln(x:3:2);
   x:=x+h;
и мое

Код:
y:=(1-exp(-x))*sin(4*3.14*x);
writeln(y:3:2);
x:=x+h;
в чем отличие
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одна задачка по Pascal LAM 757 Помощь студентам 6 04.12.2011 12:11
Задачка с цикломв Turbo Pascal Semych Помощь студентам 2 18.06.2009 16:16
задачка в Turbo Pascal Semych Помощь студентам 2 17.06.2009 20:56
Pascal, задачка для 7 класса. Pascal_User Помощь студентам 3 19.02.2009 19:46
Задачка на Pascal miron Фриланс 9 30.03.2008 15:03