Bài viết được đăng tại nguyenlediep.com - không copy dưới mọi hình thức.
NLD Code - Chương trình tính n! (n giai thừa) với n được nhập từ bàn phím và n>0. Chương trình vận dùng hàm if, else và vòng lặp for để tính n! đơn giản và dễ nhất...
Chương trình tính n! (n giai thừa) với n được nhập từ bàn phím trong Python. Chương trình tính n! (giai thừa) với n được nhập từ bàn phím và n>0. Chương trình vận dùng hàm if, else và vòng lặp for để tính n! đơn giản và dễ nhất. Ví dụ: nhập 0 sẽ báo nhập lại với hàm if, và gán biến i trong for. In ra câu thông báo nhập nprint("Nhập giá trị n: ",end='')Nhận giá trị nhập từ bàn phím và ép kiểu string sang integern=int(input())Điều kiện đúng với n > 0if n > 0: giaithua=1 for i in range(1,n+1): giaithua=giaithua*i print(n,"giai thừa bằng:",giaithua)Điều kiện ngược lại với n <= 0print("Vui lòng nhập n > 0")Chương trình hoàn chỉnh# http://nguyenlediep.com print("Nhập giá trị n: ",end='') n=int(input()) if n > 0: giaithua=1 for i in range(1,n+1): giaithua=giaithua*i print(n,"giai thừa bằng:",giaithua) else: print("Vui lòng nhập n > 0") # Chúc các bạn thành công!Xem video hướng dẫn kèm giải thích tại đây Chúc các bạn thành công và vui vẻ!
program giaithua; uses crt; var n,i:byte; gt:int64; begin clrscr; write('Nhap so can tinh: '); readln; gt:=1; for i:=1 to n do gt:=gt*i; write(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 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: -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: 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. |