Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.09.2014, 01:04   #1
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию Помогите пожалуйста

Здравствуйте, помогите пожалуйста переделать программу, вместе if, else, goto, надо сделать с case, вот программа
Код:
Program cwadr (input, output);
label 20;
var a, b, c, d, e, d1, x, x1, x2 : real;
begin
writeln ('введите a, b, c'); readln (a, b, c);
if a=0 then begin
 if b=0 then begin
 if c=0 then begin
 writeln ('x-любое число');
 goto 20; 
 end;
 writeln ('решений нет');
 goto 20; 
 end;
 writeln ('корень один x= ', x);
 goto 20; 
end;
d:= b*b-4*a*c; 
e:= 2*a;
if d=0 then begin
 writeln ('корни кратные х1 = х2 = ', -b/e);
 goto 20; 
end;
d1:= sqrt (abs (d));
if d<0 then begin
 writeln ('корни комплексно-сопряженные');
 writeln ('x1 = ', -b/e, ' -i* ', d1/e);
 writeln ('x2 = ', -b/e, ' +i* ', d1/e);
 goto 20; 
 end;
writeln ('корни действительные');
writeln ('x2 = ', ( - b+d1)/e );
writeln ('x1 = ', ( - b+d1)/e );
20:; 
end.

Последний раз редактировалось Stilet; 30.09.2014 в 08:15.
Vadim7721 вне форума
Старый 30.09.2014, 06:23   #2
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Утро понедельника плохо действует на человека) так что пока лучше этого не придумал если не пойдет то потом напишу по лучше
Код:
var a,b,c,d,x1,x2:Real;
begin
readln(a,b,c);
d:=(b*b)-(4*a*c);
case Round(d) of
-32768..-1: Writeln('noy korn!');
0: begin x1:=(-b)/(2*a); Writeln('x1=',x1); end;
1..32768:
begin
d:=Sqrt(d);
b:=-b;
x1:=(b-d)/(2*a);
x2:=(b+d)/(2*a);
Writeln('x1=',x1,'x2=',x2);
end;
end;
Readln;
end;
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума
Старый 30.09.2014, 10:04   #3
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Aranea tela telam, Спасибо большое, все работает, только ещё нужно было после Begin write('введите a, b, c'); и в конце End с ". " , а не " ; ", спасибо большое
Vadim7721 вне форума
Старый 30.09.2014, 10:17   #4
Aranea tela telam
Пользователь
 
Аватар для Aranea tela telam
 
Регистрация: 11.01.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Vadim7721 Посмотреть сообщение
Aranea tela telam, Спасибо большое, все работает, только ещё нужно было после Begin write('введите a, b, c'); и в конце End с ". " , а не " ; ", спасибо большое
Писал просто в блокноте не проверял)
Я учусь на своих ошибках, но порой их слишком много
Aranea tela telam вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44