Selasa, 12 Januari 2010
program membalik kata dalam kalimat
uses wincrt;
const elemen = 255;
type s255 = string[elemen];
tumpukan = record
isi:s255;
atas: 0..elemen;
end;
var t: tumpukan;
i, k, l, m: integer;
kalimat, word: s255;
procedure awalan(var t: tumpukan);
begin
t.atas:=0;
end;
procedure push (var t:tumpukan; x: char);
begin
t.atas:=t.atas+1;
t.isi[t.atas]:= x;
end;
function pop(var t:tumpukan):char;
begin
pop:=t.isi[t.atas];
t.atas:=t.atas-1;
end;
begin
clrscr;
awalan(t);
writeln('Tumpukan untuk membalik kalimat');
writeln('*******************************');
writeln;
write('ketik kalimat: '); readln(kalimat);
clrscr;
writeln('kalimat asli: ',kalimat);
writeln;
writeln('setelah operasi push dan pop');
for i:=1 to length(kalimat) do
begin
if (kalimat[i]=' ') then
begin
for k:=(i-1) downto l do
word:=word+kalimat[k];
word:=word+kalimat[i];
end;
l:=length(word);
if i=length(kalimat) then
begin
for i:=length(kalimat) downto l do
word:=word+kalimat[i];
end;
end;
for i := 1 to (length(kalimat) + 1) do
push(t, word [i]);
for i := 1 to (length(kalimat) + 1) do
write (pop (t) );
readln;
end.
Senin, 21 Desember 2009
tugas bilangan prima
Uses wincrt;
Var
i,j,m,n, batas,jml: integer;
prima: boolean;
prim:array[1..100] of integer;
Begin
write('bilangan prima sampai suku ke: '); readln(n);
writeln('sebagai berikut: ');
i:=3;
prim[1]:=2;
prim[2]:=3;
m:=2;
Repeat
i:=i+1;
batas:=round(sqrt(i))+1;
prima:=true;
For j:= 2 to batas do
if i mod j = 0 then
prima:=false;
if prima = true then
Begin
m:=m+1;
prim[m]:=i;
end;
until m=n;
For i:=1 to n do
Begin
write(prim[i], ' ');
jml:=jml+prim[i];
end;
writeln;
writeln('jumlah bil prima: ',jml);
readln;
end.
tugas bilangan prima
Uses wincrt;
Var
i,j,m,n, batas,jml: integer;
prima: boolean;
prim:array[1..100] of integer;
Begin
write('bilangan prima sampai suku ke: '); readln(n);
writeln('sebagai berikut: ');
i:=3;
prim[1]:=2;
prim[2]:=3;
m:=2;
Repeat
i:=i+1;
batas:=round(sqrt(i))+1;
prima:=true;
For j:= 2 to batas do
if i mod j = 0 then
prima:=false;
if prima = true then
Begin
m:=m+1;
prim[m]:=i;
end;
until m=n;
For i:=1 to n do
Begin
write(prim[i], ' ');
jml:=jml+prim[i];
end;
writeln;
writeln('jumlah bil prima: ',jml);
readln;
end.
Minggu, 22 November 2009
Tugas Struktur data 4
uses wincrt;
type biodata = record
alamat : string;
nama : string;
ttl:string;
nim : string;
end;
var
data:biodata;
n,i: integer;
begin
writeln ('Inputkan Jumlah data Mahasiswa');readln(n);
for i:=1 to n do
begin
writeln ('Data ke - ',i,':');
write ('NIM : '); readln(data.nim);
write ('Nama : '); readln(data.nama);
write ('Alamat : '); readln(data.alamat);
write ('TTL : '); readln(data.ttl);
writeln;
end;
end.
Selasa, 17 November 2009
tugas struktur data
uses wincrt;
const awal =1;
const akhir =5;
var
nim,nama :array [awal..akhir] of string;
nilai :array [awal..akhir] of string;
n,i :integer;
jumlah,rataan : real;
begin
write ('banyak nya data mahasiswa =');
readln(n) ;
for n :=1 to 3 do
begin
write('nim',n,':');readln(nim[n]);
write('nama',n,':');readln(nama[n]);
for i:=1 to 3 do
begin
write('nilai ke',n,'=');readln(nilai[i]);
writeln;
end;
end;
writeln;
writeln('hasil dari inputan adalah =');
writeln('=====================');
writeln('nim nama nilai1 nilai 2 nilai 3 rata-rata');
writeln('=====================');
for i:= i to 3 do
begin
writeln(nim [n],' ', nama[n],' ',nilai[1],' ',nilai[2],' ',nilai[3]);
writeln;
end;
end.
Selasa, 10 November 2009
Memasukan Data Mahasiswa
const
garis='------------------------------------------------------';
var nil1,nil2,nil3:array[1..10] of 0..100;
nim:array[1..10] of string[8];
nama:array[1..10] of string[15];
n,i,bar:integer;
jum:real;
tulis:char;
begin
clrscr;
write('Masukkan Banyak data:');readln(n);
for i:=1 to n do
begin
clrscr;
GotoXY(30,4+1);write('Data Ke-:',i:2);
GotoXY(10,5+i);write('NIM:');readln(nim[i]);
GotoXY(10,6+i);write('Nama:');readln(nama[i]);
GotoXY(10,7+i);write('Nilai 1:');readln(nil1[i]);
GotoXY(10,8+i);write('Nilai 2:');readln(nil2[i]);
GotoXY(10,9+i);write('Nilai 3:');readln(nil3[i]);
end;
clrscr;
GotoXY(5,4);write(garis);
GotoXY(5,5);write('No');
GotoXY(9,5);write('NIM');
GotoXY(18,5);write('Nama');
GotoXY(34,5);write('Nilai 1');
GotoXY(41,5);write('Nilai 2');
GotoXY(47,5);write('Nilai 3');
GotoXY(54,5);write('Rata');
GotoXY(61,5);write('Abjad');
GotoXY(5,6);write(Garis);
bar:=7;
for i:=1 to n do
begin
jum:=(nil1[i]+nil2[i]+nil3[i]/3);
if jum>=90 then tulis:='A' else
if jum>80 then tulis:='B' else
if jum>60 then tulis:='C' else
if jum<50 then tulis:='D' else tulis:='E';
GotoXY(5,bar);writeln(i:2);
GotoXY(9,bar);writeln(NIM[i]);
GotoXY(18,bar);writeln(Nama[i]);
GotoXY(34,bar);writeln(nil1[i]:4);
GotoXY(41,bar);writeln(nil2[i]:4);
GotoXY(47,bar);writeln(nil3[i]:4);
GotoXY(54,bar);writeln(jum:5:1);
GotoXY(61,bar);writeln(tulis);
bar:=bar+1;
end;
GotoXY(5,bar+1);writeln(garis);
readln;
end
Selasa, 03 November 2009
Tugas Menghitung rata-rata menggunakan array dengan for
uses wincrt;
var nilai: array[1..3] of integer ;
jm,rata :real;
i : integer;
begin
writeln
for i:=1 to 3 do
begin
clrscr;
write (‘masukan data ke-1: ’);readln (nilai[1]);
write (‘masukan data ke-2:’) ;readln(nilai [2]);
write (‘masukan data ke-3:’); readln(nilai [3]);
jumlah := nilai[1]+nilai [2]+nilai [3] ;
rata := jumlah/3;
writeln;
writeln(‘jumlah nilai =’,jumlah 5:3’);
writeln(‘rata-rata nya =’,jumlah 5:3’);
readln;
end;
end.
OUTPUT
Masukan data ke-1 :60
Masukan data ke-2 :70
Masukan data ke-3:50
Jumlah nilai =150.00
Rata-ratanya =50.00