Jumat, Januari 06, 2012

Program Pascal Terapan

program kombinasi_faktorial;

uses wincrt;

var

fn,fk,fn_k,Kombinasi:real;

i,n,k:integer;

begin

write('Masukkan bilangan n =');readln(n);

write('Masukkan bilangan k =');readln(k);

fn:=1;

fk:=1;

fn_k:=1;

for i:= 2 to n do{Menghitung n faktorial}

fn:=fn*i;

for i := 2 to k do{Menghitung k faktorial}

fk:=fk*i;

for i:= 2 to (n-k) do{ menghitung n-k faktorial}

fn_k:=fn_k*i;

kombinasi:=fn/(fk*fn_k);

writeln(n,' Kombinasi ',k, ' = ',Kombinasi:0:0);

end.


 

Program Deret_mencari_suku_ke_n;

uses wincrt;

Var

i:integer;

y,jum:real;

begin

clrscr;

jum:=0;

i:=0;

while jum <= 1.9999 do

begin

i:=i+1;

y:=1/exp((i-1)*ln(2));

jum:=Jum+y;

writeln(y:0:4);

end;

writeln('Jumlah deret 1.9999 diperoleh Jika Banyak suku = ',i);

end.


 

Program Menghitung_Koefisien_Persamaan_Regresi;

uses wincrt;

type data=array[1..100]of integer;

var

x,y :data;

N,d,j :Integer;

ratax,ratay :real;

SXY,SX,SX2,SY:real;

A,B :real;

Procedure Regressi;

begin

N:=0;

repeat

write('Nilai data x= ');readln(d);

if d<>0 then begin

N:=N+1;

x[N]:=d;

write('Nilai data y = ');readln(y[N]);

end;

until d=0;

SXY:=0; SX:=0; SX2:=0; SY:=0;

for j:= 1 to N do

begin

SXY:=SXY+x[j]*y[j];

SX:=SX+x[j];

SY:=SY+y[j];

SX2:=SX2+x[j]*x[j];

end;

A:=((SX2-(SX)*SY))/N;

A:=A/(SX2-(SX*SX)/N);

ratay:=SY/N;

ratax:=SX/N;

B:=ratay-A*rataX;

writeln('N= ',N);

writeln('Jumlah x= ',SX:0:2);

writeln('Jumlah y= ',SY:0:2);

writeln('Jumlah x dikali y =',SXY:0:2);

writeln('Jumlah x kwadrat=',SX2:0:2);

writeln('Rata-rata x=',ratax:0:2);

writeln('Rata-rata y=',ratay:0:2);

writeln('Y= ', A:0:2,'X- ', B:0:2);

end;

begin

regressi;

end.

*note:untuk berhenti memasukkan data, masukkan karakter '0' pada data x


 

program mendeteksi_bil_prima;

uses wincrt;

var

bil,i,x :word;

prima :boolean;

batas :integer;

lagi :char;

begin

repeat

clrscr;

write('Masukkan bilangan :');read(bil);

batas:=round(sqrt(bil))+1;

prima:=true;

if (bil=2 ) or (bil=3) then

prima:=true

else

for i:= 2 to batas do

if bil mod i = 0 then

prima:=false;

if prima = true then

writeln(bil,' Adalah prima')

else

writeln(bil,' Bukan prima');

write('Lagi......[Y/T]');lagi:=upcase(readkey);

writeln(lagi);

until lagi <> 'Y';

end.

Tidak ada komentar:

Posting Komentar