program
Menu_Pilihan;
{I.S. : user memilih salah satu menu}
{F.S. : menampilkan hasil sesuai menu
yang dipilih}
uses crt;
var
Menu, N, i, pertama, terakhir, fibo :
integer;
nama1, nama2, nama3 : string;
X, S : real;
begin
repeat
textbackground(blue); clrscr;
textcolor(yellow);
gotoxy(34,8); write('Menu Pilihan');
gotoxy(34,9); write('============');
gotoxy(23,10); write('1. Menghitung S=1-2/3+3/6-4/10+..');
gotoxy(23,11); write('2. Menyusun tiga
nama secara ASC');
gotoxy(23,12); write('3. Membuat
barisan Fibonacci');
gotoxy(23,13); write('0. Keluar');
gotoxy(23,15); write('Pilihan Anda
? ');
readln(Menu);
{Validasi menu
pilihan}
while (Menu < 0)
or (Menu > 3) do
begin
gotoxy(23,16); textcolor(white);
write('Salah
memilih menu, Ulangi..Tekan Enter!');
readln;
gotoxy(23,16); clreol; textcolor(15);
gotoxy(37,15); clreol;
readln(Menu); textcolor(15);
end; //endwhile
case (Menu) of
1 :
begin
clrscr;
{Validasi Menghitung S}
writeln('Menghitung S=1-2/3+3/6-4/10+..');
writeln('==============================');
write('Banyaknnya
suku (N) : ');
readln (N);
S := 0;
X := 0;
{penyebut}
write('S
= ');
for i := 1 to N do
begin
X := X + i;
if (i mod 2 =1)
then
begin
S := S + i/X;
if(i = 1)
then
write(i)
else
write(' + ',i,'/',X:0:0);
end
else
begin
S := S - i/X;
write(' - ',i,'/',X:0:0);
end;
end; //endfor
writeln;
writeln(' = ',S:0:1);
writeln('Tekan enter untuk kembali ke menu utama');
readln;
end;
2 :
begin
clrscr;
{Validasi menyusun tiga nama secara
Ascending}
writeln('Menyusun tiga nama secara Ascending');
writeln('===================================');
write('Masukkan
nama 1 : '); readln(nama1);
write('Masukkan
nama 2 : '); readln(nama2);
write('Masukkan
nama 3 : '); readln(nama3);
writeln;
begin
if (nama1 <= nama2) and
(nama2 <= nama3)
then
writeln(nama1,' ',nama2,' ',nama3)
else
if (nama1 <= nama3) and
(nama3 <= nama2)
then
writeln(nama1,' ',nama3,' ',nama2)
else
if (nama2 <= nama1) and
(nama1 <= nama3)
then
writeln(nama2,' ',nama1,' ',nama3)
else
if (nama1 >= nama2) and
(nama2 <= nama3)
then
writeln(nama2,' ',nama3,' ',nama1)
else
if (nama1 >= nama3) and
(nama1 <= nama2)
then
writeln(nama3,' ',nama1,' ',nama2)
else
if (nama1 >= nama3) and
(nama3 <= nama2)
then
writeln(nama3,' ',nama2,' ',nama1)
end;
writeln;
writeln('Tekan enter untuk kembali ke menu utama');
readln;
end;
3
: begin
clrscr;
{validasi memasukkan nilai N untuk membuat
barisan Fibonacci}
writeln('Membuat barisan Fibonacci');
writeln('=========================');
write('Masukkan
nilai Fibonacci ke-N : ');
readln(N);
pertama := 0;
terakhir:= 1;
fibo := 1;
i := 1;
while (i <= N) do
begin
write(fibo,' ');
i:=i + 1;
fibo:=pertama + terakhir;
pertama:=terakhir;
terakhir:=fibo;
end; //endwhile
writeln;
writeln('Tekan enter untuk kembali ke menu utama');
readln;
end;
end;
until(Menu=0);
end.






0 komentar:
Posting Komentar