Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 16.02.2010, 21:59   #11
L_M
ФорумчанинФорумчанин
 
Регистрация: 25.02.2008
Сообщений: 289
Репутация: 41

icq: 563981551
По умолчанию

Код:
Program Sq2;
Var A, B, C, D, X, X1, X2 : Real;
Begin
Writeln ('Введите коэффициенты уравнения (A, B, C, D) ');
readln(a,b,c,d);
c:=c-d;
If A=0 Then
writeLn('x=',-c/b)
else
If (B=0)and(C=0) Then Writeln('X - любое число')
Else Writeln('Корней нет! ')
Else 
Begin 
X:=-C/B; 
Writeln('X=',X:8:3); 
End
Else
Begin
D:=B*B-4*A*C;
If D<0 Then Writeln ('Корней нет! ')
Else
Begin
X1:=(-B+SQRT(D))/2/A;
X2:=(-B-SQRT(D))/2/A;
Writeln ('X1=', X1:8:3, ' X2=',X2:8:3);
End;
End;
End.
Вот так?
__________________
Упс...
L_M вне форума   Ответить с цитированием
Старый 16.02.2010, 22:11   #12
Базиля
Профессионал
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Адрес: СПб
Сообщений: 1,013
Репутация: 327
По умолчанию

вот код под требования твоего преподавателя
Код:
Program zad1;
Var a,b,c,d,x,x1,x2:real;
Begin
Writeln('Введите A,B,C');
readln(a,b,c);
If a=0 Then
begin
x:=-c/b;
writeln('x=',x:8:3);
Halt;
end
else
d:=sqr(b)-(4*a*c);
if d<0 then
writeln('нет решения')
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1=',x1:8:3);
writeln('x2=',x2:8:3);
end;
End.
L_M
Код:
X1:=(-B+SQRT(D))/2/A;
X2:=(-B-SQRT(D))/2/A;
?
Базиля вне форума   Ответить с цитированием
Старый 16.02.2010, 23:58   #13
kykyseno4ek
Пользователь
 
Регистрация: 14.02.2010
Сообщений: 11
Репутация: 10
По умолчанию

L_M, Базиля
Спасибо большое))Выручили блондинку я тут голову ломала как изменить прогу)))
kykyseno4ek вне форума   Ответить с цитированием
Старый 26.09.2010, 15:36   #14
Max</C/>im
 
Регистрация: 26.09.2010
Сообщений: 3
Репутация: 10
По умолчанию

Помогите с задачей:нахождение корней квадратного уравнения с помощью case и без if и goto.Заранее благодарен.
Max</C/>im вне форума   Ответить с цитированием
Старый 26.09.2010, 17:11   #15
Niro
Участник клуба
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
Репутация: 217
По умолчанию

Вообще-то насколько я помню одна тема - один вопрос, да и от одного пользователя. Ну да ладно. Решение моё я бы назвал некрасивым, но держи что придумал.

Код:
uses crt;
var a,b,c,d,x1,x2: real;
         ch: char;
         i:integer;
      s1,s2: string;
begin
clrscr;
writeln('vvedite a,b,c');
read(a,b,c);
d:=sqr(b)-(4*a*c);
str(d,s1);
s2:=copy(s1,1,1);
ch:=s2[1];
i:=round(d);
case i of
0: begin
     x1:=-b/(2*a);
     writeln('x1= ',x1:0:4);
     readln;
   end;
else begin
        case ch of
        '-': begin writeln('kornei net'); readln; end;
        else begin
	        x1:=(-b+sqrt(d))/(2*a);
	        x2:=(-b-sqrt(d))/(2*a);
	        writeln('x1= ',x1:0:4);
	        writeln('x2= ',x2:0:4);
                readln;
             end;
        end;
     end;
end;

readln;
end.
Идея такая, если не понятно; сначала проверяем дескриминант на ноль - равен считаем. Если нет то проверяем не равен ли первый символ дескриминанта минусу - если равен корней нет, иначе получаем что дискр. больше нуля и считаем.

А я пошёл спать поздно уже у нас...
__________________
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума   Ответить с цитированием
Старый 26.09.2010, 17:46   #16
Max</C/>im
 
Регистрация: 26.09.2010
Сообщений: 3
Репутация: 10
По умолчанию

Niro спс а без строк никак нельзя проще?
Max</C/>im вне форума   Ответить с цитированием
Старый 26.09.2010, 18:05   #17
russian-stalker
Профессионал
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
Репутация: 489
По умолчанию

Бред, но вот:
Код:
var
   a, b, c, d: real;
begin
   readln(a,b,c);
   d := sqr(b)-4*a*c;
   case d>0 of
     true:
     begin
        writeln((-b+sqrt(d))/(2*a));
        writeln((-b-sqrt(d))/(2*a));
     end;
     false:
       case d<0 of
          true: writeln('корней нет');
          false: writeln(-b/(2*a));
       end;
   end;
end.

Последний раз редактировалось russian-stalker; 27.09.2010 в 07:22.
russian-stalker вне форума   Ответить с цитированием
Старый 28.10.2010, 14:42   #18
TaH9l
Новичок
 
Регистрация: 28.10.2010
Сообщений: 1
Репутация: 10
По умолчанию

Помогите пожалуйста сделать задачу я уже не могу мозг кипит.

Написать и выполнить отладку программы, решающую квадратное уравнение вида . Пользователь должен получить на экране найденные программой корни уравнения, введя коэффициент a, b, c. Ели корень уравнения один, или же уравнение не имеет корней, то должны быть выведены соответствующие сообщения
TaH9l вне форума   Ответить с цитированием
Старый 25.08.2011, 20:19   #19
KichNak
Новичок
 
Регистрация: 25.08.2011
Сообщений: 2
Репутация: 10
По умолчанию нашел ошибочку

нашел ошибку входе забыл добавить переменную result, а так все работает
Код:
program Untitled;
uses crt;
var
   a,b,c,d:integer;
   x,xx:real;
   result:real;
function lin(b,c:integer):real;
begin
     result:=((-1)*c)/b;
end;
function des(a,b,c:integer):integer;
begin
     result:=(b*b)-(4*a*c);
end;
procedure resh(a,b,c,d:integer;var x,xx:real);
begin
  x:=(((-1)*b)+sqrt(d))/2*a;
  xx:=(((-1)*b)-sqrt(d))/2*a;
end;
begin
  writeln('Enter coeffisents');
  readln (a, b, c);
  if a<>0 then
     begin
       d:=des(a,b,c);
       if d<0 then
          begin
               writeln('No operations');
          end
          else
          begin
               resh(a,b,c,d,x,xx);
               writeln('X1= ',x, ' X2= ',xx);
          end;
     end
     else
     begin
         x:=lin(b,c);
         writeln('X= ',x);
     end;
    readkey;
end.
KichNak вне форума   Ответить с цитированием
Старый 25.08.2011, 20:36   #20
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,845
Репутация: 5617
По умолчанию

Цитата:
нашел ошибку входе забыл добавить переменную result, а так все работает
Вы КАТЕГОРИЧЕСКИ не правы.
Ошибка в коде действительно есть.

Только устранили Вы её криво!

Приведённый Вами код написан (явно ошибочно!)
под старшие версии Паскаля (например, ObjectPascal (так же известный как Delphi))
Там переменная result означает значение функции.

Если тот же код переписать для старого классического TurboPascal, то это будет выглядеть так:
Код:
program Untitled;
uses crt;
var
   a,b,c,d:integer;
   x,xx:real;
function lin(b,c:integer):real;
begin
     lin:=((-1)*c)/b;
end;
function des(a,b,c:integer):integer;
begin
     des:=(b*b)-(4*a*c);
end;
procedure resh(a,b,c,d:integer;var x,xx:real);
begin
  x:=(((-1)*b)+sqrt(d))/2*a;
  xx:=(((-1)*b)-sqrt(d))/2*a;
end;
begin
  writeln('Enter coeffisents');
  readln (a, b, c);
  if a<>0 then
     begin
       d:=des(a,b,c);
       if d<0 then
          begin
               writeln('No operations');
          end
          else
          begin
               resh(a,b,c,d,x,xx);
               writeln('X1= ',x, ' X2= ',xx);
          end;
     end
     else
     begin
         x:=lin(b,c);
         writeln('X= ',x);
     end;
    readkey;
end.

p.s. с самим алгоритмом, который воплощён в данном коде, я не разбирался - лень..

p.s. зачем поднимать некротемы, я тоже не понимаю...
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
корни квадратного уравнения, пример Alexxx92 Помощь студентам 5 19.02.2009 00:37
Вычисления корней квадратного уравнения Наталья111 Общие вопросы Delphi 4 25.12.2008 12:06
решение Квадратного уравнения методом Виета Claster Помощь студентам 3 16.09.2008 20:18
Решение квадратного уравнения Stiv Assembler 2 30.11.2007 16:15
корни квадратного уравнения InseR Общие вопросы Delphi 12 01.06.2007 17:30


21:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.