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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.10.2011, 14:24   #1
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию Ошибки в программе. Кто найдет?

program n49;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a,b,c,h,d, x1, x2 :real ;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write('Vvedite h=');
Readln(h);
a:=Sqrt(Abs(sin(8*h))+17/(sqr(1-sin(4*h)*cos((h*h)+18))));
b:=1-(Sqrt(3/(3+abs(Sin(a*(h*h))/cos(a*(Sqr(h))-sin(a*h))))));
c:=a*H*h*sin(b)*h+b*(h*h*h)*cos(a)* h;
d:=Sqrt(b*b-4*a*c);
if
d<0
then
begin
x1:=(-b+d)/(2*a*c);
x2:=(-b-d)/(2*a*c);
end
writeln('x1 = ', x1, 'x2=',x2 )
else
writeln('korney net');
Readln;
end.
Fatalita вне форума
Старый 12.10.2011, 14:32   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Для начала - здрасьте
Цитата:
d:=Sqrt(b*b-4*a*c);
а если "b*b-4*a*c" уже меньше нуля? и вы пытаетесь извлечь из него корень - ошибка
Цитата:
if d<0 then
наоборот
Код:
if d>0 then
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума
Старый 12.10.2011, 14:33   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Что конкретно не получается и в чём выражаются ошибки?
Вадим Мошев вне форума
Старый 12.10.2011, 14:33   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

функция корня всегда возвращает положительное число так что ваш if не отрабатывает. И проверку d нужно поставить до извлечения корня.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Старый 12.10.2011, 14:35   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А ошибочка типо "Error in stateming"??
смотрим
Код:
if 
 d<0 
 then
 begin
 x1:=(-b+d)/(2*a*c); 
 x2:=(-b-d)/(2*a*c); 
 end 
 writeln('x1 = ', x1, 'x2=',x2 )
 else
после блока then идёт Writeln а потом else!
эДобавте writeln в блок then
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума
Старый 12.10.2011, 14:38   #6
iCaesy
In progress...
Форумчанин
 
Регистрация: 25.09.2011
Сообщений: 161
По умолчанию

Код нужно вставлять вот так
Код:
код
Вот рабочая версия
Код:
program n49;

var
a,b,c,h,x1,x2,d:real;
begin

write('Vvedite h=');
Readln(h);
a:=Sqrt(Abs(sin(8*h))+17/(sqr(1-sin(4*h)*cos((h*h)+18))));
b:=1-(Sqrt(3/(3+abs(Sin(a*(h*h))/cos(a*(Sqr(h))-sin(a*h))))));
c:=a*H*h*sin(b)*h+b*(h*h*h)*cos(a)* h;
d:=Sqrt(b*b-4*a*c);
if d>0 then
begin
x1:=(-b+d)/(2*a*c);
x2:=(-b-d)/(2*a*c);
end;
writeln('x1 = ', x1, 'x2=',x2 );
if d<0 then begin
writeln('korney net');
end;
Readln;
end.
iCaesy вне форума
Старый 12.10.2011, 14:48   #7
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Компилятор не удерживает. вводим h и все пропадает.
В этом и проблема.
Куда еще воткнуть readln?
Fatalita вне форума
Старый 12.10.2011, 14:55   #8
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

[QUOTE= И проверку d нужно поставить до извлечения корня.[/QUOTE]
Тогда в чем будет заключаться условие?
Fatalita вне форума
Старый 12.10.2011, 15:11   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Компилятор не удерживает. вводим h и все пропадает.
В этом и проблема.
Дак ёпт он и в реал-тайме не чё не выдаёт?
Чё тогда гадать пошагово прогони программу!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума
Старый 12.10.2011, 16:09   #10
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Все исправила. Ошибки устранены. Программа работает. Спасибо)
Fatalita вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки в программе Imche Общие вопросы C/C++ 2 13.09.2011 21:05
ошибки в программе ShadowAGT Помощь студентам 8 27.09.2010 20:54
Ошибки в программе! Ivanito Общие вопросы C/C++ 3 15.05.2010 20:01
ошибки в программе по С++ Игорь11071990 Помощь студентам 2 20.01.2010 14:22
ошибки в программе gralex10 Помощь студентам 0 16.12.2009 00:37