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

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

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

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

Помогите с паскалем

  • Автор темы Автор темы xFENIXx
  • Дата начала Дата начала

xFENIXx

Ученик
Регистрация
9 Июн 2012
Сообщения
7
Реакции
0
Баллы
0
Помогите с паскалем

Будте добры, помогите пожалуйста!! заранее спасибо!
Вычислить значение функции y=(e^-x1+e^-x2)/2, где х1=(b+корень из |b^2-4ac|)/(2a), x2=(b- корень из|b^2-4ac|/(2a).
 
Будте добры, помогите пожалуйста!! заранее спасибо!
Вычислить значение функции y=(e^-x1+e^-x2)/2, где х1=(b+корень из |b^2-4ac|)/(2a), x2=(b- корень из|b^2-4ac|/(2a).
KidRock_07.gif:
Код:
Var
 a,b,c:Real;

Function Y:Real;
var
 x1,x2:real;
begin
 x1:=(b+Sqrt(Abs(Sqr(b)-a*c*4)))/(a*2);
 x2:=(b-Sqrt(Abs(Sqr(b)-a*c*4)))/(a*2);
 Y:=(Exp(-x1)+Exp(-x2))/2;
end;

Begin
 Repeat
  Write('a = ');
  Readln(a);
  If a=0 then Writeln('a can not be zero!');
 Until a<>0;
 Write('b = ');
 Readln(b);
 Write('c = ');
 Readln(c);
 Writeln;
 Writeln('Y = ',Y:0:5);
 Readln
End.
 
Спасибо большое!! добрые люди ещё есть! =)))
 
Если не трудно помочь..вот задания которые оставлись с зачёта, буду очень благодарен!
1)Если сумма трёх различных действительных чисел x,y,z больше 10, то наибольшее из чисел х и у заменить полусумой двух других, в противном случае оставить без изменения.
2)Задан массив А(15). Определить в массиве колличество целых элементов с нечетными индексами.
3)Формула для расчёта: Ai=2^i Диапазон измерения: 0<i<15 Величина для вычисления: Сумма элементов массива.tehnocleantehnoclean
 
2)Задан массив А(15). Определить в массиве колличество целых элементов с нечетными индексами.
Формат элементов массива? Вещественный? Критерий отнесения к "целым" (точность)?
3)Формула для расчёта: Ai=2^i Диапазон измерения: 0<i<15 Величина для вычисления: Сумма элементов массива.
Ни-че-го не понял. Какой-то набор слов...
 
2) Больше ни-че-го не сказано, просто: обработка массивов и задание: 2)Задан массив А(15). Определить в массиве колличество целых элементов с нечетными индексами. :tehnari_ru_325:
3)Разработать алгоритм и программу для решения поставленной задачи. Предусмотреть ввод всех необходимых величин. Рассчёт элементов массива оформить в виде подпрограмной-функции. Вычисление заданной величины для массива оформить в виде подпрограмной-процедуры. Вывести на экран полученный массив и искомую величину. (это шло с заданием №3)
 
Формула для расчёта элементов массива: Ai=2^i
 
Так, ну по третьему ясно. А вот по второму - туман: если массив целочисленный, так я и так скажу: 8 штук. Вероятно, имеется в виду всё-таки вещественный массив, но тогда вопрос: с какой точностью вещественное число считать целым? Пусть, например, есть числа:
34.0000674
7.00000000000019
4.999999765
Какие из них целые?
 
Сейчас ухожу из OnLine, вернусь в него либо сегодня вечером, либо завтра днем. Может быть, кто другой раньше напишет. И лучше, если бы это были Вы.
 
Ещё раз прочитал конспект, задание, так ни чего понять и не могу...(
 
Ладно, если я правильно понял задание №3, то так:
Код:
Var
 A:Array[1..14] of Integer;
 i:Byte;
 Sum:Integer;
Begin
 A[1]:=2;
 Write(A[1]:8);
 Sum:=A[1];
 For i:=2 to 14 do
  begin
   A[i]:=A[i-1]*2;
   Write(A[i]:8);
   Sum:=Sum+A[i];
  end;
 Writeln;
 Writeln('Sum= ',Sum);
 Readln
End.
А заданием №1, извините, но желания заниматься у меня нет: уж такой детский сад, что стыдно должно быть помощи просить. Извините еще раз.
 
Ну почему сразу детский сад.. не дано просто мне это. Зато в загородном домостроении преуспеваю) В любом случае спасибо большое за помощь!!!
 
Ну почему сразу детский сад.. не дано просто мне это. Зато в загородном домостроении преуспеваю)
Ну коли так - ладно, получите:
Код:
Var
 x,y,z,S:Real;
Begin
 Write('x = ');
 Readln(x);
 Write('y = ');
 Readln(y);
 Write('z = ');
 Readln(z);
 S:=x+y+z;
 Writeln('S = ',S:0:3);
 If S>10 then
  begin
   if x>y then
    x:=(y+z)/2
   else
    y:=(x+z)/2
  end;
 Writeln('x = ',x:0:3);
 Writeln('y = ',y:0:3);
 Writeln('z = ',z:0:3);
 Readln
End.
 
2-е
Код:
const n = 15;

var i, count: integer;
    Ar: array[1..n] of real;
    r: real;

begin

  count := 0;
  for i:=1 to n do
    begin
      write('Ar[i] = ');
      readln(Ar[i]);
      r := int(Ar[i]);
      if ((i mod 2 = 1) and (Ar[i] = r)) then
        inc(count);
    end;
  write('kol-vo tselyh elementov s nechetnymi indeksami ravno ',count);
  readln;
end.
вроде так. точность .000000000002 (вводил Ar[1] := 2.000000000002;если вместо 2 будет 1 то уже считает за целое)
 
точность .000000000002 (вводил Ar[1] := 2.000000000002;если вместо 2 будет 1 то уже считает за целое)
Немного не правильно. Если увеличивается кол-во цифр до точки на n то точность уменьшается на n нулей (не математически верно но суть такая.)
т.е. для 2.000000000002 будет работать но для 20.000000000002 уже нет. а для 20.00000000002 будет опять все ок.
Ну и наверное не правильно использовал термин "точность"
 
1)Если сумма трёх различных действительных чисел x,y,z больше 10, то наибольшее из чисел х и у заменить полусумой двух других, в противном случае оставить без изменения.
Код:
var
x,y,z:real;
begin
write ('x='); readln (x);
write ('y='); readln (y);
write ('z='); readln (z);
if (x+y+z)>10 then begin 
if x>y then x:=(y+z)/2 else y:=(x+z)/2;
write ('x=',x:2:4,'y=',y:2:4,'z=',z:2:4);
end else writeln ('amount is less than ten');
write ('x=',x:2:4,'y=',y:2:4,'z=',z:2:4);
readln
end.
 
Да... эта умопомрачительной сложности задача решена аж в два ума (#13 и #16)! Причем путь решения, по сути, один и тот же! Поразительно.
Миша, только я бы раздвинул вывод y и z, т.е. не 'y=' и 'z=', а ' y= ' и ' z= '.
 
Назад
Сверху