Jumat, 19 November 2010

Program Segitiga Bintang dalam Bahasa Pascal

program piramid;



var a,b,c,d,k  : integer ;
z :char ;

begin
repeat
        
          writeln ('program piramid bintang ');
          writeln ('------------------------------');
          writeln ;
write ('masukkan jumlah bintang terbawah : '); readln (k);
d := k mod 2 ;

           if  d = 0 then
          begin
                    for a := 1 to (k div 2) do
begin
                             for b := 1 to (k div 2)-a do
                             write (' ');
                             for c := 1 to (a*2) do
                             write ('*');
                             writeln;
          end;
          end;
          if  d = 1 then
begin
                    for a := 1 to (k div 2) + 1 do
begin
                             for b := 1 to (k div 2) + (1-a) do
                             write (' ');
                             for c := 1 to (a*2)-1 do
                             write ('*');
                             writeln;
          end;
end;
writeln;
write ('mau coba lagi [Y/T] : '); read (z);
until (z) = 'T';
readln;
readln;

end.

Algoritma Program Segitiga Bintang dalam Bahasa Pascal



  1. Start
  2. masukan angka sembarang kecuali 0 dan -
  3. angka masukan dibagi 2 dan diambil sisa baginya
  4. sisa baginya = 0 berarti bilangan tersebut genap
  5. jika ya, dari 1 sampai angka masukan dibagi 2 itu untuk menentukan jumlah baris ke bawah yang akan diisi
  6. untuk mengisi setiap baris ke bawah, dari 1 sampai angka masukan dibagi 2 dikurangi urutan baris ke bawah yang mau diisi ke samping ,ditulis dengan kosong untuk memberikan jarak bintang supaya berbentuk segitiga
  7. mengisi setiap baris ke bawah disamping yang kosong, dari 1 sampai urutan baris ke bawah  yang mau diisi dikali 2, ditulis dengan (*) supaya jumlah bintang dari baris yang terbawah sama dengan angka masukan
  8. sisa baginya = 1 berarti bilangan tersebut ganjil
  9. jika ya, dari 1 sampai angka masukan dibagi 2 ditambah 1 itu untuk menentukan jumlah baris ke bawah yang akan diisi
  10. untuk mengisi setiap baris ke bawah, dari 1 sampai angka masukan dibagi 2 ditambah 1 dikurangi  urutan baris ke bawah yang mau diisi ke samping,  ditulis dengan kosong untuk memberikan jarak bintang supaya berbentuk segitiga
  11. mengisi setiap baris ke bawah disamping yang kosong, dari 1 sampai urutan baris ke bawah yang mau diisi dikali 2 dikurangi 1 ditulis dengan (*) supaya jumlah bintang dari baris yang terbawah sama dengan angka masukan
  12. mau coba lagi ?
  13. jika ya, akan kembali ke masukan angka sembarang
  14. jika tidak, program berakhir

Program Ganjil Genap dalam Bahasa Pascal

Program penentuan ;


var  a : integer;
       b : real ;
       c : char ;

begin
repeat
            writeln ('program ganjil genap');
            writeln ('---------------------');
            writeln;
            write ('masukkan bilangan sembarang = ') ; readln (a);
            b := a mod 2 ;
            writeln ;
            if b = 0 then
            begin
                        write ('bilangan genap');
            end ;
            if b = 1 then
            begin
                        write ('bilangan ganjil') ;
            end ;
writeln;
writeln;
write ('mau coba lagi [Y/T] : '); readln (c) ;
until (c) = 'T' ;
readln;
readln;

end .

Program Konversi Celcius dalam Bahasa Pascal

Program konversi ;

var c, reamur, fahrenheit, kelvin :real ;
a : byte ;
b : char ;

begin
repeat

            writeln ('program konversi celcius');
            writeln ('--------------------------');
            writeln ('1. celcius ke reamu');
            writeln ('2. celcius ke fahrenheit');
            writeln ('3. celcius ke kelvin');
            writeln ('0. selesai');
            write ('pilih nomor konversi : '); readln (a);

if a =1 then
begin
            write ('derajat celcius ='); readln (c);
            reamur := 0.8*c ;
            writeln  ('derajat reamur =', reamur) ;
end ;
          
if a =2 then
begin
            write ('derajat celcius ='); readln (c);
            fahrenheit := c * 1.8 + 32 ;
            writeln  ('derajat fahrenheit =', fahrenheit) ;
end ;

if a =3 then
begin
            write ('derajat celcius ='); readln (c);
            kelvin := c + 273.15 ;
            writeln  ('derajat kelvin =', kelvin) ;
end ;

if a =0 then
begin
            writeln  ('program selesai');
end ;

writeln  ;
write ('mau coba lagi [Y/T] : '); readln (b);
until b = 'T';
readln ;
readln ;
end .