Program segitiga pascal

12/11/2010 05:44

 Output program :


 

Listing program :

import javax.swing.*;

public class pascal

{

public static void main(String[]args)

{

int x,y,z,a,b,c,d;

int baris=Integer.parseInt(JOptionPane.showInputDialog(null,"masukan jumlah baris"));

int kolom=baris;

int tabel[][]=new int[baris][kolom];

 

for (x=0;x

{

for (y=0;y

{

if((x+y)>=(baris-1))

{

if ((x+y==(baris-1))||(y==(baris-1)))

{

tabel[x][y]=1;

}

else

{

tabel[x][y]=((tabel[x-1][y])+tabel[x-1][y+1]);

}

System.out.print(tabel[x][y]+"   ");

}

else

{

System.out.print("  ");

}

}

System.out.println();

}

}

}

Awalnya keliatan susah buat membuat rumus untuk menampilkan angka-angka di segitiga pascal, dan menampilkannya dalam bentuk segitiga, tapi ternyata kalau diperhatikan, segitiga pascal itu bisa dilihat jadi seperti ini:

X,y 0 1 2 3 4 5
0           1
1         1 1

2

      1 2 1
3     1 3 3 1
4   1 4 6 4 1
5 1 5 10 10 5 1

Nah, setelah melihat segitiga pascal versi array dua dimensi terpecahkan satu masalah kan, untuk menampilkan angka – angka pada segitiga pascal berbentuk segitiga, kita bisa menggunakan perulangan.coba perhatikan, bahwa bagian – bagian yang kosong di array tersebut, selalu pada bagian yang (x + y) nya kurang dari 5.dalam hal ini x dan y adalah indeks pada array. Yaitu indeks (0,0),(0,1),(0,2),(1,2),(2,2) dan lainnya, dan bagian array yang terisi angka merupakan bagian yang indeks arraynya jika ditambahkan (x + y) lebih dari 5. Jadi didalam perulangan nanti bisa kita buat percabangan, jika x + y < 5 dicetak spasi, dan jika x + y nya >= 5 cetak angkanya(dipilih salah satu aja ya, kan pake if – else).untuk lebih menguasai logikanya, dilihat lagi deh program latihan perulangan menampilkan bintang segitiga.

Terus, untuk menampilkan angkanya, lihat lagi array diatas, yang jumlah indeks arraynya (x+y) sama dengan 5 pasti diisi dengan angka 1. Dan juga pada bagian array yang indeks y nya sama dengan 5, selalu diisi dengan angka 1. Dan angka – angka yang ada ditengahnya itu adalah hasil dari dua angka yang ada diatasnya.dan itu bisa dibuat rumus lho,karena indeksnya itu selalu tetap polanya…. silakan diteliti deh…

Back

Search site

Copyright@outtaste.co.cc