Một số kỹ thuật Pascal cơ bản

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Một số kỹ thuật Pascal cơ bản

Bài gửi  linhtv on 17/10/2009, 5:45 pm

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

Code:
For i:=1 to M do
Begin
For j:=1 to N do
Write(A[i,j],' ');
Writeln;
End;

3.Hoán đổi vị trí của hai số a,b,sử dụng một biến tg làm trung gian
Code:
Procedure Swap(Var a,b:integer);
Var tg:integer;
Begin
g:=a; a:=b; b:=tg;
End;

4.Hàm kiểm tra số nguyên tố,trả về true nếu số n là số nguyên tố

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;

5. Hàm tính giai thừa(loại cơ bản,áp dụng cho số nguyên dương n<=15)

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;

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

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ó:


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;

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ố đó.

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;

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.

linhtv

Tổng số bài gửi : 16
Join date : 01/06/2009
Age : 38
Đến từ : Ninh Thuận

Về Đầu Trang Go down

Re: Một số kỹ thuật Pascal cơ bản

Bài gửi  Okiyas13 on 18/9/2011, 2:40 pm

A cho e hoi viet ham nay trog pascal thj viết vao cho nao?

Okiyas13

Tổng số bài gửi : 2
Join date : 18/09/2011

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết