Anda di halaman 1dari 2

program pecahan;

{I.S.: user memasukkan Banyaknya Data (N)}


{F.S.: menghasilkan pecahan Data yang dimasukkan}
uses crt;

var
N : integer;
keluar : char;

function Atas (N : integer) : real;


begin
if (N = 1)
then
Atas := 1
else
if (N = 2)
then
Atas := 7
else
if (N mod 2 = 0)
then
Atas := (3 + Atas (N-1))
else
begin
Atas := (2 + Atas (N-1));
end;

end;

function Bawah (N : integer) : real;


begin
if (N = 1)
then
Bawah := 3
else
if (N = 2)
then
Bawah := 4
else
if (N mod 2 = 0)
then
Bawah := (3 + Bawah (N-1))
else
begin
Bawah := (2 + Bawah (N-1));
end;
end;

function z (N : integer): real;


begin
if (N > 0)
then
begin
z := ((Atas(N) / Bawah(N)) + z(N-1));
end;
end;

procedure Masukkan (var N : integer);


begin
write ('Masukkan Banyak Data : '); readln(N);
writeln('======================');
end;

procedure Hasil (var N : integer);


var
i : integer;
begin
write('S = 1/3 + ');
for i := 2 to N do
begin
write(Atas(i):0:0, '/' , Bawah(i):0:0);
if (i <> N)
then
write(' + ');
end;

end;

procedure Hasil2 (var N : integer);


begin
gotoxy(1,3);
writeln ('S = ',Atas(N):0:2);
end;

begin
repeat
clrscr;
Masukkan(N);
Hasil(N);
Hasil2(N);
readln;
writeln;
write('Mengulang Kembali ? [Y/T] '); readln(keluar);
until((keluar = 'T') or (keluar = 't'));
end.

Anda mungkin juga menyukai