Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Pascal помогите решить задание (http://www.tehnari.ru/f41/t82539/)

vlados 19.12.2012 15:57

Pascal помогите решить задание
 
Вложений: 1
файл с заданием выложил как вложение в виде фото

Vladimir_S 19.12.2012 16:06

Да... совсем я, видать, отупел. Ну не вижу я тут в упор никакой "функции Х", и куда пристегнуть Z - вовсе не понимаю. Так что и рад бы помочь, но...

AlexZir 19.12.2012 16:10

Гы, двоечники форум посетили :))
Какой функцией Х задан? Линейной?

vlados 19.12.2012 17:00

если честно я сам не понимаю эту задачу, препод у нас зверь ничего объяснять не хочет

Vladimir_S 19.12.2012 17:04

Цитата:

Сообщение от vlados (Сообщение 835813)
если честно я сам не понимаю эту задачу, препод у нас зверь ничего объяснять не хочет

Сочувствую. Но, видите ли, вряд ли кто-нибудь из нас станет разрабатывать программу до получения ясной четкой формулировки задания. А подход типа "вы тут напишите кучу вариантов, а я выберу", боюсь, не прокатит.

vlados 19.12.2012 17:59

Вложений: 1
Цитата:

Сообщение от Vladimir_S (Сообщение 835819)
Сочувствую. Но, видите ли, вряд ли кто-нибудь из нас станет разрабатывать программу до получения ясной четкой формулировки задания. А подход типа "вы тут напишите кучу вариантов, а я выберу", боюсь, не прокатит.

А что скажите на счет этой работы:

Vladimir_S 19.12.2012 20:01

Цитата:

Сообщение от vlados (Сообщение 835879)
А что скажите на счет этой работы:

Ну что же, если я понял правильно, то так. Прежде всего, поскольку оба неравенства в определении b - нестрогие, то это значит, что при x=0.5 результаты вычисления b по обеим ветвям должны совпасть, откуда сразу находим c=2.5. Дальше просто:
Код:

Var
 x0,xk,dx,b,X,Y:real;
 i,N,NnegY,NposX:Byte;

Function Max3(m1,m2,m3:real):real;
 function Max2(p1,p2:real):real;
 begin
  If p1>p2 then Max2:=p1 else Max2:=p2;
 end;
begin
 Max3:=Max2(Max2(m1,m2),m3);
end;

Begin
 Write('x0= ');
 Readln(x0);
 Write('xk= ');
 Readln(xk);
 Write('dx= ');
 Readln(dx);
 N:=Round((xk-x0)/dx);
 NposX:=0;
 NnegY:=0;
 For i:=0 to N do
  begin
  X:=x0+dx*i;
  Write('X=',X:6:3);
  If X>0 then Inc(NposX);
  If X<0.5 then b:=1.25 else b:=X*X+1;
  Y:=Sqr(X-b)-Max3(X,b,2.5);
  Writeln('    Y=',Y:12:4);
  If Y<0 then Inc(NnegY);
  end;
 Writeln;
 Writeln('Number of positive X values is ',NposX);
 Writeln('Number of negative Y values is ',NnegY);
 Readln;
End.


vlados 25.12.2012 19:06

Цитата:

Сообщение от Vladimir_S (Сообщение 835783)
Да... совсем я, видать, отупел. Ну не вижу я тут в упор никакой "функции Х", и куда пристегнуть Z - вовсе не понимаю. Так что и рад бы помочь, но...

z здесь отдельно


Часовой пояс GMT +4, время: 09:49.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.