![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 15
|
![]()
Как выполнить вот эти действия - если написал "1", то выход из программы, а если "2", то возврат к началу
![]() var a,b,c,x1,x2,d,y:real; begin write('A='); read(a); write('B='); read(b); write('C='); read(c); d:=b*b-4*a*c; x1:=(-b+sqrt(d))/2*a; x2:=(-b-sqrt(d))/2*a; writeln('X1=',x1); writeln('X2=',x2); writeln('Задача решена? Если да, то напишите "1", иначе "2"); read(y); if y:=1 then end else... а дальше не знаю Заранее спасибо. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
например, так:
Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
![]()
Можно использовать метку, например Label_1.
var a,b,c,x1,x2,d,y:real; Label Label_1; begin Label_1: write('A='); read(a); write('B='); read(b); write('C='); read(c); d:=b*b-4*a*c; x1:=(-b+sqrt(d))/2*a; x2:=(-b-sqrt(d))/2*a; writeln('X1=',x1); writeln('X2=',x2); writeln('Задача решена? Если да, то напишите "1", иначе "2"); read(y); if y <> 2 then goto Label_1; end
ICQ: 593-013-807
|
![]() |
![]() |
![]() |
#4 |
ТАМБОВСКИЙ ВОЛК.
Участник клуба
Регистрация: 16.03.2010
Сообщений: 1,354
|
![]()
Работа с метками это правила плохого тона программирования.
にんじゃ
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 15
|
![]()
опачки, спасибо большое, все работает
![]() |
![]() |
![]() |
![]() |
#6 |
ТАМБОВСКИЙ ВОЛК.
Участник клуба
Регистрация: 16.03.2010
Сообщений: 1,354
|
![]()
Всё будет работь только при условии что B>a и больше с.Вбей 1 2 3.И будет ошибка.Если я неошибаюсь.
にんじゃ
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 15
|
![]()
Блин, еще одна проблема:
var a,b,c,x1,x2,d:real; y:integer; begin repeat write('A='); read(a); write('B='); read(b); write('C='); read(c); D:=b*b-4*a*c; x1:=(-b+sqrt(d))/2*a; x2:=(-b-sqrt(d))/2*a; writeln('X1=',x1); writeln('X2=',x2); writeln('Задача решена? Если да, то напишите "1", иначе "2"'); read(y); until(y=1); end. Маленько переделал прогу, все возвращается, но почему то ответ неправильный, если подсчитать просто математическим способом, то, например при a=5; b=9; c=-2 должны получиться корни x1=0,2; x2=-2, но в проге получается x1=5; x2=-50, что тут еще может быть не так? Я думаю, что-то с формулой не то, но она должна быть правильная - это формула квадратного уравнения, помогите, кто хорошо знает алгебру ![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 15
|
![]() |
![]() |
![]() |
![]() |
#9 |
ТАМБОВСКИЙ ВОЛК.
Участник клуба
Регистрация: 16.03.2010
Сообщений: 1,354
|
![]()
потому что корень из отрицательного числа.
にんじゃ
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 15
|
![]()
разве?
![]() Ну если я правильно написал конечно... корень вроде будет sqrt, ну, вот я и написал sqrt(d)... а разве он мне не выдаст ошибку, если под корнем будет отрицательное число? ![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программа, которая изображает рассвет в лесу,(отразить переход от ночного времени к началу дня) | Серый777 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.05.2010 18:24 |
Сформировать новый список, в котором элементы следуют от конца к началу | Ma666oT | Помощь студентам | 7 | 02.04.2010 00:15 |
подскажите какой компилятор и язык выбрать чтоб по началу не было проблем с библиотеками и учебниками? | TDrive | Общие вопросы C/C++ | 5 | 03.08.2009 15:27 |
Определить какая из точек находится ближе к началу координат(алгоритм ветвления). | Rakfeller | Паскаль, Turbo Pascal, PascalABC.NET | 16 | 25.01.2009 02:01 |
начало второй нарисованной линии должно передвинутся к началу первой. Delphi | maddamo4ka | Помощь студентам | 7 | 08.12.2008 19:19 |