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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2013, 11:45   #11
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
var
  x, y: real;
  g: double;

begin
//  clrscr;
  writeln('Лабораторная работа 1');
  writeln('---------------------');
  write('Введите значение переменной x, x=');
  readln(x);
  write('Введите значение переменной y, y=');
  readln(y);
  writeln('(1 + cos(x + y)) = ', (1 + cos(x + y)));
  writeln('abs(exp(x) - 2 * y / (1 + sqr(x) * sqr(y))) = ', abs(exp(x) - 2 * y / (1 + sqr(x) * sqr(y))));
  writeln('exp(3 * ln(x)) = ', exp(3 * ln(x)));
  writeln('arctan(y / sqrt(1 - sqr(y))) = ', arctan(y / sqrt(1 - sqr(y))));  
  g := (1 + cos(x + y)) / (abs(exp(x) - 2 * y / (1 + sqr(x) * sqr(y)))) * exp(3 * ln(x)) + arctan(y / sqrt(1 - sqr(y))); 
  writeln('g= ', g);
  writeln('Для продолжения нажмите любую клавишу');
  readln();
end.
Цитата:
Лабораторная работа 1
---------------------
Введите значение переменной x, x=2
Введите значение переменной y, y=3
(1 + cos(x + y)) = 1.28366218546323
abs(exp(x) - 2 * y / (1 + sqr(x) * sqr(y))) = 7.22689393676849
exp(3 * ln(x)) = 8
arctan(y / sqrt(1 - sqr(y))) = NaN
g= NaN
Для продолжения нажмите любую клавишу
У вас квадратный корень из -8 получается, вот и NaN.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 12.12.2013, 13:25   #12
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Код:
uses crt;
var
x,y:real;
g:double;
 begin
 clrscr;
 writeln('Лабораторная работа 1');
 writeln('---------------------');
 write('Введите значение переменной x, x=');
 readln(x);
 write('Введите значение переменной y, y=');
 readln(y);
    if Abs(y)>=1 then
    write('Косяк с Y!')
     else
  begin
    g:=abs(exp(x)-2*y/(1+(x*x)*(y*y)));
    if g=0 then
    begin
    Writeln ('g=0, Деление на ноль невозможно');
     end
    else
       begin
        writeln('g:=abs(exp(x)-2*y/(1+(x*x)*(y*y)))=',g);
        readkey;
       end;
         begin
        g:=(1+cos(x+y))/g;
        writeln('g:=(1+cos(x+y))/g, g=',g);
        readkey;
        g:=g*(x*x*x);
        writeln('g:=g*(x*x*x)=',g);
        readkey;
        g:=g+arctan(y/sqrt(1-y*y));
 writeln('g=',g);
 writeln('Для продолжения нажмите любую клавишу');
   readkey;
 end;
 end;
 end.
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.

Последний раз редактировалось Alexmur07; 12.12.2013 в 13:33.
Alexmur07 вне форума Ответить с цитированием
Старый 12.12.2013, 13:29   #13
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

при условии что квадратный корень не будет минусовым, если Y >=1 , уже сделал... осталось подправить чтоб корректно выводилось:
объясните как сделать чтобы программа не закрывалась раньше времени а выводила
writeln('g=',g);
writeln('Для продолжения нажмите любую клавишу'); почему то не выводит, и как сделать чтобы после вывода сообщения Writeln ('g=0, Деление на ноль невозможно'); он просил нажать любую клавишу и завершал програму?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.

Последний раз редактировалось Alexmur07; 12.12.2013 в 13:32.
Alexmur07 вне форума Ответить с цитированием
Старый 12.12.2013, 13:39   #14
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Написать в конце программы readln. Будет ожидать нажатия enter
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 12.12.2013, 16:35   #15
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

а всё спасибо разобрался добил
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите ,вот где тут ошибка? ChevChelos Общие вопросы Delphi 0 28.11.2013 19:09
Где тут ошибка?? cargo29 Общие вопросы Delphi 5 17.12.2010 15:29
Где ошибка в формуле? Kartinochka Microsoft Office Excel 6 11.06.2010 13:59
Где тут ошибка? Паскалька^^ Помощь студентам 0 25.10.2009 13:54
где тут ошибка? Fogg Общие вопросы C/C++ 5 18.12.2008 09:34