Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Квадратное уравнение 2 
:(
    Опции темы
Voventus
Дата 7.12.2004, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.12.2004
Где: г. Владивосток

Репутация: нет
Всего: нет



А теперь моя прога.
Код


program my;
var a, b, c:real;
     x1, x2, x:real;
     D:real;
begin
writeln('Решение квадратного уравнения ax^+bx+c');
writeln('Введите a');
readln(a);
writeln('Введите b');
readln(b);
writeln('Введите с');
readln;
D:=sqr(D)-4*a*c;
if D>0 then
         begin
         x1:=(-b-sqrt(D))/(2*a);
         x2:=(-b+sqrt(D))/(2*a);
         writeln('x1=', x1);
         writeln('x2=', x2);
end;
if D=0 then
         begin
         x:=-b/(2*a);
         writeln('x=', x);
end;
if D<0 then writeln('Решений нет!');
readln;
end.


Это сообщение отредактировал(а) Voventus - 8.12.2004, 06:44
PM MAIL ICQ   Вверх
Akina
Дата 7.12.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



В программе имеется ошибка. Если не найдешь сам - то это ошибка в генах.

PS. Ввод копирайта мне тоже понравился...

Это сообщение отредактировал(а) Akina - 7.12.2004, 14:56


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Dayana
Дата 7.12.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: нет
Всего: 4



Voventus, а в где вопрос?
Добавлено @ 14:58
Akina, в программе ни одна ошибка...
PM MAIL ICQ   Вверх
Fedor
Дата 7.12.2004, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата(Voventus @ 7.12.2004, 13:42)
D:=sqr(D)-4*a*c;

!!!!
Эта строчка сразу в двух местах - источник бед

Это сообщение отредактировал(а) Morpheus - 7.12.2004, 16:23


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Zero
Дата 7.12.2004, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Morpheus @ 7.12.2004, 16:22)
сразу в двух местах - источник бед

А почему в двух местах, помоему он просто опечатался в одном месте???
D ─> b smile
PM MAIL ICQ   Вверх
Akina
Дата 7.12.2004, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Zero
Возникает вопрос - он что, текст в окне темы тюкал? что-то я засомневался. Занчит, копировал. А раз так, и в тексте есть ошибки - то не проверял либо работу программы, либо выдаваемые ею результаты... скорее ляпа таки в генах...

Я уж не говорю о том что если 2 решения совпадают - их можно вывести один раз, ладно, но при наличии комплексных корней говорить что их нет вообще - сакс.

Ну и груда логических и алгоритмических ляпов. Что будет, если а=0? что будет, если b*b не помещается в real?

а интерфейс...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Voventus
Дата 7.12.2004, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.12.2004
Где: г. Владивосток

Репутация: нет
Всего: нет



Akina! Да, действительно в окне тюкал тюкал! smile
Если a=0, то уравнение типа ax^+bx+c=0 - уже НЕ квадратное, а линенйное!!!!!
Я думаю, что никому не придет в голову решать уравнение типа 3x+3=0 через дискриминант. smile
PM MAIL ICQ   Вверх
Akina
Дата 7.12.2004, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



ну-ну...

Цитата(Voventus @ 7.12.2004, 19:44)
Я думаю, что никому не придет в голову решать уравнение типа 3x+3=0 через дискриминант.

Больше никогда так не думай.

Например: ты сделал алгоритм чего-то и реализовал его программно. В данном случае решение квадратного уравнения. Кто-то берет твой алгоритм и превращает его в процедуру, заменив ввод исходных данных из командной строки на передачу параметров, и использует в своей программе. Все что надо соблюдено, имена-типы... однако в процессе работы часть передаваемых подпрограмме уравнений оказывается вырожденной, в результате у человека программа падает или того хуже - глючит. А кто ему в карман нагадил?

Не хочешь делать хорошо - не делай вообще. Или делай, но никому не рассказывай, пока не сделаешь хорошо. ИМХО.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zero
Дата 7.12.2004, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Morpheus @ 7.12.2004, 16:22)
сразу в двух местах - источник бед

Ещё раз, почему в двух местах, я что-то непонял???
PM MAIL ICQ   Вверх
Fedor
Дата 7.12.2004, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата(Akina @ 7.12.2004, 17:37)
но при наличии комплексных корней говорить что их нет вообще - сакс.

между прочем, в средней школе так и делают. Или ты учил комплексные числа в школе?

Цитата(Akina @ 7.12.2004, 17:37)
если b*b не помещается в real?
а интерфейс...

Не грузи человека!:) Скорее всего, на этом примере они учат основы Паскаля - операции с действительными числами, условия. А ты интерфейс...

Цитата(Zero @ 7.12.2004, 18:21)
почему в двух местах

smile в одном, в одном. Я затупил. Забыл формулу дискриминанта. Переучил матанализ... smile


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
geckelberryfinn
Дата 7.12.2004, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 3.12.2003

Репутация: нет
Всего: нет



Цитата(Voventus @ 7.12.2004, 14:42)
-b+sqrt(D)/(2*a)


Если я не ошибаюсь, то должно быть так

Код

(-b+sqrt(D))/(2*a);


А вообще давно уже вручную не считал smile
PM MAIL   Вверх
Voventus
Дата 8.12.2004, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.12.2004
Где: г. Владивосток

Репутация: нет
Всего: нет



Akina, РАЗ УЖ ВЫ НАСТАИВАЕТЕ, то тгда вот:
Код


program Quad;

Var
A,B,C,D: Double;
S: String;
Done: Boolean;
begin
Repeat
WriteLn('Программа решения квадратного уравнения A*x^2+B*x+C=0');
Write('Введите A: '); ReadLn(A);
Write('Введите B: '); ReadLn(B);
Write('Введите C: '); ReadLn(C);
WriteLn;
WriteLn('Решение:');

If A=0 Then Begin
If B=0 Then Begin
If C=0 Then Begin
WriteLn('x - любое число');  
End Else Begin
WriteLn('Корней нет');
End;
End Else Begin
WriteLn('x=',-C/B);  
End;
End Else Begin
D:=B*B-4*A*C;
If D=0 Then Begin
WriteLn('x=',-B/2/A);  
End Else Begin
If D>0 Then Begin
WriteLn('x1=',(-B+sqrt(D))/2/A);  
WriteLn('x2=',(-B-sqrt(D))/2/A);
End Else Begin
WriteLn('x1=',-B/2/A,'+i*',sqrt(-d)/2/Abs(A));  
WriteLn('x2=',-B/2/A,'-i*',sqrt(-d)/2/Abs(A));
End;
End;
End;

WriteLn;
Write('Решить ещё одно уравнение? (y/n) '); ReadLn(S);
Done:=(S<>'y');
Until Done;
end.


Это сообщение отредактировал(а) Voventus - 8.12.2004, 12:03
PM MAIL ICQ   Вверх
Zero
Дата 8.12.2004, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



А я запетил ещё одну ошибку, коментарии в паскале через дробь не разрешены... smile
PM MAIL ICQ   Вверх
Voventus
Дата 8.12.2004, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 7.12.2004
Где: г. Владивосток

Репутация: нет
Всего: нет



Zero да это чтобы вам было понятно!
PM MAIL ICQ   Вверх
Zero
Дата 8.12.2004, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Да мне то понятно, это я так к слову smile
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1221 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.