Tải bản đầy đủ (.doc) (24 trang)

tài liệu pascal cho những người chưa biết gì bắt đầu học bồi dưỡng tin 8

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (242.95 KB, 24 trang )

TÀI LIỆU BỒI DƯỠNG CƠ BẢN + NÂNG CAO
PASCAL 8
TÀI LIỆU HƯỚNG DẪN RẤT CHI TIẾT
Chúc bạn học tốt


(^_^)
P



I. Các hàm, câu lệnh thường dùng:

Các hàm nhập và xuất dữ liệu


write() - in ra màn hình liền sau kí tự cuối.
writeln() - in ra màn hình xuống một hàng.
read() - đọc biến.
readln(' ') - đọc biến và xuống dòng.
Uses CRT

clrscr - xoá toàn bộ màn hình.
textcolor() - in chữ màu.
textbackground() - tô màu cho màn hình.
sound() - tạo âm thanh.
delay() - làm trễ.
nosound - tắt âm thanh.
windows(x1,y1,x2,y2) - thay đổi cửa sổ màn hình.
highvideo - tăng độ sáng màn hình.
lowvideo - giảm độ sáng màn hình.


normvideo - màn hình trở lại chế độ sáng bình thường.
gotoxy(x,y) - đưa con trỏ đến vị trí x,y trên màn hình.
deline - xoá một dòng đang chứa con trỏ.
clreol - xoá các ký tự từ vị trí con trỏ đến cuối mà không di chuyển vị trí con trỏ.
insline - chèn thêm một dòng vào vị trí của con trỏ hiện hành.
exit - thoát khỏi chương trình.


textmode(co40) - tạo kiểu chữ lớn.
randomize - khởi tạo chế độ ngẫu nhiên.
move(var 1,var 2,n) - sao chép trong bộ nhớ một khối n byte từ biến Var 1 sang biến Var 2.
halt - Ngưng thực hiện chương trình và trở về hệ điều hành.
Abs(n) - Giá trị tuyệt đối.
Arctan(x) - cho kết quả là hàm Arctan(x).
Cos(x) - cho kết quả là cos(x).
Exp(x) - hàm số mũ cơ số tự nhiên ex.
Frac(x) - cho kết quả là phần thập phân của số x.
int(x) - cho kết quả là phần nguyên của số thập phân x.
ln(x) - Hàm logarit cơ số tự nhiên.
sin(x) - cho kết quả là sin(x), với x tính bằng Radian.
Sqr(x) - bình phương của số x.
Sqrt(x) - cho kết quả là căn bậc hai của x.
pred(x) - cho kết quả là số nguyên đứng trước số nguyên x.
Suuc(x) - cho kết quả là số nguyên đứng sau số nguyên x.
odd(x) - cho kết quả là true nếu x số lẻ, ngược lại là false.
chr(x) - trả về một kí tự có vị trí là x trong bảng mã ASCII.
Ord(x) - trả về một số thứ tự của kí tự x.
round(n) - Làm tròn số thực n.
Random(n) - cho một số ngẫu nhiên trong phạm vi n.
upcase(n) - đổi kí tự chữ thường sang chữ hoa.

assign(f,) - tạo file.
rewrite(f) - khởi tạo.
append(f) - chèn thêm dữ liệu cho file.
close(f) - tắt file.


erase(f) - xóa.
rename() - đổi tên cho file.
length(s) - cho kết quả là chiều dài của chuỗi.
copy(s,a,b) - copy chuỗi.
insert(,s,a) - chèn thêm cho chuỗi.
delete(s,a,b) - xoá chuỗi.

Unit GRAPH (Các hàm đồ họa)

initgraph(a,b,) - khởi tạo chế độ đồ hoạ.
closegraph ; - tắt chế độ đồ hoạ.
setcolor(x) - chọn màu.
outtext() - in ra màn hình tại góc trên bên trái.
outtextxy(x,y,); - in ra màn hình tại toạ độ màn hình.
rectangle(x1,y1,x2,y2) - vẽ hình chữ nhật.
line(x1,y1,x2,y2) - vẽ đoạn thẳng.
moveto(x,y) - lấy điểm xuất phát để vẽ đoạn thẳng.
lineto(x,y) - lấy điểm kết thúc để vẽ doạn thảng.
circle(x,y,n) - vẽ đường tròn.
ellipse(x,y,o1,o2,a,b) - vẽ hình elip.


floodfill(a,b,n) - tô màu cho hình.
getfillpattern(x) - tạo biến để tô.

setfillpattern(x,a) - chọn màu để tô.
cleardevice; - xoá toàn bộ màn hình.
settextstyle(n,a,b) - chọn kiểu chữ.
bar(a,b,c,d) - vẽ thanh.
bar3d(a,b,c,d,n,h) - vẽ hộp.
arc(a,b,c,d,e) - vẽ cung tròn.
setbkcolor(n) - tô màu nền.
putpixel(x,y,n) - vẽ điểm.
setfillstyle(a,b) - tạo nền cho màn hình.
setlinestyle(a,b,c) - chọn kiểu đoạn thẳng.
getmem(p,1) - chuyển biến để nhớ dữ liệu.
getimage(x1,y1,x2,y2,p) - nhớ các hình vẽ trên vùng cửa sổ xác định.
putimage(x,y,p,n) - in ra màn hình các hình vừa nhớ

Unit DOS

getdate(y,m,d,t) - lấy các dữ liệu về ngày trong bộ nhớ.
gettime(h,m,s,hund) - lấy các dữ liệu về giờ trong bộ nhớ.


findnext(x) - tìm kiếm tiếp.
Findfirst($20,dirinfo) - tìm kiếm

II. Ví dụ/cách sử dụng một số hàm thường
dùng:
1. random:
Nếu bạn muốn sinh ra 1 trong những số
ngẫu nhiên từ 0 đến z (z là do bạn chọn) thì
bạn cần làm như sau:
Lưu ý: khi bạn chọn z thì khi nhạp giá trị z thì phải công

thêm 1 đơn vị cho số z
Program random;
Uses crt;
Begin
Randomize;
Writeln (random(z));
Readln;
End.

2. Âm thanh:
A. Tạo ra âm thanh:
Để tạo ra âm thanh thì phải dùng thủ tục sau:
Program am_thanh;
Uses crt;


Begin
Sound (121);
Delay (1000);
Nosound;
End.

+ ở chỗ “121” bạn có thể thay thế thành 1 mã số âm thanh khác
+ Delay (1000) = 2s; cứ delay(500)=1s;

Lưu ý: nếu không có nosound thì âm thanh sẽ phát ra cho đến khi
tắt chương trình

III. CÁC BÀI TẬP CƠ BẢN:
1. Thuật toán đếm số n:

Program dem_so;
Uses crt;
Var i, n, dem: longint;
Begin
Clrscr;
dem:=0;
write (‘nhap so nguyen n : ‘);
write (‘so ‘,n,’ co’);
n:=abs(n);
while n>0 do
begin
n:= n div 10;
dem:=dem+1;
end;
writeln (dem,’ chu so’);

readln (n);


readln;
end.

2. Thuật toán tính tổng của dạng

1 1 1
1
 2  2  .....  2
2
1 2 3
n


Program tinh_tong_dang_1;
Uses crt;
Var t: real;
Var I, n: longint;
Begin
Clrscr;
Write (‘nhap n: ‘); readln;
t:=0;
i:=1;
for i:=i to n do
t:=t+1/(i*i);
writeln (‘t= ‘,t:0:2);
readln;
end.

3. Chu vi & diện tích hình chữ nhật:
Program CHU_VI_DIEN_TICH_HINH_CHU_NHAT;
Uses crt;
Var a, b : integer;
Begin
Clrscr;
Write (‘nhap chieu dai a: ’); readln (a);
Write (‘nhap chieu rong b: ‘); readln (b);
Writeln (‘chu vi cua hinh chu nhat la: ‘,(a+b)*2);
Writeln (‘’);


Writeln (‘dien tich cua hinh chu nhat la: ‘,a*b);
Readln;

End.

4. Chu vi & diện tích hình tam giác:
a. Tam giác thường:
Program CHU_VI_DIEN_TICH_HINH_TAM_GIAC_1;
Uses crt;
Var a, b, c, h: integer;
Begin
Clrscr;
Write (‘nhap canh thu nhat : ‘); readln (a);
Write (‘nhap canh thu hai : ‘); readln (b);
Write (‘nhap canh thu ba : ‘); readln (c);
Write (‘nhap chieu cao : ‘); readln (h);
Writeln (‘chu vi cua hinh tam giac la: ‘,a+b+c);
Writeln (‘’);
Writeln (‘dien tich cua hinh tam giac la: ‘,(a*h)/2);
Readln;
End.

b. Tam giác vuông:
Program CHU_VI_DIEN_TICH_HINH_TAM_GIAC_2;
Uses crt;
Var a, b, c: integer;
Begin
Clrscr;
Write (‘nhap canh thu nhat (la 1 trong 2 canh goc vuong): ‘); readln (a);
Write (‘nhap canh thu hai (la 1 trong 2 canh goc vuong): ‘); readln (b);
Write (‘nhap canh thu ba: ‘); readln (c);



Writeln (‘chu vi cua hinh tam giac la: ‘,a+b+c);
Writeln (‘’);
Writeln (‘dien tich cua hinh tam giac la: ‘,(a*b)/2);
Readln;
End.

c. Tam giác cân:
Program CHU_VI_DIEN_TICH_HINH_TAM_GIAC_3;
Uses crt;
Var a, c: integer;
Begin
Clrscr;
Writeln (‘nhap do dai cua 1 trong hai canh ben: ‘); readln (a);
Writeln (‘nhap do dai canh day: ‘);

readln (c);

Writeln (‘chu vi cua tam giac la: ‘,(a*2)+c);
Writeln (‘’);
Writeln (‘dien tich cua tam giac la: ‘,(a*h)/2);
Readln;
End.

d. Tam giác vuông cân:
Program CHU_VI_DIEN_TICH_HINH_TAM_GIAC_4;
Uses crt;
Var a, c: integer;
Begin
Clrscr;
Writeln (‘nhap do dai cua 1 trong hai canh ben: ‘); readln (a);

Writeln (‘nhap do dai canh day: ‘);

readln (c);

Writeln (‘chu vi cua tam giac la: ‘,(a*2)+c);
Writeln (‘’);


Writeln (‘dien tich cua tam giac la: ‘,sqr(a)/2);
Readln;
End.

e. Tam giác đều:
Program CHU_VI_DIEN_TICH_HINH_TAM_GIAC_3;
Uses crt;
Var a: integer;
Begin
Clrscr;
Writeln (‘nhap do dai mot canh: ‘); readln (a);
Writeln (‘chu vi cua tam giac la: ‘,a*4);
Writeln (‘’);
Writeln (‘dien tich cua tam giac la: ‘,sqr(a)*(sqrt(3)/4));
Readln;
End.

5. Chu vi & diện tích hình vuông:
Program CHU_VI_DIEN_TICH_HINH_VUONG;
Uses crt;
Var a: integer;
Begin

Clrscr;
Write (‘nhap 1 canh: ‘); readln (a);
Writeln (‘chu vi cua hinh vuong la: ‘,a*4);
Writeln (‘’);
Writeln (‘dien tich: ‘,a*a);
Readln;
End.

6. So sánh 4 số:


Program so_sanh_4_so;
Uses crt;
Var a, max: integer;
Begin
Clrscr;
max:=0;
Write ('nhap so thu nhat: ');
Readln (a);
If a >= max then
max:=a;
Write ('nhap so thu hai: ');
Readln (a);
If a >= max then
max:=a;
Write ('nhap so thu ba: ');
Readln (a);
If a >= max then
max:=a;
Write ('nhap so thu tu: ');

Readln (a);
If a >= max then
max:=a;
Writeln ('so lon nhat la: ',max);
Writeln ('================THE END================');
Readln;
End.

7. Chu vi & diện tích hình tròn :
Program CHU_VI_DIEN_TICH_HINH_TRON;


Uses crt;
Var r: integer
Begin
Clrscr;
Writeln (‘nhap ban kinh: ‘); readln (r);
Writeln (‘chu vi cua hinh tron: ‘,(r*2)*pi);
Writeln (‘’);
Writeln (‘dien tich cua hinh tron: ‘,r*r*pi);
Readln;
End.

8. Tìm ƯCLN:
Program Tim_UCLN;
Uses crt;
Var a, b: integer;
Begin
Clrscr;
Write (‘nhap so thu nhat: ‘); readln (a);

Write (‘nhap so thu hai: ‘); readln (b);
Begin
Repeat
If a>b then
a:=a-b;
Else
b:=b-a;
Until a=b;
End;
Writeln (‘UCLN cua 2 so nay la: ‘,a);
Readln;


End.

9. Tổng các số từ a đến z:
Program tong_a_den_z;
Uses crt;
Var s, i, a, z: longint;
Begin
Clrscr;
Write (‘nhap a: ‘); readln (a);
Write (‘nhap z: ‘); readln (z);
s:=0;
For i:=a to z do
s:= s+I;
Writeln (‘tong la: ‘,s);
Readln;
End.


10. Tổng các số lẻ từ a đến z:
Program tong_le_a_den_z;
Uses crt;
Var s, i, a, z: longint;
Begin
Clrscr;
Write (‘nhap a: ‘); readln (a);
Write (‘nhap z: ‘); readln (z);
s:=0;
For i:=a to z do
If i mod 2 = 0 then
s:= s+I;
Writeln (‘tong la: ‘,s);


Readln;
End.

11. Tổng các số chẵn từ a đến z:
Program tong_chan_a_den_z;
Uses crt;
Var s, i, a, z: longint;
Begin
Clrscr;
Write (‘nhap a: ‘); readln (a);
Write (‘nhap z: ‘); readln (z);
s:=0;
For i:=a to z do
If i mod 2 = 1 then
s:= s+I;

Writeln (‘tong la: ‘,s);
Readln;
End.

11. Trung bình cộng 4 số:
Program trung_binh_cong;
Uses crt;
Var a, b, c, d: integer;
Begin
Clrscr;
Write (‘nhap so thu nhat: ‘); readln (a);
Write (‘nhap so thu hai: ‘);

readln (b);

Write (‘nhap so thu ba: ‘); readln (c);
Writeln (‘Trung binh cua 4 so la: ‘,(a+b+c+d)/4);
Readln;


End.

12. Tính tổng các chữ số của n:
program Tinh_tong_cac_chu_so_cua_n;
uses crt;
var i, x, y, z, t, d1, d2: integer;
begin
clrscr;
textcolor (lightred);
write ('nhap so co 4 chu so: ');

readln (i);
if (i > 999) and (i < 10000) then
begin
x:=i div 1000;
d1:=i mod 1000;
y:=d1 div 100;
d2:=d1 mod 100;
z:=d2 div 10;
t:=d2 mod 10;
textcolor (lightblue);
writeln ('tong 4 chu so: ',x+y+z+t);
end;
if (i >= 10000) or (i < 1000) then
begin
textcolor(green);
writeln ('khong hop le vui long thi lai');
end;
readln;
end.


13. Giải phương trình bậc 2:
Program PTB2;
Var a,b,c:Integer;
delta,x1,x2:Real;
Begin
Writeln('GIAI PHUONG TRINH BAC HAI');
Writeln(' --------------');
Repeat
Begin

Write('-Nhap he so a= ');
Readln(a);
End;
Until a <>0;
Write('-Nhap he so b= ');
Readln(b);
Write('-Nhap he so c= ');
Readln(c);
delta:=b*b-4*a*c;
If delta < 0 Then
Writeln('*Phuong trinh vo nghiem')
Else If delta = 0 Then
Writeln('*Phuong trinh co 2 nghiem bang nhau X= ',-b/2*a:6:2)
Else
Begin
x1:=(-b-sqrt(delta))/2*a;
x2:=(-b+sqrt(delta))/2*a;
Writeln('*Nghiem thu nhat X1= ',x1:6:2);
Writeln('*Nghiem thu hai X2= ',x2:6:2);
End;
Readln;
End.

IV. Một số bài tập nâng cao có lời giải:
1. Viết chương trinh nhập vào một số nguyên dương n và in
ra màn hình:
* Số chữ số của n.
* Tổng các chữ số của n.
* Chữ số lớn nhất của n.



* Số còn lại lớn nhất chia hết cho 5 khi xóa đi 1 chữ số bên
phải của n (nếu không tồn tại thì ghi KHONG).
VD: Với n = 37654 thì in ra kết quả:
+ So chu so la: 5
+ Tong cac chu so la: 15
+ Chu so lon nhat la: 7
+ So lon nhat chia het cho 5 la: 3765
program bai2_de_huyen_dai_loc_nam_19_20;
uses crt;
var t, n, n2, max, dem, r, h: longint;
begin
clrscr;
t:=0;
textcolor (lightblue);
write ('nhap n: '); readln (n);
r:=n;
h:=n;
n:=abs(n);
repeat
begin
n2:=n mod 10;
n:=n div 10;
t:=t+n2;
if n2 >= max then
max:=n2;
end;


until n=0;

writeln ('tong cac chu so cua n la: ',t);
writeln ('chu so lon nhat la: ',max);
while r > 0 do
begin
r:=r div 10;
dem:=dem+1;
end;
clrscr;
textcolor (green);
writeln ('so chu so la: ',dem);
writeln ('tong cac chu so la: ',t);
writeln ('chu so lon nhat la: ',max);
begin
h:=h div 10;
if h mod 5 < > 0 then
writeln ('KHONG');
if h mod 5 = 0 then
writeln ('so lon nhat chia het cho 5: ',h);
end;
readln;
end.

2. Tính:
+ Vận tốc (v) khi biết thời gian (t) và quãng đường (s)
+ Thời gian (t) khi biết vận tốc (v) và quãng đường (s)
+ Quãng đường (s) khi biết vận tốc (v) và thời gian (t)
Program VTS;


uses crt;

var v, t, s: real;
var A : integer;
begin
clrscr;
textcolor (green+blink);
writeln ('CHAO MUNG BAN DEN VOI CHUONG TRINH TINH TOAN "VTS"');
DELAY (550);
textcolor (lightblue);
WRITELN ('CHON CHUONG TRINH BAN CAN TINH');
delay (750);
textcolor (yellow);
writeln ('=> 1.tinh v');
writeln ('=> 2.tinh t');
writeln ('=> 3.tinh s');
textcolor (lightred);
write ('CHUONG TRINH TINH BAN CHON LA <1, 2, 3> : ');
readln (A);
Begin
if A=1 then
begin
writeln ('');
textcolor (lightblue);
write ('nhap quang duong <km> : ');
readln (s);
write ('nhap thoi gian <h> : ');
readln (t);
textcolor (green);
write ('=> van toc la <km/h> : ',s/t:4:2);



writeln (' km/h');
writeln ('================== THE END ==================');
readln;
end;
if A=2 then
begin
writeln ('');
textcolor (lightblue);
write ('nhap van toc <km/h> : ');
readln (v);
write ('nhap quang duong <km> : ');
readln (s);
textcolor (green);
write ('=> thoi gian la <h> : ',s/v:4:2);
writeLN (' h');
writeln ('================== THE END ==================');
readln;
end;
if A=3 then
begin
writeln ('');
textcolor (lightblue);
write ('nhap van toc <km/h> : ');
readln (v);
write ('nhap thoi gian <h> : ');
readln (t);
textcolor (green);
write ('=> quang duong la <km> : ',v*t:4:2);
writeLN (' km');



writeln ('================== THE END ==================');
readln;
end;
if A > 3 then
begin
textcolor (white);
writeln ('');
writeln ('BAN DA CHON KHONG HOP LE VUI LONG CHON LAI (^_^)');
readln;
end;
end;
end.



×