Вернуться   Нижегородский Форум Друзей > Городская жизнь > Учеба > НГТУ
Забыли пароль? Регистрация



НГТУ Нижегородский государственный технический университет


Ответ
 
Опции темы Опции просмотра
Старый 22.11.2008, 17:53   #1
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


Сообщение Помогите с паскалем)

Помогите пожалуйста написать программу, буду очень благодарен)





вот что у меня получилось):
Код:
program lab2;
var max,u,x,y,A,B,C:real;
begin
x:=1;
while(x<=3)
        do begin
        y:=2;
        while(y<=4)
                do begin
                A:=(exp(1)*sin(sqr(x)-sqrt(y)));
                B:=cos(exp((2/3)*ln(x*y)));
                C:=cos(x*sqr(y));
                if A<B then max:=B else max:=A;
                if (x/sqr(y))<1 then U:=max else U:=C;
                writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
        y:=y+1.5;end;
x:=x+1.3;end;
end.
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:18.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 23.11.2008, 16:14   #2
Дружище
 
Аватар для ProZZaK
 
Регистрация: 26.07.2007
Адрес: Где разрешат))))
Пол: М
Провайдер: АДС ADSL
Сообщений: 622
Поблагодарил: 394
Поблагодарили 282 раз в 93 сообщениях
Открыли хайд :
0 в этом сообщении
29 Всего


По умолчанию

О_о...погоди с полчасика,у меня где то были такие примеры))
__________________
ProZZaK вне форума  
Ответить с цитированием
Старый 23.11.2008, 19:22   #3
Мега Друг
 
Аватар для Axel2150
 
Регистрация: 12.07.2007
Адрес: Underground town
Пол: М
Провайдер: Билайн
Сообщений: 1,062
Поблагодарил: 168
Поблагодарили 352 раз в 202 сообщениях
Открыли хайд :
0 в этом сообщении
260 Всего


По умолчанию

ммм... помню на 1 курсе писали вычесление значений функции либо по заданому интервалу либо по точкам...
напоротся было там на что
__________________

Get a motherfucking life
Axel2150 вне форума  
Ответить с цитированием
Старый 23.11.2008, 20:01   #4
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

а ты уверен в этой строчке:
B:=cos(exp((2/3)*ln(x*y)));
???

вроде как x в первой степени в подкоренном выражении
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!

Последний раз редактировалось YuP; 23.11.2008 в 20:07.
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (23.11.2008)
Старый 23.11.2008, 21:02   #5
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

вот я немножко поправил):



а со степенью вот так??

exp(2/3)*ln(y)*exp(1/3)*ln(x)
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:19.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 23.11.2008, 21:48   #6
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

ну насколько я помню (лень проверять, четыре года уже не программил)
x^y=exp(y*ln(x))
а так, то, что ты предложил про перемножение корней верно с учетом внесения под скобки exp.

но я особо в смысл не вникал. чисто формально глянул.
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (23.11.2008)
Старый 23.11.2008, 22:35   #7
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

что-то не работает((

Код:
program lab2;
var max,U,x,y,A,B,C:real;
begin
x:=1;
while x<=3
do begin
y:=2;
while y<=4
do begin
A:=((exp(1)*sin(sqr(x)))-sqrt(y));
B:=cos(((exp((2/3)*ln(y)))*(exp((1/3)*(x)))/sin((exp((2/3)*ln(y)))*(exp((1/3)*ln(x)))); (показывает, что в этой строке ошибка со скобками )
C:=cos(x*y*y);
if A<B then max:=B else max:=A;
if (x/sqr(y))<1 then U:=max else U:=C;
writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
y:=y+1.5;end;
x:=x+1.3;
end;
readln;
end.
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:19.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 07:05   #8
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

Скобки считать учись. Код работает, но суть я не проверял.

1:

program lab2;
var max,U,x,y,A,B,C,qq,q:real;
begin
x:=1;
while x<=3
do begin
y:=2;
while y<=4
do begin
A:=((exp(1)*sin(sqr(x)))-sqrt(y));
B:=cos((exp((2/3)*ln(y))*exp((1/3)*(x))))/sin((exp((2/3)*ln(y))*exp((1/3)*ln(x))));
C:=cos(x*y*y);
if A<B then max:=B else max:=A;
if (x/sqr(y))<1 then U:=max else U:=C;
writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
y:=y+1.5;end;
x:=x+1.3;
end;
readln;
end.
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!

Последний раз редактировалось YuP; 24.11.2008 в 07:07.
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (24.11.2008)
Старый 24.11.2008, 12:55   #9
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

спасибо большое)

а с repeat так будет)??:

Код:
program lab2;
var max,U,x,y,A,B,C:real;
begin
writeln('data function');
x:=1;
repeat
 x:=3;
repeat
 y:=2;
while y<=4
do begin
A:=((exp(1)*sin(sqr(x)))-sqrt(y));
B:=cos((exp((2/3)*ln(y))*exp((1/3)*ln(x))))/sin((exp((2/3)*ln(y))*exp((1/3)*ln(x))));
C:=cos(x*y*y);
if A<B then max:=B else max:=A;
if (x/sqr(y))<1 then U:=max else U:=C;
writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
y:=y+1.5
until(y>3);
writeln;
x:=x+1.3
until(x>4);
readln;
end.
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:19.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 14:47   #10
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

нет, не так.
посмотри. у тебя во втором repeat каждый раз y присваивается 2.

потом есть начало: while y<=4
do begin


где end;?
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (24.11.2008)
Старый 24.11.2008, 18:23   #11
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

что-то не догадался куда енд сунуть)

Код:
program lab2;
var max,U,x,y,A,B,C:real;
begin
writeln('data function');
x:=2;
repeat
 y:=1;
 repeat
A:=((exp(1)*sin(sqr(x)))-sqrt(y));
B:=cos((exp((2/3)*ln(y))*exp((1/3)*ln(x))))/sin((exp((2/3)*ln(y))*exp((1/3)*ln(x))));
C:=cos(x*y*y);
if A<B then max:=B else max:=A;
if (x/sqr(y))<1 then U:=max else U:=C;
writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
y:=y+1.5
until(y>3);
writeln;
x:=x+1.3
until(x>4);
readln;
end.
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:20.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 18:29   #12
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

на первый взгляд ляпов нет

Добавлено через 2 минуты 30 секунд
хотя токи с запятой после последней операции присвоения перед until я бы поставил
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (24.11.2008)
Старый 24.11.2008, 18:30   #13
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

неа, что-то не так, разные результаты получаются(




почему-то через 1 (

Последний раз редактировалось Shrek-Ogre; 24.11.2008 в 18:44.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 18:49   #14
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

Ну смотри. в одной из вышеприведенных прог ты x присваиваешь вначале 1.
в этой версии - 2

Добавлено через 35 секунд
аналогично с y (ранее - 2, сейчас - 1)
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
YuP вне форума  
Ответить с цитированием
Старый 24.11.2008, 18:55   #15
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

вот переделал, но ничего не меняется:

Код:
program lab2;
var max,U,x,y,A,B,C:real;
begin
writeln('data function');
x:=1;
repeat
 y:=2;
 repeat
A:=((exp(1)*sin(sqr(x)))-sqrt(y));
B:=cos((exp((2/3)*ln(y))*exp((1/3)*ln(x))))/sin((exp((2/3)*ln(y))*exp((1/3)*ln(x))));
C:=cos(x*y*y);
if A<B then max:=B else max:=A;
if (x/sqr(y))<1 then U:=max else U:=C;
writeln(' x=',x:4:2,' y=',y:4:2,' U=',u:4:2);
y:=y+1.5;
until(y>3);
writeln;
x:=x+1.3;
until(x>4);
readln;
end.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 19:23   #16
Модератор
 
Регистрация: 17.08.2007
Адрес: Nizhny Novgorod
Пол: М
Сообщений: 484
Поблагодарил: 139
Поблагодарили 1,067 раз в 239 сообщениях
Открыли хайд :
0 в этом сообщении
47 Всего


По умолчанию

условия прерывания цикла смотри. у тебя вместо: until(x>4); должно быть until(x>3);

и until(y>4);
__________________
иЗвиНиТЕ зА НеРоВНый ПочЕРк!
YuP вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо YuP за это полезное сообщение:
Shrek-Ogre (24.11.2008)
Старый 24.11.2008, 19:26   #17
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

YuP

спасибо тебе большое)
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:20.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 19:50   #18
Мега Друг
 
Аватар для Axel2150
 
Регистрация: 12.07.2007
Адрес: Underground town
Пол: М
Провайдер: Билайн
Сообщений: 1,062
Поблагодарил: 168
Поблагодарили 352 раз в 202 сообщениях
Открыли хайд :
0 в этом сообщении
260 Всего


По умолчанию

ммм... как то поменьше тут можно переменных ввести мне кажется и цикл один убрать... хотя я сделал на С... а С - гибкий мать его язык >__<
На паскале не помню уже можно ли так сделать...
C:

#include <stdio.h>
#include <math.h>
#include <conio.h>

int main()
{
float x=1.,y=2.,FF,SF,TF;

do
{
if ((x/(y*y))<1)
{
FF = exp(1)*sin((x*x)) - sqrt(y);
SF = cos((exp((2/3)*log(y))*exp((1/3)*log(x))))/sin((exp((2/3)*log(y))*exp((1/3)*log(x))));
if (FF>=SF)
{
printf("x= %f y= %f U= %f \n", x,y,FF);
} else
{
printf("x= %f y= %f U= %f \n", x,y,SF);
}
} else
{
TF = cos(x*(y*y));
printf("x= %f y= %f U= %f \n", x,y,TF);
}
x += 1.3;
y += 1.5;


}while(x<2.3);


getch();
return 0;
}


__________________

Get a motherfucking life
Axel2150 вне форума  
Ответить с цитированием
Этот пользователь сказал Спасибо Axel2150 за это полезное сообщение:
Shrek-Ogre (24.11.2008)
Старый 24.11.2008, 19:56   #19
Знакомый
 
Аватар для Shrek-Ogre
 
Регистрация: 18.04.2008
Пол: M
Провайдер: Эр-Телеком
Сообщений: 30
Поблагодарил: 35
Поблагодарили 4 раз в 3 сообщениях
Открыли хайд :
0 в этом сообщении
0 Всего


По умолчанию

я С вообще не знаю)
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Последний раз редактировалось Shrek-Ogre; 01.12.2008 в 14:20.
Shrek-Ogre вне форума  
Ответить с цитированием
Старый 24.11.2008, 20:03   #20
Мега Друг
 
Аватар для Axel2150
 
Регистрация: 12.07.2007
Адрес: Underground town
Пол: М
Провайдер: Билайн
Сообщений: 1,062
Поблагодарил: 168
Поблагодарили 352 раз в 202 сообщениях
Открыли хайд :
0 в этом сообщении
260 Всего


По умолчанию

Значит тебе в каком то смысле повезло
__________________

Get a motherfucking life
Axel2150 вне форума  
Ответить с цитированием
Ответ


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Часовой пояс GMT +3, время: 23:45.