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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2008, 21:54   #1
maziLa
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 30
Восклицание ПОмогите подкоректировать задачу на Паскале

Код:
Program LR7_function ;
uses crt;

  Function v_stepeni (argument, stepen :real) :real;
  begin
     If (stepen = 0) then
       v_stepeni:=1
     else
       If (argument = 0) then
         v_stepeni:=0
      else
        v_stepeni:=exp(stepen*ln(argument));
  end;


  Function exit:boolean;
  var ch: char;
    begin
      writeln('Do you want to continue (y/n)?');
      ch:=readkey;
      if (ch='n') or (ch='N') then
      exit:=true;
    end;


var a, b, m, n, e1, e2, e3, e4, Sum, Raz, Chis, Znam, Drob1, Drob2, rezult : real;
  Begin
  ClrScr;
   repeat
    Writeln ('===========================') ;
     repeat
      write('Ishodnie dannie: m=');   readln(m);
      write('                 n=');   readln(n);
       If (m<0) or (n<0) then
        Begin
         writeln('Nevozmojno polychit resultat!!!') ;
         writeln('------------------------------') ;
         writeln('Poprobyite vvesti drygie dannie') ;
        end;
      until (m>0) and (n>0);


      e1:=v_stepeni(m, 1/4);
      e2:=v_stepeni(n, 1/4);
      Sum:=sqr(e1+e2);
      Raz:=sqr(e1-e2);
      Chis:=Sum+Raz;
      Znam:=2*(m-n);
      Drob1:=Chis/Znam;
      e3:=v_stepeni(m, 3/2);
      e4:=v_stepeni(n, 3/2);
      Drob2:=1/((e3)-(e4));

      rezult:=Drob1/Drob2-3*sqrt(m*n);
             writeln('otvet ---> ', rezult:5:6);
             writeln('===========================')
     until exit=true;
  End.

Это программа с функцией ---рабочая проблем нет


Код:
Program LR7_procedure ;
uses crt;

  Procedure v_stepeni (a, b, rez :real) ;
  begin
     If a > 0 then
        rez:=exp(b*ln(a))
     else
        if a < 0 then
        rez:=exp(b*ln(abs(a)))
      else
        if b= 0 then
        rez:=1
      else
        rez:=0
  end;


  Function exit:boolean;
  var ch: char;
    begin
      writeln('Do you want to continue (y/n)?');
      ch:=readkey;
      if (ch='n') or (ch='N') then
      exit:=true;
    end;


var m, n, e1, e2, e3, e4, Sum, Raz, Sum1, Raz1, Chis, Znam, Drob1, Drob2, rezult : real;

  Begin
  ClrScr;
   repeat
    Writeln ('===========================') ;
     repeat
      write('Ishodnie dannie: m=');   readln(m);
      write('                 n=');   readln(n);
       If (m<0) or (n<0) then
        Begin
         writeln('Nevozmojno polychit resultat!!!') ;
         writeln('------------------------------') ;
         writeln('Poprobyite vvesti drygie dannie') ;
        end;
      until (m>0) and (n>0);

      Sum:=e1+e2;
      Raz:=e1-e2;
      v_stepeni (m, (1/4), e1);
      v_stepeni (n, (1/4), e2);
      v_stepeni (Sum, 2, Sum1);
      v_stepeni (Raz, 2, Raz1);
      {-----------------------------}
      v_stepeni (m, 3/2, e3);
      v_stepeni (n, 3/2, e4);


      {------------------------------}
      Chis:=Sum1+Raz1;
      Znam:=2*(m-n);
      Drob1:=Chis/Znam;
      Drob2:=1/(e3+e4);

      {--------------------------------}

      rezult:=Drob1/Drob2-3*sqrt(m*n);
             writeln('otvet ---> ', rezult:5:6);
             writeln('===========================')
     until exit=true;
  End.
А вот это программа с процедурой что бы я не делал всегда пишет Division by zero

Люди помогите мне завтро лабу сдать надо((
maziLa вне форума Ответить с цитированием
Старый 24.12.2008, 23:14   #2
maziLa
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 30
По умолчанию

Тему можно закрыть ошибку я нашол.
maziLa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите подкоректировать программу Killdgedan Помощь студентам 7 24.12.2008 22:10
Помогите решить задачу в паскале P@niSheR Помощь студентам 2 08.12.2008 18:48
Помогите решить задачу в ПАСКАЛЕ triston Помощь студентам 3 17.11.2008 17:46
Помогите решить задачу на паскале! jst.denis Помощь студентам 2 28.10.2007 11:13