Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2007, 16:20   #1
GE076
Пользователь
 
Регистрация: 04.12.2007
Сообщений: 13
По умолчанию Три квадратных уравнения. Найти минимальное значение среди действительных корней этих уравнений. Паскаль.

Задача такая
. Заданы три квадратных уравнения:
a*x + b*x + c = 0; d*x2 + f*x + r = 0; p*x2 + q*x + t = 0.
Найти минимальное значение среди действительных корней этих уравнений. Решение квадратного уравнения оформить в виде подпрограммы. Ввод данных из файла
Исходные данные:
а = 2; d = 3.7; p = 1.2;
в = -5.2; f = 1.8; q = -3;
с = 1.3; r = 6; t = 5.

Что нужно сделать? Что-то я плохо соображаю, что даже не могу ввести переменные(
вот небольшой набросок:
Код:
Program kv;
uses crt;
Type
koef=array[1..3] of real; 
k,l,m:koef {задаю три массива коээфициентов. }
x,y:real;
i,j,n:integer;
f:text;
Procedure VVOD(var Q:koef; {тут должна быть процедура ввода в каждый массив трех элементов из файла}

Procedure KORN (a,b,c:real; var x1,x2:real; var no:integer); {процедура поиска корней}
var d:real;
Begin
d:=sqr(b)-4*a*c
if d>=0 then begin no:=1;
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
else no:=0;
end;


Begin
Assign (f,'k1.pas');

for i:=1 to 3 do
begin
GE076 вне форума Ответить с цитированием
Старый 10.12.2007, 17:13   #2
GE076
Пользователь
 
Регистрация: 04.12.2007
Сообщений: 13
По умолчанию

никто не подскажет?
GE076 вне форума Ответить с цитированием
Старый 17.12.2007, 20:41   #3
GE076
Пользователь
 
Регистрация: 04.12.2007
Сообщений: 13
По умолчанию

Вообщем, сейчас вот так...
НО! ........ как мне избавиться от нуля в ответе? (т.е. нули получаются, если корни не действительны, но они записываются на свои места)
Код:
Program lab8l;
uses crt;
Type korni=array[1..6] of real;
var q,w,e:array[1..3] of real;
 min,minimum:real;
x,y,z:korni ;
g,s,i,j,n:integer;

Procedure KORN (a,b,c:real; var x1,x2:real; var no:integer);
var d:real;
begin
d:=sqr(b)-4*a*c;
if d>=0 then begin no:=1;
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
if d<0 then begin no:=0;
end;
end;
begin
{osnovnaya prog}
clrscr;



begin
q[1]:=2; q[2]:=-5.2; q[3]:=1.3;
w[1]:=3.7; w[2]:=1.8; w[3]:=6;
e[1]:=1.2; e[2]:=-3; e[3]:=5;
i:=1;
KORN (Q[i],W[i],E[i],x[i],y[i],j);

if j=1 then begin writeln ('Korni  1 uravneniya ',x[i]:3:3,' ',y[i]:3:3);

end;
if (j>1) or (j<1) then Writeln ('V  1 uravnenie net korney');
end;




i:=2;
KORN (Q[i],W[i],E[i],x[i],y[i],j);

if j=1 then begin writeln ('Korni  2 uravneniya ',x[i]:3:3,' ',y[i]:3:3);

end;
if (j>1) or (j<1) then Writeln ('V  2 uravnenie net korney');
i:=3;
KORN (Q[i],W[i],E[i],x[i],y[i],j);

if j=1 then begin writeln ('Korni  3 uravneniya ',x[i]:3:3,' ',y[i]:3:3);

end;
if (j>1) or (j<1) then Writeln ('V  ',i,' uravnenie net korney');
 for i:=1 to 3 do
	begin Z[i]:=X[i];
	Z[i+3]:=Y[i];
	end;



min:=Z[1];
for i:=1 to 6 do
if min > Z[i] then min:=Z[i];

min:=minimum;


end.
GE076 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qu 1.0 - программа для решения квадратных уравнений DM_bite Софт 5 20.03.2010 22:37
Решение биквадратного уравнения Паскаль.... КиношкА Помощь студентам 8 19.12.2008 01:25
предсказать значение по графику с помощью уравнения регрессии domovenok Microsoft Office Excel 1 12.05.2008 15:40
Методы нахождения корней уравнения werser Помощь студентам 8 20.02.2008 22:41