• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Создать две Паскаль программы по готовым блок-схемам

ololo111

Ученик
Регистрация
17 Июн 2012
Сообщения
4
Реакции
0
Баллы
0
Создать две Паскаль программы по готовым блок-схемам

Блоки правильные! но задание под ними. помогите кто-нибудь.
 

Вложения

  • 1.webp
    1.webp
    68.1 KB · Просмотры: 383
  • 2.webp
    2.webp
    93.2 KB · Просмотры: 329
В первом задании в f(u,v) во второй строке - сумма u+v в круглых скобках или под знаком абсолютной величины?
 
... и молчанье гробовое было ему ответом... Ладно, вроде каракули на блок-схеме показывают, что всё-таки абсолютная величина. Между прочим, следовать блок-схеме я не собираюсь: там наворочена куча промежуточных переменных (H,G), абсолютно ненужных и бессмысленных. Детский сад какой-то. Вот:
Код:
Var
 x,y,z:Real;

Function f(u,v:Real):Real;
begin
 If u*v>0 then f:=Ln(Abs(u))+Ln(Abs(v)) else f:=Abs(u+v);
end;

Begin
 Write('x= ');
 Readln(x);
 Write('y= ');
 Readln(y);
 z:=f(Sqrt(Abs(x))+y,x)+f(Exp(x),Abs(y));
 Writeln('z= ',z:0:5);
 Readln
End.

Код:
Var
 A,B,h,x:Real;
 n,i:Byte;

Function f(z:Real):Real;
begin
 f:=z*Ln(2)*Ln(z)/Ln(10);
end;

Begin
 Write('A= ');
 Readln(A);
 Write('B= ');
 Readln(B);
 Write('n= ');
 Readln(n);
 h:=(B-A)/(n-1);
 x:=A;
 for i:=1 to n do
  begin
   write(i:2,'   x= ',x:3:1,'   y= ');
   if Abs(x)=0 then writeln('Not defined!') else writeln(f(x):6:3);
   x:=x+h;
  end;
 Readln
End.
 
этоо. а, извиняюсь, да в круглых
 
else f:=(u+v); получается... ответ не изменился, чё-то с проверкой не сходится, ни в 1м ни во 2м...
в 1м при Х=1 и У=0, в выводе Z=2.17
при Х=1 и У=1, в выводе Z=-0.08


во втором при A=1; B=1; N=2, в выводе X=1; I=2
этоо
 
Так, ну это уже вообще черт-те-что. И сбоку бантик.
else f:=(u+v); получается... ответ не изменился, чё-то с проверкой не сходится, ни в 1м ни во 2м...
Значит, говорите, "не сходится"? Ну что же, будем проверять:
ddd_1.webp
Теперь смотрим результат работы программы:
ddd_2.webp
в 1м при Х=1 и У=0, в выводе Z=2.17 при Х=1 и У=1, в выводе Z=-0.08
Значит так. Не сходится - и сходиться не должно! А если должны получиться приведенные Вами числа, то это значит, что Вы напортачили в формулах. И больше это не означает ничего.
во втором при A=1; B=1; N=2, в выводе X=1; I=2
Ну да, так и получается. И что не устраивает?
ddd_3.webp

Этоо
 
во 2м ответ кагбы непонятный, ну всёравно спасибо
 
Назад
Сверху