Viết chương trình tính a n trong pascal

  • Posted by: Tommy Tran
  • Mon, 6/01/2020, 20:49 (GMT+7)
  • 0 Bình luậ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

Program CTC_2;

uses crt;

var n:integer;x:longint;

Procedure Giai_Thua(var GT:longint; n:byte);

begin

    GT:=1;

    while n>0 do

    begin

    GT:=GT*n;

    n:=n-1;

    end;

end;

begin

   repeat

   clrscr;

   write('Nhap so n: ');readln(n);

   if n < 0 then begin write('Nhap so n>=0');readln; end;

   until n>=0;

   Giai_Thua(x,n);

   writeln('Giai thua cua ',n,'la:',x);

   readln

end.

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.

Bạn thấy bài viết này như thế nào?: 

Viết chương trình tính a n trong pascal

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Bài Kiểm Tra

2019-12-06T00:32:36+08:00 2019-12-06T00:32:36+08:00 Viết chương trình Pascal: Tính n! Lập trình Pascal, Tính n giai thừa https://baikiemtra.com/uploads/news/2019_11/bai-tap-lap-trinh-pascal.jpg

Bài Kiểm Tra https://baikiemtra.com/uploads/bai-kiem-tra-logo.png

Thứ sáu - 06/12/2019 00:31

  •  In ra

Viết chương trình Pascal: Tính n!

Program TINH_N_GIAI_THUA;
Uses crt;
Var i,n,gt:integer;
Begin
   Clrscr;
   Writeln(' TINH N GIAI THUA:');
   Writeln('----------------------------------');
   Write('Nhap n ='); readln(n);
   gt:=1;
   For i:=1 to n do
   gt:=gt*i;
   Writeln(n, '!=',gt);
   Readln;
End.

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:

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:

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

Đố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

[]

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  

- Dạng đủ If <điều kiện> then else

Ở dạng đủ câu lệnh được hiểu như sau: Nếu <điều kiện> đúng thì được thực hiện, ngược lại thì đượ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 := to do ;

Ví dụ: 

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

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

Viết chương trình tính a n trong pascal

- Dạng lặp lùi

For := to do ;

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

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

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.

Xem thêm các bài cùng chuyên mục

Xem thêm các chủ đề liên quan

Loạt bài Lớp 11 hay nhất