Jump to content
BulForum.com

Една програмка на Паскал!


Bore

Recommended Posts

Извинявам се предварително, ако това не е мястото където трябва да бъде тази тема. Имам една програмка, която трябва да направя, а не разбирам много от Паскал. Моля, някой да ми помогне, ако знае как се решавата тази задачка.Благодаря Ви!

 

y= и това е функцията ...

 

{ корен 6-ти от x + (x+3) на степен 5-та , x>3

{ x.(2+4+6+...+n) , x e [-3,3]

{ ln ІxІ / e на степен 5x , x<-3

 

 

ІxІ - това е модул от x

 

 

Ето и част от нея (един познат я започна):

 

Program zad1;

var y,x,n:integer

Begin

If (x>3) then

y:=exp(6*ln(x)+exp(5*ln(x+3));

If (x<-3) then

y:=ln(abs(x))/exp((5*x)*ln(e)

else

writeln('n=');readln(n);

 

Дано, някой знае как да се довърши.

Link to comment
Share on other sites

Program zad1;

var n,i,j:integer;

y,x:real;

begin

write('x= ');readln(x);

if (x>3) then y:=exp(6*ln(x)+exp(5*ln(x+3));

if (x<-3) then y:=ln(abs(x))/exp((5*x)*ln(e))

else begin

repeat write('n= ');readln(n);until n>=2;j:=0;

for i:=2 to n do begin if (i mod 2=0)then j:=j+i;end;

y:=x*j;end;write('y= ',y);

end.

 

Не съм пробвал дали работи, но така трябва да стане.

Link to comment
Share on other sites

Това ли е цялата програмка? Струва ми се много малко, не че знак колко голяма трябва да е :)

И ако може и още 1 въпросче, ако уравнението беше:

 

x.(1+3+5+...+n) , x e [-3,3]

 

как щеше да се реши?

Link to comment
Share on other sites

Program zad1;

var n,i,j:integer;

y,x:real;

begin

write('x= ');readln(x);

if (x>3) then y:=exp(6*ln(x)+exp(5*ln(x+3));

if (x<-3) then y:=ln(abs(x))/exp((5*x)*ln(e))

else begin

repeat write('n= ');readln(n);until n>=1;j:=0;

for i:=1 to n do begin if (i mod 2=1)then j:=j+i;end;

y:=x*j;end;write('y= ',y);

end.

 

MOD дава остатъка при делението на число от тип integer. Ако искаш четно число делиш на 2 и като резултат ще получиш 0, а ако искаш нечетно число делиш на 2 и като резултат ще получиш 1. За да получиш резултат за цяла редица от 1 до N или от 2 до N се изполва цикал за повторение(for i:=1 to n do begin if (i mod 2=1)then j:=j+i;end;) в комбинация с IF.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...