Jak wypisać elementy z pętli oraz sume szeregu liczbowego?

0

Mam napisać program wypisujący elementy oraz sumę danego szeregu liczbowego dla n podanego z klawiatury. Szereg ma postać

b526784694.png

Jak wypisać elementy z pętli oraz sume tego szeregu?

program x;

{$APPTYPE CONSOLE}

uses
 SysUtils;
var
 n,i:integer;
 ciag,suma:real;
begin
repeat
 writeln('Podaj dodatnia wartosc n:');
 readln(n);
 until(n > 0);
 for i := 1 to n do
   begin
     ciag := (1 / i);      {jak wypisać elementy petli?}
     suma := suma + ciag;
   end;
 writeln('Suma szeregu liczbowego:',suma);
 readln;
end.
0

Te elementy możesz wypisać tak samo, jak stringi, które wypisałeś, tylko za pomocą write, oraz jeszcze może dobrze użyć FormatFloat, która to funkcja usunie niepotrzebne zera z tyłu liczby, czyli (fragmenty {DODAŁEM}):

program x;
 
{$APPTYPE CONSOLE}
 
uses
 SysUtils;
var
 n,i:integer;
 ciag,suma:real;
 s:string; {DODAŁEM}
begin
repeat
 writeln('Podaj dodatnia wartosc n:');
 readln(n);
 until(n > 0);
 suma:=0;
 for i := 1 to n do
   begin
     ciag := (1 / i);      {jak wypisać elementy petli?}
     s := FormatFloat('0.000',ciag); {DODAŁEM}
     write(s,' '); {DODAŁEM}
     suma := suma + ciag;
   end;
 writeln('Suma szeregu liczbowego:',suma);
 readln;
end.
0

@Michał Bodziony - wcale nie trzeba używać funkcji FormatFloat, albowiem już sama procedura Write posiada stosowną obsługę konwersji i wyświetlania liczb zmiennoprzecinkowych; Przykład:

Write((1 / i):1:3);  // da to liczbę np. 0.356 lub 23.947

Obaj Panowie zapoznajcie się dokładniej z takimi podstawami, dlatego że z procedury Write można naprawdę sporo wyciągnąć.

0

Macie może pomysł jaką użyć pętle for, żeby zrobić trójkąt np dla 5 poziomów?

x
xx
xxx
xx
x

0

@morodis - ma to związek z wypisywaniem liczb z tego "szeregu liczbowego"?

1 użytkowników online, w tym zalogowanych: 0, gości: 1