Program segitiga pascal
12/11/2010 05:44Output 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…
Tags:
———
Back