logo

Viết chương trình tính giai thừa của số n

Pascal - Viết chương trình tính giai thừa của số n (Viết là n!)

Viết chương trình tính giai thừa của số n (Viết là n!). Với yêu cầu:

- Nếu người dùng nhập số n < 0 thì yêu cầu nhập lại.

- Sử dụng chương trình con để tính giai thừa của một số.

+ n! = 1 nếu n = 0;

+ n! = 1.2.3.4.5...n (Tích của n thừa số).

Mã chương trình

Cách 1:

[CHUẨN NHẤT] Viết chương trình tính giai thừa của số n

Nhận xét

Lệnh n:= n-1 làm thay đổi giá trị của n  nhưng khi ra khỏi chương trình con n có giá trị không đổi so với trước khi gọi chương trình con.

Cách 2:

[CHUẨN NHẤT] Viết chương trình tính giai thừa của số n (ảnh 2)

Cùng Top lời giải đi tìm hiểu chi tiết về cách viết chương trình pascal nhé.

1. Tìm hiểu cách viết chương trình pascal 

Cấu trúc chung:

[<phần khai báo>]

<phần thân>

- Phần thân nhất thiết phải có

- Phần khai báo có thể có hoặc không

Ta quy ước: 

- Các diễn giải bằng ngôn ngữ tự nhiên được đặt giữa cặp dấu < và >.

- Các thành phần của chương trình có thể có hoặc không được đặt dấu [ và ]

Phần khai báo bao gồm:

- Khai báo tên chương trình. 

Program <tên chương trình>;

Tên chương trình: là tên do người lập trình đặt ra theo đúng quy định về tên. Phần khai báo này có thể có hoặc không.

Ví dụ: Program vidu1;

Hay Program UCLN;

- Khai báo thư viện.

Uses <tên thư viện>;

Đối với pascal thì thư viện crt thường được sử dụng nhất, đây là thư viện các chương trình có sẵn để làm việc với màn hình và bàn phím.

Ví dụ: Uses crt;

- Khai báo hằng

Const n = giá trị hằng;

Là khai báo thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình.

Ví dụ: Const n = 10;

Hay Const bt = ‘bai tap’;

- Khai báo biến.

Tất cả các biến dùng trong chương trình đều phải được đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lý. Biến chỉ nhận một giá trị tại mỗi thời điểm khai báo được gọi là biến đơn.

Ví dụ: Var i: integer;

Phần thân chương trình

Begin

[<dãy lệnh>]

End.

Trong đó: 

- Begin: bắt đầu (tên dành riêng)

- End: kết thúc (tên dành riêng) 

2. Những cấu trúc trong chương trình pascal 

Cấu trúc rẽ nhánh

Cấu trúc rẽ nhánh có dạng: 

- Dạng thiếu: If <điều kiện> then <câu lệnh> 

- Dạng đủ If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>

Ở dạng đủ câu lệnh được hiểu như sau: Nếu <điều kiện> đúng thì <câu lệnh 1> được thực hiện, ngược lại thì <câu lệnh 2> được thực hiện.

Ví dụ: Nếu x <= 200 thì số tiền phải trả là x*300 đồng. Nếu không thì số tiền phải trả là x*280 đồng

Đưa vào ngôn ngữ pascal là: 

If x<=200 then 

Writeln (‘So tien phai tra la ’, x*300, ‘dong’)

else 

Writeln (‘So tien phai tra la ’, x*280, ‘dong’);

Cấu trúc lặp

Trong cấu trúc lặp có 2 dạng: 

- Lặp dạng tiến: 

For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

Ví dụ: 

For i:=1 to 5 do writeln(‘i= ’,i);

Ta được kết quả như sau: 

[CHUẨN NHẤT] Viết chương trình tính giai thừa của số n (ảnh 3)

- Dạng lặp lùi

For <biến đếm> := <giá trị cuối> to <giá trị đầu> do <câu lệnh>;

For i:=10 downto 1 do if sqrt(i)>2 then s:=s+i;

Ta được kết quả như sau: 

[CHUẨN NHẤT] Viết chương trình tính giai thừa của số n (ảnh 4)

3. Chương trình con trong chương trình pascal 

Chương trình con

Khái niệm: Chương trình con theo định nghĩa chính là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.

Cách khai báo:

Ví dụ: Hãy khai báo một chương trình con dùng để tính lũy thừa.

Function  luythua (x: Real ; k: integer): Real;

Var i : integer;

Begin

luythua:=1.0;

For i:=1 to k do luythua:=luythua*x;

End;

Lợi ích của việc sử dụng chương trình con

- Giúp tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh, đồng thời khi cần dùng có thể gọi lại chương trình con đó.

- Sử dụng chương trình con còn hỗ trợ việc thực hiện các chương trình lớn 

- Phục vụ cho quá trình trừu tượng hóa. Người lập trình có thể sử dụng kết quả của chương trình con mà không cần quan tâm đến chương trình đó đã được cài đặt thế nào.

- Mở rộng khả năng ngôn ngữ thành thư viện cho nhiều người dùng.

- Thuận tiện cho phát triển, nâng cấp chương trình.

Biến toàn cục và biến cục bộ

- Biến toàn cục chính là biến được khai báo trên phần khai báo của chương trình chính (được khai báo gần chữ Program) được gọi là biến toàn cục và được sử dụng cho toàn bộ chương trình.

- Biến cục bộ được hiểu là biến được khai báo trong chương trình con. Biến cục bộ chỉ được sử dụng trong chương trình con.

icon-date
Xuất bản : 09/11/2021 - Cập nhật : 10/11/2021