IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Корни квадратного уравнения
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Всем хай, помогите найти ошибку в проге для решения квадратных уравнений.


Program EX_3;
var
a,b,c:real;
x1,x2:real;
D:real;
Begin
Writeln ('Reshenie kvadratnogo uravnenie');
Writeln ('Vvedite A');
Readln (a);
Writeln ('Vvedite b');
Readln (b);
Writeln ('Vvedite c');
Readln ( c);
D:=(b*b)-4*(a*c);
if D>0 then
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
Writeln ('Pervyi kopenb', x1);
Writeln ('VtopoI kopenb', x2)
end.
If D=0 then
x1:=-b/2*a;
Writeln ('Odin kopenb' , x1);
end;
If D<0 then
Writeln (HET KOPNEU');
Readln
end.


blink.gif blink.gif blink.gif

В следующий раз пользуйся тегами

Сообщение отредактировано: klem4 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Program EX_3;
var
a,b,c:real;
x1,x2:real;
D:real;
Begin
Writeln ('Reshenie kvadratnogo uravnenie');
Writeln ('Vvedite A');
Readln (a);
Writeln ('Vvedite b');
Readln (b);
Writeln ('Vvedite c');
Readln ( c);
D:=(b*b)-4*(a*c);
if D>0 then begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
Writeln ('Pervyi kopenb', x1 :2:3);
Writeln ('VtopoI kopenb', x2 :2:3)
end
else
If D=0 then begin
x1:=-b/2*a;
Writeln ('Odin kopenb' , x1 :2:3);
end
else
Writeln ('HET KOPNEU');
Readln
end.



Ошибки были в синтаксисе .. но есть и логические, что будет если ввести a=0 ? ;)

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


 var
a,b,c, x1,x2, D :single;
Begin
writeln ('Reshenie kvadratnogo uravnenie');
write ('Vvedite A='); Readln ( a );
write ('Vvedite b'); Readln ( b );
write ('Vvedite c'); Readln ( c );
D:=sqr(b)-4*(a*c);
if D>0 then begin {BEGIN!}
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
Writeln ('Pervyi kopenb', x1);
Writeln ('VtopoI kopenb', x2)
end;
If D=0 then begin {begin}
x1:=-b/2*a;
Writeln ('Odin kopenb' , x1);
end;
If D<0 then writeln ('HET KOPNEU');
Readln
end.


Цитата
что будет если ввести a=0 ? ;)

Цитата
для решения квадратных уравнений.

;)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
для решения квадратных уравнений.


И что дальше ? А если я случайно введу 0 ? Защиту от дурака всеравно надо делать smile.gif)

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Спасибо. Т.к я только учусь, не могли бы вы мне помочь с учебником. Подкиньте ссылочек.
Сейчас у меня веб-версия В.В. Зелинского за 2000 г. Его легко найти в инете. Помогите найти лучше.. Т.к я работаю с Qbasic и в паскале полный 0 blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Т.к я работаю с Qbasic и в паскале полный 0

А в бейсике что-то понимаешь ? Тогда не вижу проблемм ... синтаксис да и семантика похожи... (ИМХО).
Цитата
Подкиньте ссылочек.

http://pascal.dax.ru/?books
здесь есть все и даже больше.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Аначинать с самоучителя Фаронова ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ребята, ну что же происходит blink.gif Кто же сравнивает НЕ целые числа с нулем? Мало обжигались на этом?

Я бы все-таки поменял структуру программы:

if D>0 then begin
{ действия по положительному D }
end
else
if D<0 then writeln ('HET KOPNEU')
else begin
{ действия по D = 0 }
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


да если на то пошло, в данном случае, не важно будет там 0 или нет, просто 1 одинаковых корня получим.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Интересно, вот тест, до 16 знака выдает правильный результат ... а в каком случае может быть сбой ?

uses crt;
var
e : extended;
count : byte;

begin

clrscr;

e := 0.1;
count := 0;

while (count <= 16) do begin
writeln(e:1:17,' ',e<0,' ',e=0,' ',e>0);
e := e / 10;
inc(count)
end;
readln;
end.


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ну обсуждали ведь это уже!!!
В прошлом году по аське ходила ведь прога, в которой после 6 итераций 0.6 - 0.1 получался НЕ ноль....


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 8:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name