[r]
(1)Pascal - Bản ghi - xếp danh sách sinh viên theo điểm trung bình
-Nhập vào danh sách sinh viên (họ tên,năm sinh,dan tộc,điểm ,điểm , điểm ,giới tính) -hiện danh sách sinh viên vừa nhập dạng cột
STT Hoten Gioitinh Dantoc Diem1 Diem2 Diem3 DTB
-sắp xếp lại danh sách sinh viên tăng dần theo điểm trung bình (khơng làm sai lệch thơng tin)
Bài 17:
program yen17; uses crt;
type sinhvien=record
hoten,dantoc,gioitinh:string; namsinh,diem1,diem2,diem3:integer;
dtb:real; end;
mang=array [1 10] of sinhvien; var sv:mang;
i,n,j:integer; procedure nhap;
begin
clrscr;
writeln(' NHAP
THONG TIN CHO SINH VIEN'); for i:=1 to n
with sv[i] begin
(2)write(' Gioi tinh:');readln(gioitinh); write(' Dan toc:');readln(dantoc); write('
Diem1,Diem2,Diem3:');readln(diem1,diem2,diem3);
dtb:=(diem1+diem2+diem3)/3; writeln;
end; end;
procedure hienthi; begin
writeln;writeln;
writeln(' DANH
SACH SINH VIEN VUA NHAP'); for i:=1 to n
with sv[i] begin
writeln(' Ho ten:',hoten); writeln(' Nam sinh:',namsinh); writeln(' Diem TB:',dtb:2:2); writeln;writeln;
end; end;
procedure sapxep; var tg:sinhvien; begin
writeln;writeln;
writeln(' DANH SACH SINH
VIEN DUOC SAP XEP LAI LA'); for i:=1 to n-1
(3)if sv[i].dtb>sv[j].dtb then begin
tg:=sv[i];
sv[i]:=sv[j];
sv[j]:=tg;
end;
for i:=1 to n with sv[i]
begin
writeln(' Ho ten:',hoten); writeln(' Diem TB:',dtb:2:2); writeln;
end; end;
begin
clrscr;
write(' Nhap n=');readln(n); nhap;
hienthi; sapxep; readln; end
Pascal - Bản ghi - danh sách sinh viên tính phần trăm sv nam nữ
-Nhập vào danh sách sinh viên (họ tên,năm sinh,dan tộc,điểm ,điểm , điểm ,giới tính) -hiện danh sách sinh viên vừa nhập dạng cột
STT Hoten Gioitinh Dantoc Diem1 Diem2 Diem3 DTB
-cho bit có bao nhiu phần trăm sinh viên nam bao nhiu phần trăm nữ
Bài 16:
(4)uses crt;
type sinhvien=record
hoten,dantoc,gioitinh:string; namsinh,diem1,diem2,diem3:integer;
dtb:real; end;
mang=array [1 10] of sinhvien; var sv:mang;
i,n,d:integer; p:real;
procedure nhap; begin
clrscr;
writeln(' NHAP
THONG TIN CHO SINH VIEN'); for i:=1 to n
with sv[i] begin
write(' Ho ten:');readln(hoten);
write(' Gioi tinh:');readln(gioitinh); write(' Dan toc:');readln(dantoc); write('
Diem1,Diem2,Diem3:');readln(diem1,diem2,diem3);
dtb:=(diem1+diem2+diem3)/3; writeln;
end; end;
(5)writeln;writeln;
writeln(' DANH SACH
SINH VIEN VUA NHAP'); for i:=1 to n
with sv[i] begin
writeln(' Ho ten:',hoten); writeln(' Nam sinh:',namsinh); writeln(' Diem TB:',dtb:2:2); writeln;writeln;
end; end;
procedure phantram; begin
writeln;writeln; writeln('
TY LE NAM NU'); d:=0;
for i:=1 to n
if sv[i].gioitinh='nam' then d:=d+1; p:=(d/n)*100;
writeln(' Trong danh sach co
',p:2:2,' % la sinh vien nam');
writeln(' Trong danh sach co ',
(100-p):2:2,' % la sinh vien nu'); end;
begin
clrscr;
write(' Nhap n=');readln(n); nhap;
(6)phantram; readln; end
Pascal - Làm việc với xâu
Đề bài:
-kiểm tra xâu s1 có mặt tỏng xâu s2 khơng tình từ vị trí -nhập xâu s1 ,s2 Đếm em xâu s1 có mặt xâu s2 bao nhiu lần
Bài 13:
program yen13; uses crt;
var s1,s2:string;
i,j,d,k,t:integer; procedure kiemtra;
begin
d:=0;
for i:=1 to length(s2)
if s2[i]=s1[1] then begin k:=2;t:=1;
for j:=i+1 to (i+length(s1)-1)
if s2[j]=s1[k] then begin
k:=k+1; t:=t+1; end;
if t=length(s1) then d:=d+1;
(7)if d>0 then begin
writeln(' Xau s1 co xuat hien trogn xau s2');
writeln(' Xau s1 xuat hien ',d,' lan xau s2');
end
else writeln(' Xau s1 khong xuat hien xau s2'); end;
begin
clrscr;
write(' Nhap xau s1:');readln(s1); write(' Nhap xau s2:');readln(s2); kiemtra;
readln; end
Pascal - Chuẩn hóa xâu
Đề bài:
-Đếm xem xâu s có bao nhiu kí tự c , ch (không kể in hoa hay thường)
-Đếm xem xâu s có bao nhiu từ (một từ định nghĩa tập kí tự khơng chứa dấu cách) -chuẩm hóa xâu xóa tất kí tự cách đầu ci câu ,trong xâu khơng co nhìu dấu cách đứng liền
Bài 6:
program yen6; uses crt; var st:string;
i,d:integer; ch:char;
function demkitu:integer; begin
d:=0;
for i:=1 to length(st)
(8)demkitu:=d; end;
function demtu:integer; begin
d:=1;
for i:=1 to length(st)
if (st[i]<>' ')and(st[i+1]=' ') then d:=d+1; demtu:=d;
end;
procedure chuanhoa; begin
while st[1]=' '
delete(st,1,1); while st[length(st)]=' '
delete(st,length(st),1);i:=1; repeat
if (st[i]=' ')and(st[i+1]=' ') then delete(st,i,1) else i:=i+1;
until i>length(st); end;
function dem:integer; begin
d:=0;
for i:=1 to length(st)
if st[i]=ch then d:=d+1; dem:=d;
end; begin
(9)write(' Nhap xau:');readln(st); write(' Nhap ki tu:');readln(ch); chuanhoa;
writeln(' Trong xau co ',demkitu,' ki tu C'); writeln(' Trong xau co ',demtu,' tu');
writeln(' Ki tu ',ch,' vua nhap co mat ',dem,' lan xau'); readln;
end
Pascal - Tính trung bình cộng
đề bài:
Nhập vào số n nguyên (2<20) -nhập vào mảng n số thực
-tình trung bình cơng tất số dương mảng
-kiểm tra xem mảng có bao nhiu số có giá trị trùng với giá trị tbc nói
Bài 5:
Nh?p vào s? n nguyên (2<n<20) -nh?p vào m?t m?ng n s? th?c
-tình trung bình cơng c?a t?t c? s? d??ng m?ng
-ki?m tra xem m?ng có bao nhiu s? có giá tr? trùng v?i giá tr? c? a tbc nói
-
-program yen5; uses crt;
var a:array [1 20] of real;
b:array [1 20] of integer; i,n,d,j:integer;
(10)procedure nhap; begin
for i:=1 to n begin
write(' a[',i,']=');readln(a[i]); end;
end;
function tbc:real; begin
d:=0;s:=0;
for i:=1 to n
if a[i]>0 then begin
s:=s+a[i]; d:=d+1; end;
tbc:=(s/d); end;
procedure kiemtra; begin
d:=0;j:=1;
for i:=1 to n
if m=a[i] then begin
b[j]:=i; d:=d+1; j:=j+1; end;
if d=0 then writeln(' Trong mang khong co so nao trung trung binh cong')
(11)write(' Trong day co ',d,' so trung voi trung binh cong o vi tri');
for i:=1 to j-1
write(', ',b[i]); end;
end; begin
clrscr; repeat
write(' Nhap n=');readln(n); until (2<n)and(n<20);
nhap; m:=tbc;
writeln(' Trung bing cong :',m:2:3); kiemtra;
readln; end
-Pascal - Kiểm tra tính chẵn lẻ, số Ngun tố, Số hồn hảo
Bài 1:
Nhập vào số nguyên gồm chữ số -Kiểm tra tình chắn lể
-kiểm tra xem có phải số nguyên tố khơng -kiểm tra xem có phải số hồn hảo không Code Demo:
function nguyento(n:integer):boolean; begin
ok:=true; d:=0;
(12)if n mod i=0 then d:=d+1; if d<>1 then ok:=false; nguyento:=ok; end;
Bài 1:
Nh?p vào s? nguyên g?m ch? s? -Ki?m tra tình ch?n l?
-ki?m tra xem có ph?i s? ngun t? khơng -ki?m tra xem có ph?i s? hồn h?o khơng -Bài 1:
program yen1; uses crt;
var i,n,k,d:integer; ok:boolean;
function chanle(n:integer):boolean; begin
ok:=true;
if n mod 2<>0 then ok:=false; chanle:=ok;
end;
function nguyento(n:integer):boolean; begin
ok:=true; d:=0;
for i:=1 to n-1
if n mod i=0 then d:=d+1; if d<>1 then ok:=false;
(13)function chinhphuong(n:integer):boolean; begin
ok:=true;
k:=trunc(sqrt(n));
if sqr(k)<>n then ok:=false; chinhphuong:=ok;
end; begin
clrscr;
write(' Nhap n=');readln(n);
if chanle(n) then writeln(' So vua nhap la chan') else writeln(' So vua nhap la so le');
if nguyento(n) then writeln(' So vua nhap la nguyen to') else writeln(' So vua nhap khong phai la so nguyen to'); if chinhphuong(n) then writeln(' So vua nhap la so chinh phuong')
else writeln(' So vua nhap khong la so chinh phuong'); readln;