Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.09.01;
Скачать: [xml.tar.bz2];

Вниз

Квадратное уравнение   Найти похожие ветки 

 
Женя   (2012-12-21 12:43) [0]

Здравствуйте, посмотрите кому не тяжело, правильно ли я решила уравнение на Паскаль.


program prg_4;
uses
 crt;
label
 lb;
var
  mode: Integer;
  A,B,C,D: Real;
begin
lb:
 clrscr;
 write("A = ");
 readln(A);

 if (A = 0) then
 begin
   writeln("Korney net");
   readln;
   goto lb;
 end;

 write("B = ");
 readln(B);

 write("C = ");
 readln(C);

 D := B * B - 4 * A * C;

 writeln("");
 writeln("Otvet:");

 if (D = 0) then
 begin
   writeln("X1 = X2 = ",(-B)/(2*A):6:2);
 end;

 if (D > 0) then
 begin
   writeln("x1 = ",((-B+Sqrt(D))/(2*A)):6:2);
   writeln("x2 = ",((-B-Sqrt(D))/(2*A)):6:2);
 end;

 if (D < 0) then
 begin
   writeln("x1 = ",((Sqrt(-D))/(2*A)):6:2);
   writeln("x2 = ",((-Sqrt(-D))/(2*A)):6:2);
 end;

 writeln("");
 writeln("vveite 0 - vixod, 1 - prodoljit");
 readln(mode);

 if(mode = 0) then Exit;
 if(mode = 1) then goto lb;
end.


 
брат Птибурдукова   (2012-12-21 12:48) [1]

лейблы убери, crt убери, вариант с A=0 продумай получше (сообщение неправильное), вариант с D<0 неправильный


 
Жека   (2012-12-21 12:57) [2]

A=0 - понятно, поменяю
D<0 - корней нет.

зачем убирать CRT и LABEL

СПАСИБО.

ОП новый вариант:

program prg_4;
uses
 crt;
label
 lb;
var
  mode: Integer;
  A,B,C,D: Real;
begin
lb:
 clrscr;
 write("A = ");
 readln(A);

 if (A = 0) then
 begin
   writeln("Uravnenie virajdeno");
   readln;
   goto lb;
 end;

 write("B = ");
 readln(B);

 write("C = ");
 readln(C);

 D := B * B - 4 * A * C;
 writeln("");
 writeln("Otvet:");

 if (D = 0) then
 begin
   writeln("X1 = X2 = ",(-B)/(2*A):6:2);
 end;

 if (D > 0) then
 begin
   writeln("x1 = ",((-B+Sqrt(D))/(2*A)):6:2);
   writeln("x2 = ",((-B-Sqrt(D))/(2*A)):6:2);
 end;

 if (D < 0) then
   writeln("Korney net D = ",D:6:2);

 writeln("");
 writeln("vveite 0 - vixod, 1 - prodoljit");
 readln(mode);

 if(mode = 0) then Exit;
 if(mode = 1) then goto lb;
end.


 
брат Птибурдукова   (2012-12-21 13:27) [3]

Косметика исправлена, а принципиальные гадости — лейблы — на месте. И Exit тут совершенно не к месту.


 
Игорь Шевченко ©   (2012-12-21 14:15) [4]


>  writeln("Uravnenie virajdeno");


куда ?


 
Юрий Зотов ©   (2012-12-21 14:25) [5]

Женя, метками и goto пользоваться можно, но это считается не очень хорошим стилем (хотя непонятно, почему). Ну и если уж рассматривать разные варианты (нет корней, один корень, два корня...), то надо рассматривать все.

В общем, посмотрите вот это. Писал "с ходу", могут быть ошибки, проверьте.

program prg_4;
var
 mode: byte;
 A, B, C, D: real;
begin
 repeat
   write("Введите A, B, C через пробел: ")l
   readln(A, B, C);
   if A = 0 then
     if B = 0 then
       if C = 0 then
         writeln("Корень - любое число")
       else        
         writeln("Корней нет")
     else
       writeln("X= ", -C / B:6:2)
   else
     begin
       D :=  B * B - 4 * A * C;
       if D <  0 then
         writeln(Действительных корней нет")
       else        
         if D = 0 then
           writeln("X1 = X2 = ", -B / (2 * A) :6:2)
         else
           writeln("X1 = ", (-B - Sqrt(D)) / (2 * A) :6:2,
             ", X2 = ", (-B + Sqrt(D)) / (2 * A) :6:2);
         repeat
           write("Введите 0 - выход, 1 - продолжить: ");
           readln(mode)
         until
           mode in [0, 1]
     end
 until
   mode = 1
end.


 
Юрий Зотов ©   (2012-12-21 14:26) [6]

Поправка:

until
 mode = 0


 
Женя   (2012-12-21 15:39) [7]


> Юрий Зотов ©   (21.12.12 14:25) [5]


Спасибо.


 
Юрий Зотов ©   (2012-12-21 17:24) [8]

В самом начале программы (перед repeat) вставьте:
mode := 0


 
Юрий Зотов ©   (2012-12-22 00:54) [9]

Женя, в программе [5] есть серьезная ошибка. Постарайтесь найти ее и исправить, а если не получится - спрашивайте.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.09.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
2-1355923802
guest123
2012-12-19 17:30
2013.09.01
Дефайны


15-1364233505
wl
2013-03-25 21:45
2013.09.01
Виброакустическая колонка и вред для винчестеров


15-1363267161
brother
2013-03-14 17:19
2013.09.01
У кого Win7x64


15-1364579022
alexdn
2013-03-29 21:43
2013.09.01
Давненько о космосе не было


15-1364321098
TStas
2013-03-26 22:04
2013.09.01
Что такое искусственный интелект?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский