Tài nguyên Thư viện

Thành viên trực tuyến

13 khách và 0 thành viên

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Menu Thư viện

    Gốc > Kiến thức tin học > Lập trình Pascal >

    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

    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
    tg:=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.
     
    

    Nhắn tin cho tác giả
    Đỗ Trung Thành @ 19:48 13/09/2009
    Số lượt xem: 8405
    Số lượt thích: 0 người
     
    Gửi ý kiến