122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
I Các hàm, câu lệnh thường dùng: Các hàm nhập xuất liệu write() - in hình liền sau kí tự cuối writeln() - in hình xuống hàng read() - đọc biến readln(' ') - đọc biến xuống dòng Uses CRT clrscr - xố tồn hình textcolor() - in chữ màu textbackground() - tơ màu cho hình sound() - tạo âm delay() - làm trễ nosound - tắt âm windows(x1,y1,x2,y2) - thay đổi cửa sổ hình highvideo - tăng độ sáng hình lowvideo - giảm độ sáng hình normvideo - hình trở lại chế độ sáng bình thường gotoxy(x,y) - đưa trỏ đến vị trí x,y hình deline - xố dịng chứa trỏ clreol - xố ký tự từ vị trí trỏ đến cuối mà khơng di chuyển vị trí trỏ insline - chèn thêm dịng vào vị trí trỏ hành exit - 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) - chép nhớ khối n byte từ biến Var sang biến Var halt - Ngưng thực chương trình trở hệ điều hành Abs(n) - Giá trị tuyệt đối Arctan(x) - cho kết hàm Arctan(x) Cos(x) - cho kết cos(x) Exp(x) - hàm số mũ số tự nhiên ex Frac(x) - cho kết phần thập phân số x int(x) - cho kết phần nguyên số thập phân x ln(x) - Hàm logarit số tự nhiên sin(x) - cho kết sin(x), với x tính Radian Sqr(x) - bình phương số x Sqrt(x) - cho kết bậc hai x pred(x) - cho kết số nguyên đứng trước số nguyên x Suuc(x) - cho kết số nguyên đứng sau số nguyên x odd(x) - cho kết true x số lẻ, ngược lại false chr(x) - trả kí tự có vị trí x bảng mã ASCII Ord(x) - trả số thứ tự kí tự x round(n) - Làm tròn số thực n Random(n) - cho số ngẫu nhiên 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 liệu cho file close(f) - tắt file erase(f) - xóa rename() - đổi tên cho file length(s) - cho kết chiều dài 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 hình góc bên trái outtextxy(x,y,); - in hình toạ độ 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; - xố tồn hình settextstyle(n,a,b) - chọn kiểu chữ bar(a,b,c,d) - vẽ 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 putpixel(x,y,n) - vẽ điểm setfillstyle(a,b) - tạo cho hình setlinestyle(a,b,c) - chọn kiểu đoạn thẳng getmem(p,1) - chuyển biến để nhớ liệu getimage(x1,y1,x2,y2,p) - nhớ hình vẽ vùng cửa sổ xác định putimage(x,y,p,n) - in hình hình vừa nhớ Unit DOS getdate(y,m,d,t) - lấy liệu ngày nhớ gettime(h,m,s,hund) - lấy liệu nhớ findnext(x) - tìm kiếm tiếp Findfirst($20,dirinfo) - tìm kiếm II Ví dụ/cách sử dụng số hàm thường dùng: random: Nếu bạn muốn sinh số ngẫu nhiên từ đến z (z bạn chọn) bạn cần làm sau: Lưu ý: bạn chọn z nhạp giá trị z phải cơng thêm đơn vị cho số z Program random; Uses crt; Begin Randomize; Writeln (random(z)); Readln; End Âm thanh: A Tạo âm thanh: Để tạo âm phải dùng thủ tục sau: Program am_thanh; Uses crt; Begin Sound (121); Delay (1000); Nosound; End + chỗ “121” bạn thay thành mã số âm khác + Delay (1000) = 2s; delay(500)=1s; Lưu ý: khơng có nosound âm phát tắt chương trình III CÁC BÀI TẬP CƠ BẢN: 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 : ‘); readln (n); write (‘so ‘,n,’ co’); n:=abs(n); while n>0 begin n:= n div 10; dem:=dem+1; end; writeln (dem,’ chu so’); readln; end Thuật tốn tính tổng dạng 1 1 + + + + 2 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 t:=t+1/(i*i); writeln (‘t= ‘,t:0:2); readln; end 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 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 canh goc vuong): ‘); readln (a); Write (‘nhap canh thu hai (la 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 dai cua hai canh ben: ‘); readln (a); Writeln (‘nhap 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 dai cua hai canh ben: ‘); readln (a); Writeln (‘nhap 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 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 Chu vi & diện tích hình vng: Program CHU_VI_DIEN_TICH_HINH_VUONG; Uses crt; Var a: integer; Begin Clrscr; Write (‘nhap canh: ‘); readln (a); Writeln (‘chu vi cua hinh vuong la: ‘,a*4); Writeln (‘’); Writeln (‘dien tich: ‘,a*a); Readln; End So sánh 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 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 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 so la: ‘,a); Readln; End Tổng 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 s:= s+I; Writeln (‘tong la: ‘,s); Readln; End 10 Tổng 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 If i mod = then s:= s+I; Writeln (‘tong la: ‘,s); Readln; End 11 Tổng 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 If i mod = then s:= s+I; Writeln (‘tong la: ‘,s); Readln; End 11 Trung bình cộng 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 so la: ‘,(a+b+c+d)/4); Readln; End 12 Tính tổng chữ số 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 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 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 < Then Writeln('*Phuong trinh vo nghiem') Else If delta = Then Writeln('*Phuong trinh co nghiem bang 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ố tập nâng cao có lời giải: Viết chương trinh nhập vào số nguyên dương n in hình: * Số chữ số n * Tổng chữ số n * Chữ số lớn n * Số lại lớn chia hết cho xóa chữ số bên phải n (nếu khơng tồn ghi KHONG) VD: Với n = 37654 in kết quả: + So chu so la: + Tong cac chu so la: 15 + Chu so lon nhat la: + So lon nhat chia het cho 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 > 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 < > then writeln ('KHONG'); if h mod = then writeln ('so lon nhat chia het cho 5: ',h); end; readln; end Tính: + Vận tốc (v) biết thời gian (t) quãng đường (s) + Thời gian (t) biết vận tốc (v) quãng đường (s) + Quãng đường (s) biết vận tốc (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 : '); readln (A); Begin if A=1 then begin writeln (''); textcolor (lightblue); write ('nhap quang duong : '); readln (s); write ('nhap thoi gian : '); readln (t); textcolor (green); write ('=> van toc la : ',s/t:4:2); writeln (' km/h'); writeln ('================== THE END =================='); readln; end; if A=2 then begin writeln (''); textcolor (lightblue); write ('nhap van toc : '); readln (v); write ('nhap quang duong : '); readln (s); textcolor (green); write ('=> thoi gian la : ',s/v:4:2); writeLN (' h'); writeln ('================== THE END =================='); readln; end; if A=3 then begin writeln (''); textcolor (lightblue); write ('nhap van toc : '); readln (v); write ('nhap thoi gian : '); readln (t); textcolor (green); write ('=> quang duong la : ',v*t:4:2); writeLN (' km'); writeln ('================== THE END =================='); readln; end; if A > then begin textcolor (white); writeln (''); writeln ('BAN DA CHON KHONG HOP LE VUI LONG CHON LAI (^_^)'); readln; end; end; end ... CHU_VI_DIEN_TICH_HINH_TAM_GIAC_3; Uses crt; Var a, c: integer; Begin Clrscr; Writeln (‘nhap dai cua hai canh ben: ‘); readln (a); Writeln (‘nhap dai canh day: ‘); readln (c); Writeln (‘chu vi cua tam giac la: ‘,(a*2)+c);... CHU_VI_DIEN_TICH_HINH_TAM_GIAC_4; Uses crt; Var a, c: integer; Begin Clrscr; Writeln (‘nhap dai cua hai canh ben: ‘); readln (a); Writeln (‘nhap dai canh day: ‘); readln (c); Writeln (‘chu vi cua tam giac la: ‘,(a*2)+c);... Với n = 37654 in kết quả: + So chu so la: + Tong cac chu so la: 15 + Chu so lon nhat la: + So lon nhat chia het cho la: 3765 program bai2 _de_huyen_dai_loc_nam_19_20; uses crt; var t, n, n2, max,