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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> КВадратное уравнение, обычная программа с дискриминантом 
:(
    Опции темы
Baxy
Дата 12.11.2004, 20:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код
Program N3;  
var  
A,B,C: Real;  
X1,X2: Real;  
D: Real;  
begin  
Writeln('Программа решения квадратных уравнений. Welcome!');  
Write('Введите A: ');  
Readln(A);  
if A = 0 then  
begin  
Write('Нельзя, чтобы A было равно нулю!');  
Readln;  
Halt;  
end;  
Write('Введите B: ');  
Readln(B);  
Write('Введите C: ');  
Readln©;  
Writeln('Решаем уравнение: ',A:5:2,'x^2 +',B:5:2,'x +',C:5:2,' = 0');  
Writeln;  
D := B*B-(4*A*C);  
if D < 0 then  
begin  
Write('D меньше нуля! Так нельзя...');  
Readln;  
Halt;  
end;  
X1 := (B*-1) + sqrt(D);  
X1 := X1 / (2*A);  
X2 := (B*-1) - sqrt(D);  
X2 := X2 / (2*A);  
Writeln('D: ',D:5:2);  
Write('X1: ',X1:5:2, ' X2: ',X2:5:2);  
Readln;  
end.

  Вверх
p0s0l
Дата 12.11.2004, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



И что с этим надо сделать ?


--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 12.11.2004, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Перенесено из раздела Дельфи


--------------------
С уважением, г-н Посол.
PM   Вверх
MacTep
Дата 13.11.2004, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
И что с этим надо сделать ?
Любоваться на красивый код!!! smile


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Pakshin A. S.
Дата 13.11.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кстати не очень-то красиво...
1) При a = 0 мы емеем одно решение уравнения.
2) при D = 0 мы имеет одно решение, а у него два.
PM   Вверх
Pakshin A. S.
Дата 13.11.2004, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вообще вся эта патеха должна быть так:
Код

Program N3;  
var  
 A,B,C: Real;  
 X1,X2: Real;  
 D: Real;  
begin  
 Writeln('Программа решения квадратных уравнений. Welcome!');  
 Write('Введите A: ');  
 Readln(A);  
 Write('Введите B: ');  
 Readln(B);  
 Write('Введите C: ');  
 Readln(C);  
 Writeln('Решаем уравнение: ',A:5:2,'x^2 +',B:5:2,'x +',C:5:2,' = 0');  //  ещё эта строка не очень красива...
 Writeln;  
 Write('Ответ: ');
 if a = 0
  then
   writeln((-С)/B:5:2)
  else
   begin
    D := B*B-(4*A*C);  
    if D < 0 then  
      Write('Решений нет')
     else
      if D = 0
       then
        write((-1)*B/(2*A):5:2)
       else
         write(((-1)*B + sqrt(D))/(2*A):5:2, ' и ', ((-1)*B - sqrt(D))/(2*A):5:2);
Readln;  
end.

PM   Вверх
New Invision Master
Дата 13.11.2004, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 27.8.2004
Где: Москва, РФ

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



Ошибка!
Код

writeln((-С)/B:5:2)


PM MAIL ICQ   Вверх
New Invision Master
Дата 13.11.2004, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 27.8.2004
Где: Москва, РФ

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



PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 13.11.2004, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Обломись!!!! Строка абсолютно правильная!!!

вот такой код
Код

writeln(9/5:5:2)

выведет на экран
следующее:
Цитата

1.80

Это - ФОРМАТИРОВАННЫЙ ВЫВОД значений типа real!


Проверено да консоли от Delphi7 и TP for Win.
PM   Вверх
Pakshin A. S.
Дата 13.11.2004, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Модернизированный вариант:
Код

var
A,B,C:real;
D:real;
f:boolean;
begin
writeln('Решение уравнения типа Ax*x+B*x+C=0');
writeln;
write('Введите коэффициенты уравнения через пробел -> ');
read(A,B,C);
readln;
writeln('Имеем уравнение:');
f:=false;
if A <> 0
 then
  begin
   write(A:5:2, 'x*x');
   f:=true;
  end;
if (B > 0) and f
 then
  write('+');
if B <> 0
 then
  begin
   f:=true;
   write(B:5:2,'*x');
  end;
if (C > 0) and f
 then
  write('+');
if C <> 0
 then
  write(C:5:2);
if (A+B+C) = 0
 then
  write('0');
writeln('=0');
if (A = 0) and (b <> 0)
 then
  writeln('Ответ: x=', (-C)/B:5:2)
 else
  if (A = 0) and (b = 0)
   then
    begin
     writeln('Ответ: число x - отсутствует в уравнении');
     if C <> 0
      then
       writeln('            получено неверное тождество')
      else
       writeln('            получено верное тождество');
    end
   else
    begin
      D:=sqr(B) - 4*A*C;
      writeln('D = ',D:5:2);
      write('Ответ: ');
      if D < 0
       then
        writeln('х не существует')
       else
        if D = 0
         then
          writeln('x = ', (-B)/(2*A):5:2)
         else
          writeln('x принадлежит {',((-B)+sqrt(D))/(2*A):5:2,';',((-B)-sqrt(D))/(2*A):5:2,'}');
    end;
writeln;
writeln('Press <Enter>...');
readln;
end.

PM   Вверх
New Invision Master
Дата 14.11.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 27.8.2004
Где: Москва, РФ

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



Вот и прога!

Что за дорога!

Скачать

Это сообщение отредактировал(а) New Invision Master - 14.11.2004, 16:48
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 14.11.2004, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(New @ 14.11.2004, 17:46)
Что за дорога!

Модератор: Прошу Вас в моём разделе изъясняться конкретно!!! Безо всяких присказок!!!
PM   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

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

3. Оффтопить

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

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

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


 




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


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

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