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

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

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

> Программа с циклом, Помогите пожалуйста
goosberry
сообщение 27.03.2009 22:13
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский

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


Задание такое: определить во сколько раз произведение положительных значений функции отличается от модуля произведения отрицательных значений функции y=((x^3)-1)sin2x на отрезке изменения аргумента от xn до xk с интервалом h.
В общем, я частично написала, а вот про произведение значений что-то никак не соображу. Помогите пожалуйста))

program zadacha;
uses
    crt;
var x,y,xn,xk,h:real;
    pol,otr:integer;
begin
     write('x nachalnoye= ');
     readln (xn);
     write('x konechnoye= ');
     readln (xk);
     write('chag= ');
     readln (h);
     pol:=0;
     otr:=0;
     x:=xn;
     while x<xk do
     begin
          y:=(sqr(x)*x-1)*sin(2*x);
          if y<0 then otr:=otr+1 else pol:=pol+1;
          writeln('x= ',x:3:3, '  y= ', y:3:3);
          x:=x+h;
     end;
     readkey;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
volvo
сообщение 27.03.2009 23:35
Сообщение #2


Гость






Цитата
В общем, я частично написала
А зачем ты считаешь количество положительных и отрицательных значений? Тебе надо посчитать их произведения, и потом посмотреть, во сколько раз одно произведение больше другого (т.е., чему равно отношение pol/|otr|):
var pol, otr: real;
...
   pol:=1; { все-таки, подсчет произведений, а не сумм }
   otr:=1;
   x:=xn;
   while x<xk do
   begin
      y:=(sqr(x)*x-1)*sin(2*x);
      if y<0 then otr:=otr*y else if y > 0 then pol:=pol*y;
      writeln('x= ',x:3:3, '  y= ', y:3:3);
      x:=x+h;
   end;
   { Ну вот, произведения посчитаны, теперь находим pol / abs(otr) }

вроде бы нулевых значений ни в pol ни в otr быть не должно после "двойной" проверки - сначала на (y < 0), потом на (y > 0)...
 К началу страницы 
+ Ответить 
goosberry
сообщение 28.03.2009 9:15
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский

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


Цитата(volvo @ 27.03.2009 23:35) *

А зачем ты считаешь количество положительных и отрицательных значений? Тебе надо посчитать их произведения, и потом посмотреть, во сколько раз одно произведение больше другого (т.е., чему равно отношение pol/|otr|):

Эм...это я просто с другой проги своей скопировала...не посмотрела...
Спасибо большое за всё give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 

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