Даны шесть квадратных уравнений.Подсчитайте сумму всех действительных корней этих уравнений , если таковые имеются.Выведите на печать номера уравнений , которые имеют хотя бы один действительный корень.Напишите для этого процедуру — Pascal(Паскаль)

uses crt;
const n=6;
type urav=record
          a,b,c,x1,x2:real;
          end;
     mas=array[1..n] of urav;
procedure Vvod(var u:urav;k:byte);
begin
repeat
writeln('Введите коэффициенты квадратного уравнения ',k);
readln(u.a,u.b,u.c);
if u.a=0 then writeln('Это не квадратное уравнение, повторите ввод.');
until u.a<>0;
end;
 
procedure Korni(u:urav;k:byte;var s:real;var f:boolean);
var d:real;
begin
d:=u.b*u.b-4*u.a*u.c;
f:=true;
if d<0 then
 begin
  s:=0;
  f:=false;
 end
else if d=0 then s:=-u.b/(2*u.a)
else s:=(-u.b-sqrt(d))/(2*u.a)+(-u.b+sqrt(d))/(2*u.a);
end;
var m:mas;
    i,k:byte;
    s,ss:real;
    f:boolean;
begin
clrscr;
ss:=0;
for i:=1 to n do
vvod(m[i],i);
writeln('Имеют действительные корни уравнения номер:');
k:=0;
for i:=1 to n do
 begin
  korni(m[i],i,s,f);
  if f then
   begin
    k:=1;
    write(i,' ');
    ss:=ss+s;
   end;
 end;
writeln;
if k=0 then write('Действительных корней нет ни у одного уравнения')
else write('Сумма корней=',ss:0:2);
readln
end.

Leave a Comment

− 2 = 3