Gốc > Kiến thức tin học > Lập trình Pascal >
Đỗ Trung Thành @ 19:48 13/09/2009
Số lượt xem: 8405
Một số kỹ thuật Pascal cơ bản
1. Kỹ thuật dừng màn hình:
Muốn dừng màn hinh lại để có thể xem kết quả sau khi chương trình đã chạy xong,hãy thêm vào trước cái END cuối cùng của chương trình một câu lệnh Readln;
2. Cách in ra ma trận a với m dòng,n cột dưới dạng bảng
3.Hoán đổi vị trí của hai số a,b,sử dụng một biến tg làm trung gian
4.Hàm kiểm tra số nguyên tố,trả về true nếu số n là số nguyên tố
5. Hàm tính giai thừa(loại cơ bản,áp dụng cho số nguyên dương n<=15)
6.Sắp xếp mảng a với n phần tử theo thứ tự tăng dần,sử dụng thuật toán Bubble Sort
Muốn dừng màn hinh lại để có thể xem kết quả sau khi chương trình đã chạy xong,hãy thêm vào trước cái END cuối cùng của chương trình một câu lệnh Readln;
2. Cách in ra ma trận a với m dòng,n cột dưới dạng bảng
Code:
For i:=1 to M do Begin
For j:=1 to N do
Write(A[i,j],' ');
Writeln;
End;
Code:
Procedure Swap(Var a,b:integer);
Var tg:integer;
Begin
tg:=a;
a:=b;
b:=tg;
End;
Code:
Function nt(n:integer):boolean;
Var
i:integer;
Begin
if n<=1 then begin
nt:=false;
Exit;
end;
for i:=2 to (n div 2) do
if (n mod i)=0 then begin
nt:=false;
Exit;
end;
nt:=true;
End;
Code:
Function gt(n:byte):Longint;
Var
s:Longint;
i:byte;
Begin
s:=1
For i:=2 to n do
s:=s*i;
gt:=s;
End;
Code:
Procedure BubbleSort(Var a:mang,n:integer);{Mang là kiểu array khai báo
bằng từ khóa Type}
Var i,j:integer;
Begin
for j:=1 to n-1 do
for i:=n downto j+1 do
if a[i]
Swap(a[i],a[i-1];{Thủ tục Swap ở trên})
End;
7. HÀM TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊN
Ý tưởng là ta chia số đó cho 10 lấy dư (mod) thì được chữ số hàng đơn vị, và lấy số đó div 10 thì sẽ được phần còn lại. Do đó sẽ chia liên tục cho đến khi không chia được nữa (số đó bằng 0), mỗi lần chia thì được một chữ số và ta cộng dồn chữ số đó vào tổng. Hàm tính tổng chữ số nhận vào 1 số nguyên n và trả lại kết quả là tổng các chữ số của nó:
8. HÀM TÍNH UCLN
Ý tưởng của thuật toán Euclide là UCLN của 2 số a,b cũng là UCLN của 2 số b và a mod b, vậy ta sẽ đổi a là b, b là a mod b cho đến khi b bằng 0. Khi đó UCLN là a.
Hàm UCLN nhận vào 2 số nguyên a,b và trả lại kết quả là UCLN của 2 số đó.
Chú ý: Dựa trên thuật toán tính UCLN ta có thể kiểm tra được 2 số nguyên tố cùng nhau hay không. Ngoài ra cũng có thể dùng để tối giản phân số bằng cách chia cả tử và mẫu cho UCLN.
Ý tưởng là ta chia số đó cho 10 lấy dư (mod) thì được chữ số hàng đơn vị, và lấy số đó div 10 thì sẽ được phần còn lại. Do đó sẽ chia liên tục cho đến khi không chia được nữa (số đó bằng 0), mỗi lần chia thì được một chữ số và ta cộng dồn chữ số đó vào tổng. Hàm tính tổng chữ số nhận vào 1 số nguyên n và trả lại kết quả là tổng các chữ số của nó:
Code:
Function TONGCS(N:Integer): Integer;
Var
S : integer;
Begin
S := 0;
While N <> 0 Do
Begin
S := S + N Mod 10;
N := N div 10;
End;
TONGCS := S;
End;
Ý tưởng của thuật toán Euclide là UCLN của 2 số a,b cũng là UCLN của 2 số b và a mod b, vậy ta sẽ đổi a là b, b là a mod b cho đến khi b bằng 0. Khi đó UCLN là a.
Hàm UCLN nhận vào 2 số nguyên a,b và trả lại kết quả là UCLN của 2 số đó.
Code:
function UCLN(a,b: integer): integer;
var r : integer;
begin
while b<>0 do begin
r := a mod b;
a := b;
b := r;
end;
UCLN := a;
end;
Đỗ Trung Thành @ 19:48 13/09/2009
Số lượt xem: 8405
Số lượt thích:
0 người
 
- LỖI TRONG TURBO PASCAL (Phần 2) (13/09/09)
- LỖI TRONG TURBO PASCAL (Phần 1) (13/09/09)
- Âm thanh trong Pascal: ĐỌC VÀ CHƠI NHẠC (13/09/09)
- Âm thanh trong Pascal: TẠO HIỆU ỨNG ÂM THANH (13/09/09)
- Âm thanh trong Pascal: LOA CỦA PC (13/09/09)

Các ý kiến mới nhất