Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > нужна помощь


Автор: Anya 7.12.2005, 17:00
помогите написать программу на паскале. Очень надо.
Написать процедуру для нахождения корней квадратного уравнения. Примерно она выглядит так:
Код

program ....;

uses crt;

var 
  a,b,c,d,x1,x2:real;

procedure korni(a,b,c,d:real var x1,x2:real)
begin
  x1:=(-b+sqrt(d))/2*a;
  x1:=(-b-sqrt(d))/2*a;
  writeln('x1=', x1:3:2);
  write('x1=', x1:3:2);
end;

begin
  clrscr;
  write('enter a:');
  readln(a);
  write('enter b:');
  readln(b);
  write('enter c:');
  readln(c);
  d:=sqr(b)-4*a*c;
  korni(a,b,c,d);
  readkey;
end.

Автор: Snowy 7.12.2005, 17:55
Код

program ....;

uses crt;

var    
  a, b, c, x1, x2:real;
  kk: integer;

function korni(a,b,c:real; var x1,x2:real): integer; // находит корни. Возвращает кол-во корней.
var
  d: real; // дискрименант
  k: integer; // кол-во корней
begin    
  d:=sqr(b)-4*a*c;
  if d<0 then k=0
  else
  if d=0 then
  begin
    x1:=-b/2*a;
    k:=1;
  end else
  begin
    x1:=(-b+sqrt(d))/2*a;    
    x2:=(-b-sqrt(d))/2*a;
    k:=2;
  end;
  korni:=k;
end;


begin    
  clrscr;    
  write('enter a:');    
  readln(a);    
  write('enter b:');    
  readln(b);    
  write('enter c:');    
  readln(c);    
  kk:=korni(a, b, c, x1, x2);
  if kk=0 then
    WriteLn('Нет корней')
  else if kk=1 then
    WriteLn('Корень уравнения: x=', x1);
  else
    WriteLn('Корни уравнения: x1=',x1,' x2=', x2);
  readkey;
end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)