IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача на табл. знач. функций... оч. срочно. плз =(, В задаче содердиться интервал изоляции нелин. функции...
Renn
сообщение 21.12.2007 0:25
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Ренн

Репутация: -  0  +


Доброго времени суток. Вот выношу себе мозг не первый день... А сдача - горит.
> > Разработать схему алгоритма, составить Pascal программу: "Вычисления таблицы значений функции ax^2+bx+cos(П*a/b). При заданных значениях аргумента x, xn, xk, dx и параметра а = М-значений a. Параметр b принимает значение, численно равное корню нелинейного уравнения x^2-1,3ln(x+0,5)-2,8x+1,15. Интервал изоляции 0-10.
> > Обозначение:
> > xn, xk - начальное и конечное значение аргумента x;
> > dx - шаг изменения параметра x;
> > N - число значений параметра x, изменяемого от значения xn, с шагом dx;
> > M - число значений параметра a.
> > ^ - степень.
Прошу подсказать, хотя бы, как записать а = М-значений a с функцией и как найти корни x^2-1,3ln(x+0,5)-2,8x+1,15. Интервал изоляции 0-10.
Буду очень благодарен.

Сообщение отредактировано: Renn - 21.12.2007 4:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
Renn
сообщение 21.12.2007 4:20
Сообщение #2





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Ренн

Репутация: -  0  +


Вот программа, которую сумел состряпать посмотрите пожалуйста и подскажите, что не верно.
program rgr;
uses crt;
type massive=array[1..100] of real;
var
  e:real;             
  b, b2:real;         
  n:integer;          
  i:integer;          
  j:integer;          
  x:real;             
  xn:real;            
  dx:real;            
  er0,ers:integer;    
  pr1,pr2:real;       
  mx:massive;         

function f(g:real):real;
begin
  f:=sqr(g)-1.3*ln(g+0.5)-2.8*g+1.15;
end;
function trap(pr1,pr2:real;n:integer):real;
var
  s:real;
  h:real;
  m:integer;
begin
  h:=(pr2-pr1)/(n-1);
  s:=(f(pr1)+f(pr2))/2;
  for m:=1 to n-2 do s:=s+f(pr1+m*h);
  trap:=s*h;
end;
function y(x,a,b:real):real;
begin
      y:=a*sqr(x)+b*x+cos(pi*(a/b));
end;

begin
  clrscr;
  write('Vvedite predeli integrirovaniya funkcii: ');
  readln(pr1,pr2);
 if pr1>pr2 then
  begin repeat
  writeln('Nepravilniy vvod');
  write('Povtorite vvod predelov funkcii');
   readln(pr1,pr2);
  until pr1<=pr2
 end;
  write('Ukaghite tochnost opredeleniya integrala funcii: ');
  readln(e);
 if e=0 then
  begin repeat
  writeln('Tochnost integrala zadana ne verno');
  write('Povtorite vvod:'); readln(e);
  until e<>0
 end;
  write('Ukaghite kolichestvo funkcii trebuemih dlya vichisleniya: ');
  readln(j);
 if j=0 then
  begin repeat
  writeln('Oshibka. Vvedite nenulevoe znachenie');
  readln(j);
  until j<>0
 end;
  write('Vvedite nachalnoe znachenie funcii: ');
  readln(xn);
 if xn=0 then
  begin repeat
  writeln('Ne nadoelo vvoditnulevie nedopustimie znacheniya?? Povtorite Vvod!');
  readln(xn);
  until xn<>0
 end;
  write('Shag znachenii funkcii: ');
  readln(dx);
  begin
   n:=3;
  b:=trap(pr1,pr2,n);
  repeat
    b2:=b;
    n:=n+2;
    b:=trap(pr1,pr2,n);
    until (abs(b-b2)<E);
 begin
   x:=xn;
   i:=0;
    repeat
    mx[i]:=y(x,b);

<---- В этой строке выдаёт ошибку. Просит поставить запятую после b.


    writeln(' x=',x:8:3,'   y=',mx[i]:8:3);
    i:=i+1;
    x:=x+dx;
    until i=j;
 end; end;
repeat until keypressed;
end.


Буду очень благодарен. =)

Сообщение отредактировано: Renn - 21.12.2007 4:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2007 9:24
Сообщение #3


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


эм ... ну смотри:

Цитата
function y(x,a,b:real):real;
begin
y:=a*sqr(x)+b*x+cos(pi*(a/b));
end;

// ....

mx[i]:=y(x,b);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Renn
сообщение 21.12.2007 11:16
Сообщение #4





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Ренн

Репутация: -  0  +


Ошибок, как я понимаю там немеренная куча, как понимаю...
Спасибо, за помощь отыскание одной из них, ищу дальше...
Поправил осталась совсем чуть чуть ну, плз.
program rgr;
uses crt;
type massive=array[1..100] of real;
var
  e:real;
  a:real;          { ’(r)з­(r)бвм ўлзЁб«Ґ­Ёп Ё­вҐЈа «  }
  b:real;         { ЏаҐ¤л¤г饥 Ё ⥪г饥 ЇаЁЎ«Ё¦Ґ­­лҐ §­ 祭Ёп Ё­вҐЈа «  }
  n:integer;          { ‘зҐвзЁЄ ЇаЁ ўлзЁб«Ґ­ЁЁ Ё­вҐЈа «  }
  i:integer;          { Љ(r)«ЁзҐбвў(r) ўлзЁб«пҐ¬ле §­ 祭Ё(c) дг­ЄжЁЁ }
  j:integer;          { ‘зҐвзЁЄ ЇаЁ ўлзЁб«Ґ­ЁЁ дг­ЄжЁЁ }
  x:real;             { ЂаЈг¬Ґ­в Ё §­ 祭ЁҐ дг­ЄжЁЁ  }
  xn:real;            { Ќ з «м­(r)Ґ §­ 祭ЁҐ дг­ЄжЁЁ  }
  dx:real;            { ? Ј ўлзЁб«Ґ­Ёп дг­ЄжЁЁ  }
  er0,ers:integer;    { “б«(r)ўЁҐ ўлў(r)¤  б(r)(r)ЎйҐ­Ёп (r)Ў (r)иЁЎЄҐ  }
  pr1,pr2:real;       { ЏаҐ¤Ґ«л Ё­вҐЈаЁа(r)ў ­Ёп }
  mx:massive;         { ‡ ¤ Ґ¬ ¬ ббЁўл }

function f(x1:real):real;
begin
  f:=sqr(x1)-1.3*ln(x1+0.5)-2.8*x1+1.15;
end;
function trap(pr1,pr2:real;n:integer):real;
var
  s:real;
  h:real;
  q:integer;
begin
  h:=(pr2-pr1)/(n-1);
  s:=(f(pr1)+f(pr2))/2;
  for q:=1 to n-2 do s:=s+f(pr1+q*h);
  trap:=s*h;
end;
function y(x,a,b:real):real;
begin
      y:=a*sqr(x)+b*x+cos(pi*(a/b));
end;
begin
  clrscr;
  write('Vvedite predeli integrirovaniya funkcii: ');
  readln(pr1,pr2);
 if pr1>pr2 then
  begin repeat
  writeln('Nepravilniy vvod: ');
  write('Povtorite vvod predelov funkcii: ');
   readln(pr1,pr2);
  until pr1<=pr2
 end;
  write('Ukaghite kolichestvo funkcii trebuemih dlya vichisleniya: ');
  readln(j);
 if j=0 then
  begin repeat
  writeln('Oshibka. Vvedite nenulevoe znachenie: ');
  readln(j);
  until j<>0
 end;
  write('Vvedite nachalnoe znachenie funcii: ');
  readln(xn);
 if xn=0 then
  begin repeat
  writeln('Ne nadoelo vvoditnulevie nedopustimie znacheniya?? Povtorite Vvod!');
  readln(xn);
  until xn<>0
 end;
  write('Shag znachenii funkcii: ');
  readln(dx);
  begin
  n:=3;
  b:=trap(pr1,pr2,n);
  repeat
  begin
   x:=xn;
   i:=0;
    repeat
    mx[i]:=y(x, a, b);
    writeln(' x=',x:8:3,'   y=',mx[i]:8:3);
    i:=i+1;
    x:=x+dx;
    until n=j;
 end;
end; <------- Здесь ошибка. Error in statsment.
repeat until keypressed;
end.

Помогите плз... ну очень очень срочно.

Сообщение отредактировано: Renn - 21.12.2007 12:17
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 21.12.2007 22:42
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(Renn @ 21.12.2007 11:16) *
  repeat
  begin
   x:=xn;
   i:=0;
    repeat
    mx[i]:=y(x, a, b);
    writeln(' x=',x:8:3,'   y=',mx[i]:8:3);
    i:=i+1;
    x:=x+dx;
    until n=j;
 end;
end; <------- Здесь ошибка. Error in statsment.
Все правильно: где until к repeat в первой строке отцитированного фрагмента?

PS. Чтобы самому без посторонней помощи искать подобные ошибки, нужно всего-навсего отформатировать текст.
Зачем просить делать других то, что вполне можешь сделать сам?

Сообщение отредактировано: andriano - 21.12.2007 22:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 6:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"