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

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

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

> Решение квадратных уровнений., Задачку дали...
lFOXl
сообщение 16.04.2009 16:47
Сообщение #1


Новичок
*

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

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


Вот собственно в школе дали задачку по информатике. написать програмку, с использованием уже полученных знаний.
Ну думаю - напишу ка я решалку квадратных уровнений, штука полезная всетаки.
взялся писать. Все отлично шло, первая версия тупо щитала дискриминант и два корня. Ни проверки на дискриминант меньше, или равно нулю, ничего больше небыло.
Потом добавил проверку на дискриминант меньше нуля. Все ещ программа работала нормально.
Ну решил впихнуть запрос на выход (Y/N). Все работало.
НО! После добавления проверки на дискриминант равен нулю ( тогда вычисления идут по другой формуле), и вводом label'ов все перестало работать. проблемма собственно вот в чем:
Когда вычисления идут по стандартной форме, или вообще не идут по причине дискр. меньше нуля, то запрос работает хорошо, сбоев нет, по вводу "y" программа завершаеться. НО, если все идет по новой формуле - программа вообще ввода значения не производит. тоесть после вопроса "ВЫход (Y/N)" программа сразу начинает свое выполнение заного.


Program sqr_ur;
label 1,io;
var
y1: char;
a,b,c: integer;
d: real;
x,y: real;
begin


writeln('_______ _____ _ _ _____ ______ _____ ______');
writeln('|______ | | \___/ |_____] |_____/ | | | ____');
writeln('| |_____| _/ \_ | | \_ |_____| |_____|');
writeln('Добро пожаловать в программу решения квадратных уровнений!');

writeln('Для продолжения нажмите любую кнопку.');
readln;
while y1<>'y' do
begin
1:writeln('Введите а, b и с через пробел и нажмите кнопку Enter.');
read(a,b,c);
d:= (b*b)-(4*a*c);
if (d=0) then
begin
Writeln('Дискриминант равен нулю а значит вычисления пойдут по другой формуле.');
x:=((-1)*(b/2*a));

Writeln('X=', X:6:2);

goto io;

end;
if (d<0) then
begin
writeln('Дискриминант меньше нуля. Уровнение не имеет решений. Нажмите любую кнопку, чтобы начать сначала.');
readln;
readln;
goto 1;
end;
Writeln('Дискриминант равер', d:6:2,'Нажмите куда-нить, чтобы продолжить.');
readln;
x:= (b*(-1)+sqrt(d))/(a*2);
y:= (b*(-1)-sqrt(d))/(a*2);
Writeln('X1=', x:6:2);
writeln('X2=', y:6:2);
io:writeln('Уравнение решено! Выход? (Y/N)'); read (y1);

end;
end.

помогите кто-то разобраться... вроде правильно все. приму любую критику, т\к учусь только =)
П.С. все слова писал на русском, а кодировку винда не понимает паскалевскую. так что либо скопируйте текст в оболочку паскаль, либо вот вам исходник прикрепленный.

Поправил кодировку.

Сообщение отредактировано: volvo - 16.04.2009 17:10


Прикрепленные файлы
Прикрепленный файл  KV_UROV.PAS ( 1.29 килобайт ) Кол-во скачиваний: 175
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Айра
сообщение 16.04.2009 17:52
Сообщение #2


Профи
****

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

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


Не знаю) Без меток получается цикл, пока y1 не равно "y" решаем разные уравнения, а с ними несколько раз прыгать туда-сюда.. не рационально как-то)) (и думаю, если будешь показывать преподавателю, не воспримет sad.gif )

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

Сообщений в этой теме


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

 



- Текстовая версия 21.06.2025 1:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"