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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2010, 04:36   #1
Мария_38
 
Регистрация: 07.04.2010
Сообщений: 4
По умолчанию Паскаль

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

uses crt;
Var d,b,c,y:real;
a:array[1..20] of Real;
i,n,m:integer;
BEGIN
clrscr;
Repeat
Readln(n)
Until (n>=2) and (n<=20);
For i:=1 to n do
Readln (a[i]);
Readln (d,b,c);
m:=0;
For i:=1 to n do
Begin
y:=d*Sqr(a[i])+b*a[i]+c;
IF y=0 then
writeln (a[i]);
else m:=m+1;
end;
IF m:=n then
writeln ('net kornej')
END.
Мария_38 вне форума Ответить с цитированием
Старый 26.06.2010, 08:20   #2
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

синтаксические ошибки поправил, а так вроде програма работает правильно.
Код:
uses crt;
Var d,b,c,y:real;
a:array[1..20] of Real;
i,n,m:integer;
BEGIN
clrscr;
Repeat
Readln(n)
Until (n>=2) and (n<=20);
For i:=1 to n do
Readln (a[i]);
Readln (d,b,c);
m:=0;
For i:=1 to n do
Begin
y:=d*Sqr(a[i])+b*a[i]+c;
IF y=0 then writeln (a[i])
else m:=m+1;
end;
IF m=n then writeln ('net kornej')
END.
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 26.06.2010, 08:28   #3
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Держи немного подправленный код:
Код:
uses crt;
Var
  d,b,c,y:real;
  a:array[1..20] of Real;
  i,n,m:integer;
BEGIN
  clrscr;
  Repeat
    Readln(n)
  Until (n>=2) and (n<=20);
  For i:=1 to n do
    Readln (a[i]);
  Readln (d,b,c);
  m:=0;
  For i:=1 to n do
  Begin
    y:=d*Sqr(a[i])+b*a[i]+c;
    IF y=0 then
      writeln (a[i])        { ; ne nado}
    else m:=m+1;
  end;
  IF m=n then               { vmesto := nuzhno =}
    writeln ('net kornej'); { dobavil ; }
END.
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума Ответить с цитированием
Старый 26.06.2010, 08:30   #4
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Упс... Не успел Хотя, если подумать... Попробуйте ввести варианты корней 0.6 и любое другое. Коэффициенты: d=2, b=1, c=-1.32. Не работает?
Дело в том, что при работе с дробными числами y может и не равняться 0, но очень близок к нему. Поэтому лучше проверять y на близость к 0 с определенной точностью.
Подправленная программа:
Код:
uses crt;
Var
  d,b,c,y:real;
  a:array[1..20] of Real;
  i,n,m:integer;
BEGIN
  clrscr;
  Repeat
    Readln(n)
  Until (n>=2) and (n<=20);
  For i:=1 to n do
    Readln (a[i]);
  Readln (d,b,c);
  m:=0;
  For i:=1 to n do
  Begin
    y:=d*Sqr(a[i])+b*a[i]+c;
    IF abs(y)<0.00001 then
    begin
      writeln (a[i]);
      m:=m+1;
    end;
  end;
  IF m=0 then
    writeln ('net kornej');
END.
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)

Последний раз редактировалось bag; 26.06.2010 в 08:52.
bag вне форума Ответить с цитированием
Старый 26.06.2010, 09:10   #5
Кинельски
Форумчанин
 
Регистрация: 10.03.2010
Сообщений: 109
По умолчанию

Блин в первые вижу такую сокращенную формулу квадратного уравнения,про ше было решить сравнение по старому, и каждый корень сравнить с задаными числами при совпадений вывести результат
Кинельски вне форума Ответить с цитированием
Старый 26.06.2010, 09:41   #6
Мария_38
 
Регистрация: 07.04.2010
Сообщений: 4
По умолчанию

спасибо за помощь
Мария_38 вне форума Ответить с цитированием
Старый 26.06.2010, 10:10   #7
Кинельски
Форумчанин
 
Регистрация: 10.03.2010
Сообщений: 109
По умолчанию

Сам новичок так что если есть ошибки не ругайте
Вложения
Тип файла: rar Project2.rar (547 байт, 8 просмотров)
Кинельски вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23