Помощь - Поиск - Пользователи - Календарь
Полная версия: дана формула посчитать по ней сумму...
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ROxY
ПОМОГИТЕ с задачками
1. я сделала одну она на нахождение корней квадратного уравнения..НО препод сказал
что при условии когда все коэффициенты нули должны выводиться любые корни
скажите как это сделать??
2. а вторая вводятся переменные a,n,x
и дана формула S=1-a*x+a^2*x^2-a^3*x^3+a^4*x^4.....a^n*x^n
вот нужно посчитать по этой формуле сумму...
помогите пожалуйста очень надо!!!!![
Lapp
Цитата(ROxY @ 5.01.2007 12:52) *

когда все коэффициенты нули должны выводиться любые корни
скажите как это сделать??

Так и пиши:
WriteLn('x -любое');
smile.gif
Lapp
Сумму вычисляй в цикле while или repeat. Останавливай, когда величина общего члена станет меньше заданной точности. Поскольку ряд знакопеременный, то точность суммы оценивается абсолютной величиной последнего члена.
ROxY
еще вопросик
var i,j,m,n,l,r : integer;
    tab         : array [1..50,1..50] of integer;
begin
  clrscr;
   readln(m);
   readln(n);
  repeat
    inc(r);
    for i:=r   to n-r+1   do begin inc(l);tab[i,r]:=l     end;
    for i:=r+1 to m-r+1   do begin inc(l);tab[n-r+1,i]:=l end;
    for i:=n-r downto r   do begin inc(l);tab[i,m-r+1]:=l end;
    for i:=m-r downto r+1 do begin inc(l);tab[r,i]:=l     end;
  until l=m*n;
  for j:=1 to m do
  for i:=1 to n do
  begin
    write(tab[i,j]:4);
    if i=n then writeln;
  end;
  readln;
end.
это программа матрица по спирали..скажите что значит inc
вот...и ещё одна задачка вычисления корней квадратного уравнения

VAR A,B,C,D,X,Y:REAL;
  BEGIN
    WRITELN ('VVEDITE A B C');
    READLN (A,B,C);
    if a=0 then
      BEGIN
       if b=0 then
          begin
          if c=0 then
             begin writeln('korney net');
             readln;
             halt;
             end;
          end;
             X:=(-c)/(b);
             writeln('otvet X=',X:2:2,'');
             readln;
             Halt(0);
      END;
       D:=B*B-4*A*C;
       IF D>0 THEN
  BEGIN
    X:=(-B+SQRT(D))/(2*A);
    Y:=(-B-SQRT(D))/(2*A);
    WRITELN('OTVET X=',X:2:2,' OTVET Y=',Y:2:2,'');
  END;
    IF D<0 THEN
     begin
       if a>0 then
        writeln('otvet x=',-b/2*a:0:0,'+',sqrt(abs(d))/2*a:0:0,'i',
        '  ','otvet y=',-b/2*a:0:0,'-',sqrt(abs(d))/2*a:0:0,'i')
       else
        writeln('otvet x=',-b/2*a:0:0,'-',abs(sqrt(abs(d))/2*a):0:0,'i',
        '  ','otvet y=',-b/2*a:0:0,'+',abs(sqrt(abs(d))/2*a):0:0,'i')

     end;
       IF D=0 THEN
        BEGIN
          X:=(-B)/(2*A);
          WRITELN ('OTVET X=',X:2:2,'');
        END;
     READLN;
        END.

что значит halt X:2:2(что значит первая двойка а что вторая??) и последний вопрос
по этой же программе
  writeln('otvet x=',-b/2*a:0:0,'+',sqrt(abs(d))/2*a:0:0,'i',
        '  ','otvet y=',-b/2*a:0:0,'-',sqrt(abs(d))/2*a:0:0,'i')
что значат НУЛИ??
пожалуйста..подскажите!!
М
Тебе не кажется, что требование ставить тэги в каком-то смысле разумно?.. Lapp

Archon
1. Например inc(x); - увеличивает x на единицу.
2. Halt - завершения выполнения программы, аргумент - значение, возвращаемое программой системе (обычно код ошибки)
3. Запись числа по типу <переменная>:X:Y - это форматированный вывод, где X - число знаков, которые отводятся под число, Y - число знаков после запятой (для вещественных чисел).
4. Первый 0 значит, что под число будет отведено столько знаков, сколько в нём разрядов, второй - то, что выведена будет только целая часть.

PS Поставь теги
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.