5 soal program pascal dan penyelesaiannya

1.menampilkan string.jika huruf diawali dengan I maka harus ditulis dari tengah
Program:
{
* Nama program :memindahkan huruf i ke tengah
* Nama Programmer:Mohamad albar
* Tanggal pembuatan:selasa 3 januari 2011
* }
uses crt;
var
inp:array[1..2] of string;
penghit:integer;
teng:integer;

has:integer;
akh:integer;
begin
writeln(‘Masukkan 2 string’);
for penghit:=1 to 2 do
begin
readln(inp[penghit]);{menyimpan masukkan ke dalam array}
end;
clrscr;
for penghit:=1 to 2 do {melakukan perulangan sebanyak jumlah array}
begin
has:=length(inp[penghit]);{variabel has digunakan untuk menyimpan panjang string dalam bentuk integer}
if(inp[penghit,1]=’I’) or (inp[penghit,1]=’i’) and (has mod 2=1) then{melakukan kondisi selama string diawali huruf I dan panjan string ganjil}
begin
for teng:=(has div 2)+1 downto 1 do{mengambil huruf i untuk dipindahkan ke tengah string kemudian ke depan}
begin
write(inp[penghit,teng]);{cetak hasil}
end;
for akh:=(has div 2)+2 to has do{mengambil sisa huruf dari tengah ke belakang}
begin
write(inp[penghit,akh]);{cetak hasil}
end;
end
else if(inp[penghit,1]=’I’) or (inp[penghit,1]=’i’) and (has mod 2=0) then{melakukan kondisi selama string diawali huruf I dan panjang string genap}
begin
for teng:=has div 2 downto 1 do{mengambil huruf i untuk dipindahkan ke tengah string kemudian ke depan}
begin
write(inp[penghit,teng]);{cetak hasil}
end;
for akh:=(has div 2)+1 to has do{mengambil sisa huruf dari tengah ke belakang}
begin
write(inp[penghit,akh]);{cetak hasil}
end;
end
else
begin
write(‘tidak diawali huruf I’);{jika kedua kondisi tidak terpenuhi}
end;
writeln();{cetak baris baru}
end;
end.

Output:

 

 

 

 

 

 

2.Bagaimana membuat belah ketupat dengan pascal
Program:
{
* Nama Program:membuat belahketupat dengan bintang
* Nama Programmer:Mohamad albar
* Tanggal pembuatan:selasa 3 januari 2011
* }
uses crt;
var
mas:integer;
penghit:integer;
btg:integer;
kolom:integer;
begin
writeln(‘Masukkan banyaknya bintang’);
readln(mas);
for penghit:=1 to mas do
begin
for kolom:=1 to mas-penghit do{perulangan untuk mencetak spasi}
begin
write(‘ ‘);
end;
for btg:=1 to penghit do{perulangan untuk mencetak bintang}
begin
write(‘*’,’ ‘);
end;
writeln();{ganti baris jika perulangan sudah terpenuhi}
end;
if (penghit=mas) then{kondisi jika perulangan sudah selesai(sama dengan masukan)}
begin
for penghit:=mas-1 downto 1 do{memulai perulangan ketiga}
begin
for kolom:=1 to mas-penghit do{mencetak spasi}
begin
write(‘ ‘);
end;
for btg:=1 to penghit do {mencetak bintang}
begin
write(‘*’,’ ‘);
end;
writeln();{ganti baris}
end;
end;
end.

Output:

 

 

 

 

 

 

3.Menentukan sisi miring segitiga
Program:
{
* Nama Program:menentukan sisi miring segitiga
* Nama Programmer:Mohamad albar
* Tanggal pembuatan:selasa 3 januari 2011
* }
uses crt;
type
titik = record
x:integer;
y:integer;
r:integer;
end;
var
penghit:integer;
segitiga:array[1..2] of titik;
begin
writeln(‘masukkan sisi x dan y dari 2 segitiga untuk mencari sisi miring segitiga’);
for penghit:=1 to 2 do
begin
readln(segitiga[penghit].x);
readln(segitiga[penghit].y);
end;
for penghit:=1 to 2 do
begin
segitiga[penghit].r:=segitiga[penghit].x*segitiga[penghit].x+segitiga[penghit].y*segitiga[penghit].y;
end;
for penghit:=1 to 2 do
begin
writeln(‘Hasil=’,segitiga[penghit].r);
end;
end.

Output:

 

 

 

 

 

 

4.Menampilkan Karakter yang merupakan konsonan
Program:
{
* Nama program : menampilkan karater yang bukan vokal
* Nama Programmer : Mohamad Albar
* Tanggal pembuatan:minggu 1 januari 2011
* }
uses crt;
var
kar:array[1..5] of char;
penghit:integer;
begin
writeln(‘Masukkan karakter’);
for penghit:=1 to 5 do
begin
readln(kar[penghit]);
end;
clrscr;
for penghit:=1 to 5 do
begin
if (kar[penghit]<>’A’) and (kar[penghit]<>’a’) and (kar[penghit]<>’I’) and (kar[penghit]<>’i’) and (kar[penghit]<>’U’) and (kar[penghit]<>’u’) and (kar[penghit]<>’E’) and (kar[penghit]<>’e’) and (kar[penghit]<>’O’) and (kar[penghit]<>’o’) then
begin
writeln(kar[penghit]);
end;
end;
end.

Output:

 

 

 

 

 

 

5.Membuat Cerminan Tulisan ‘INDONESIA’
Program:
{
* Nama program : mencetak cerminan tulisan indonesia
* Nama programmer:Mohamad Albar
* tanggal pembuatan:kamis 5 januari 2012
* }

uses crt;
var
kata:string;
penghit:integer;
has:integer;
str:integer;
spc:integer;
begin
kata:=’INDONESIA’;
str:=length(kata);
for penghit:=1 to str do
begin
for has:= 1 to penghit do{mencetak tulisan dan mengambilnya satu persatu sebanyak panjang tulisan}
begin
write(kata[has]);
end;
for spc:=penghit to str+str-penghit do{mencetak spasi}
begin
write(‘ ‘);
end;
for has:=penghit downto 1 do{mencetak tulisan kembali}
begin
write(kata[has]);
end;
writeln();
end;
end.

Output:

Tinggalkan komentar