Professional Documents
Culture Documents
Chương Trình Con Trong Pascal
Chương Trình Con Trong Pascal
net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Giờ đây bạn có thể code và kiểm tra code đúng sai trên chamcode.net
1 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
năng nào đó. Trong Turbo Pascal, có 2 dạng CTC: Hàm và Thủ tục.
Hàm và thủ tục đều là những CTC, nhưng hàm khác thủ tục ở chỗ [16+] Tử c…
hàm trả về một giá trị cho lệnh gọi thông qua tên hàm còn thủ tục thì
không
Như vậy phần khai báo CTC nằm ở phần cuối của phần khai báo Chuyên làm ứng
a. Khai báo và lời gọi hàm
– Khai báo:
dụng Android, IOS,
thiết kế blog cá nhân,
1 FUNCTION <tên hàm>(Danh sách ác tham số):<Kiểu dữ liệu>;
2 [Khai báo Const, Type, Var] web giới thiệu công
3 BEGIN
4 <các lệnh trong thân hàm>;
ty. Liên hệ qua:
5 <tên hàm>:=<Giá trị>; fb.com/nguyenvanqu
6 END;
an7826
Chú ý luôn có phép gán tên hàm cho giá trị để hàm trả về giá trị khi
được gọi
Ví dụ: tính tổng của 2 số x và y
Mã giảm giá 40%
1 Function tong(x,y:integer):integer; {Do có giá trị trả về}
2
3
var s:integer;
begin
Khóa học online
4
5
s:=x+y;
tong:=s; tại unica
6 end;
Ví dụ:
tong(4,5);
Ví dụ:
1 Procedure inso(n:integer);
2 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
2 var i:inteher;
3 Begin Tự học lập trình
4 for i:=1 to n do Like Page 2K likes
5 write(i:5);
6 end;
Ví dụ: PhamBinh.net
Tutor/teacher · 42 likes
inso(6);
Lưu ý: Bài viết này không chỉ bạn cách “vi
3. Biến toàn cục và biến cục bộ láo” trong CV, bài viết chỉ bạn cách viết CV
sao cho rõ ràng, dễ hiểu và thể hiện được
các thông tin mà một NTD quan tâm.
vsmart.net
Mở
Bài viết mới
– Biến toàn cục là biến được khai báo trong chương trình chính. Công tắc thông minh
Các biến này co thẻ được dùng ở mọi nơi trong chương trình và tồn Hunonic
tại trong suốt thời gian làm việc của chương trình Android studio terminal
– Biến cục bộ (biến địa phương) là các biến được khai báo trong adb on mac
CTC. Các biến này chỉ được sử dụng trong phạm vi ctc mà nó được Tư vấn kinh nghiệm học
khai báo. Sau khi kết thức ctc các biến này sẽ không còn tồn tại. lập trình
Ví dụ: Cách tạo thư viện Android
cho người khác dùng
01 PROGRAM vidu;
02 Var a,b,c:integer; {3 biến toàn cục} Fix drawableStart resource
03 PROCEDURE thutuc(n:integer);{n là biến cục bộ} not found API 19
04 var i:integer; {i là biến cục bộ}
05 begin [Java log] P3: Ghi log bất
06 for i:=1 to 10 do writeln(i); đồng bộ vào Database sử
07 end; dụng ExecutorService
08 BEGIN
09 a:=5;b:=6;c:=8; [Java log] P2: Tích hợp
10 thutuc( a); log4j vào phần mềm
11 thutuc( b); [Java log] P1: Tầm quan
12 thutuc( c);
13 readln; trọng của ghi log trong
14 END. phát triển phần mềm
Git – Một số lệnh hay dùng
– Trong trường họp biến cục bộ trùng tên với biến toàn cục thì máy
Tìm hiểu về pathData của
không bị nhầm lẫn mà sẽ thực hiện trên biến cục bộ. Biến toàn cục
VectorDrawable trong
không bị ảnh hưởng.
Android
3 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
– CTC không cần có tham số (sau tên ctc) nếu không dùng đến
chúng hoặc dùng trực tiếp biến toàn cục
nhiều
– Khi truyền tham số các tham số trong lời gọi ctc phải đúng thứ tự
Lập trình C: Bài 7 - Vòng
và kiểu tương ứng với khi khai báo ctc.
lặp while, do...while trong
Ví dụ:
C
1 Procedure inso(a:integer; ch:char); [School_PPNCKH] Hệ
2 begin thống các phương pháp
3 {các lệnh của CTC}
nghiên cứu khoa học
4 end;
Hàm hoán vị trong C
1 {gọi} Lập trình C: Bài 8 - Hàm
2 inso(13,'a'); {lời gọi đúng}
3 inso('a',13); {loi goi sai} trong C
4 inso(13);{lời gọi sai} Lập trình C: Bài 4 - Phép
toán, toán tử trong C
– Tham số hình thức (đối) là các tham số sau tên hàm và thủ tục
Lập trình C: Bài 9 - Mảng
trong khai báo.
trong C
– Tham số thực sự là các tham số sau tên hàm và thủ tục trong lời
[Pascal - TUT] Bài 2: Các
gọi.
thành phần cơ bản trong
– Tham biến: là các tham số được khai báo sau từ khóa var. Các
Pascal
tham số thực phải là các biến chứ không được là giá trị. Tham biến
Lập trình C: Bài 10 - Chuỗi
có thể được thay đổi trong CTC và sau khi ra khỏi CTC nó vẫn giữ
ký tự trong c
giá trị thay đổi đó.
Tính giai thừa n!
– Tham trị: là các tham số được khia báo mà không đứng sau từ
Lập trình C: Bài 3 - Nhập
khóa var. Các tham số thực có thể là các giá trị, hằng, biến. Tham trị
xuất trong c
có thể thay đổi trong ctc nhưng sau khi kết thúc ctc giá trị của nó trở
về như ban đầu.
– Các tham số trong hàm luôn là các tham trị, các tham số trong thủ
tục có thể là tham trị hoặc tham biến. Theo dõi blog
5. Phân biệt cách sử dụng hàm và qua email
thủ tục Join 189 other subscribers
Hàm khác thủ tục ở chỗ hàm trả về một giá trị cho lệnh gọi thông Địa chỉ thư điệnTheo
tử (email)
qua tên hàm còn thủ tục thì không. dõi
*Dùng hàm
– Kết quả của bài toán trả về 1 giá trị duy nhất (kiểu vô hướng, kiểu
string hoặc kiểu con trỏ).
– Lời gọi CTC cần nằm trong các biểu thức tính toán.
Chú ý: Nếu một công việc có thể làm bằng hàm thì chắc chắn sẽ
làm được bằng thủ tục {tuy nhiên sẽ phức tạp hơn khi dùng hàm}
nhưng một chương trình làm bằng thủ tục thì chưa chắc ta đã làm
được bằng hàm.
Đối với Borland Pascal 7.0 ta có thể gọi hàm như gọi một thủ tục.
4 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Không nhất thiết phải lấy giá trị trả về. Để thực hiện được điều này
trong menu Options >Compiler cần khai báo cú pháp mở rộng
(Extended syntax), hoặc trong chương trình cần có dẫn hướng biên
dịch {$ X+}. Nếu không, khi biên dịch (gõ F9) Pascal sẽ thông báo
lỗi “Error 122: Invalid variable reference”.
Ta xét ví dụ sau:
Nhập vào 1 số n và tính n!
Ta đã biết n! = 1 nếu n =0 trong trường hợp n>=1 ta có n!=n.(n-1)!
Hàm tính n!
1 function giai_thua(n:integer):longint;
2 begin
3 if n=0 then giai_thua:=1
4 else giai_thua:=n*giai_thua(n-1);
5 end;
– Lưu ý:
+ Khi sử dụng đệ quy phải có điều kiện kết thúc đệ quy (TH suy
biến). Trong ví dụ ta xét điều kiện kết thúc đệ quy chính là n=0. Nếu
không có điều kiện kết thúc này chương trình của ta sẽ lặp vô hạn.
+ Luôn có lời gọi đệ quy, trong TH trên là lời gọi giai_thua(n-1);
5 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
vsmart.net
Mở
6 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
trình con
Trọng viết:
Tháng Chín 2, 2015 lúc 7:13 chiều
Em đang viết 1 chương trình đố vui trắc nghiệm bằng pascal. Nếu
chọn không sai thì chương trình sẽ gọi ra thủ tục có câu lệnh write(‘Sai
roi ! Tiec qua.’);…. Còn nếu đúng thì ngược lại. Cho em hỏi nếu làm
như thế thì phép gọi thủ tục là gì ạ ?
Trả lời
nguyenvanquan7826 viết:
Tháng Chín 4, 2015 lúc 11:50 chiều
Trả lời
Trinh viết:
Tháng Tư 6, 2018 lúc 7:09 chiều
Thầy ơi, e cũg muốn làm chương trình trắc nghiệm như v, mà e lại
đag bí ko biết bắt đầu từ đâu, thầy gợi ý cho e chút xíu đc ko ạ, e
cảm ơn thầy nhiều ạ
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 6, 2018 lúc 8:49 chiều
Trả lời
Trinh viết:
Tháng Tư 6, 2018 lúc 9:00 chiều
7 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
nguyenvanquan7826 viết:
Tháng Tư 6, 2018 lúc 9:02 chiều
Trinh viết:
Tháng Tư 6, 2018 lúc 9:19 chiều
nguyenvanquan7826 viết:
Tháng Tư 10, 2018 lúc 5:00 chiều
Dùng vòng lặp để cho lặp lại các câu hỏi. Trong mỗi câu hỏi thực
hiện việc hiển thị câu hỏi và cho người ta chọn câu trả lời, vậy
thôi.
Trinh viết:
Tháng Tư 6, 2018 lúc 7:10 chiều
Thầy ơi, e cũg muốn làm chương trình trắc nghiệm như v, mà e lại
đag bí ko biết bắt đầu từ đâu, thầy gợi ý cho e chút xíu đc ko ạ, e
cảm ơn thầy ạ
Trả lời
pescisky viết:
Tháng Mười Một 24, 2019 lúc 3:01 chiều
cũng hơi lâu rùi mk mới có lớp 8 nên sẽ giao tiếp ằng anh cho tiện :
thì anh nên dùng hàm if (điều kiện) then (câu lệnh 1) else (câu lệnh
2);
đưa ra đk đúng thì thực hiện câu lệnh 1 sai thì thực hiện câu lệnh 2;
Trả lời
NVDharvardrider viết:
8 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 13, 2016 lúc 2:11 chiều
Trả lời
hăng viết:
Tháng Sáu 10, 2016 lúc 5:30 chiều
em đang viết một chương trình mà khi dùng hàm nó không phải là hàm
tính tổng hay là một biểu thức mà là kiểm tra điều kiện mà đề bài bắt
buộc phải có it nhất một hàm thì làm sao ạ?
ví dụ nó bắt in ra danh sách sinh viên với điều kiện có họ và tên đệm là
gì đó thì mình đặt tên hàm ntn và làm ra sao ạ?
Trả lời
nguyenvanquan7826 viết:
9 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Trả lời
Trả lời
Thầy ơi, các tác giả Hồ Sĩ Đàm, Hồ Cẩm Hà, Trần Đỗ Hùng, Nguyễn
Đức Nghĩa, Nguyễn Thanh Tùng, Ngô Ánh Tuyết cho rằng biến cục bộ
không chứa tham số hình thức:
var tich: real;
function Luythua(x: real; k: integer): real; {x, k là tham số hình thức}
var j: integer; {j là biến cục bộ}
begin
tich:=1;
for j:=1 to k do tich:=tich*x;
Luythua:=tich;
end;
begin
—–
end.
Đọc sách giáo khoa Tin học lớp 11 (trang 92, 93, 94) rồi đọc bài của
Thầy, em phân vân: Không biết theo bên nào?
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 7, 2017 lúc 9:40 chiều
Trả lời
10 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Dạ…
Con đã lơ là và không mấy hứng thú với tubol pascal và con đang
hứng chịu hậu quả ạ…? kiến thức căn bản hầu như mất hoàn toàn,
viết pt với con giờ như một điều xa xỉ
Con nhận ra tác hại trầm trọng của việc này qua bài kiểm tra của
mình… giờ con thật sự muốn bắt đầu lại từ đầu ạ
Xin thầy có thể chỉ con nên làm điều gì trước tiên không ạ?( ý của con
là nên bắt đầu căn bản lại từ đâu đó ạ?). Dạ, xin thầy giúp đỡ ạ( dạ,
xin chú thích thêm là năm nay con học lớp 11 và con muốn đạt điểm
trong kì thi cuối học kì … nước đến chân mới nhảy là sai, con biết,
nhưng mà nhảy còn hơn là đứng im). Mong sớm nhận được phản hồi
Xin cảm ơn
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 4, 2017 lúc 11:35 chiều
Chào bạn Mai, thực sự xin lỗi bạn vì đọc được comment của bạn hơi
muộn. Không biết giờ này bạn đã thi học kỳ hoặc đã có hướng học
tập cho mình về lập trình pascal chưa nhưng mong là kết quả khả
quan.
Về việc bạn hỏi nên làm thế nào, học gì trước tiên để đạt điểm cao thì
bạn hãy tìm lại sách giáo khoa để tìm những kiến thức căn bản. Đọc
nó và nếu chỗ nào không hiểu có thể hỏi thầy cô bạn bè hoặc có thể
gủi mail cho mình. Sau đó có thể tham khảo thêm trên mạng (ví dụ
như blog của mình về các chương trình cơ bản). Như vậy là tốt nhất
cho kỳ thi của bạn.
Còn nếu muốn giỏi hơn về lập trình thì hãy có gắng tìm hiểu sâu hơn,
tự nghĩ ra điều mình muốn làm (chẳng hạn làm game rắn săn mồi
hoặc một chương trình gì đó), và tìm hiểu dần dần để làm nó. Cứ như
thế bạn sẽ tốt lên.
Nếu có bất cứ thắc mắc gì hãy gửi email cho mình nhé.
Trả lời
Ngọc viết:
Tháng Tư 11, 2017 lúc 7:24 chiều
11 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Thầy giúp con hướng viết chương trình con để nhập vào 1 xâu và đưa
ra 1 xâu thu được từ xâu đó sau khi loại bỏ dấu cách k ạ? Cô cho bài
tập mà e k bt hướng làm �
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 4, 2017 lúc 11:43 chiều
Gợi ý là dùng vòng lặp for, kiểm tra cái nào là dấu cách thì xóa nó đi.
�
Trả lời
diệu viết:
Tháng Năm 4, 2017 lúc 2:47 chiều
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 4, 2017 lúc 11:55 chiều
Thủ tục TT với 2 biến x, y như trên thì nó là tham trị, do vậy sau khi ra
khỏi thủ tục thì các biến sẽ không giữ được giá trị nếu trong thủ tục
có thay đổ. Do vậy kết quả in ra x và y vẫn là 5 và 6
Trả lời
diệu viết:
12 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Var x:Integer;
Procedure TINH;
Var x:Integer;
Begin
x:=1; x:=x+12;
End;
Begin x:=10; TINH; Writeln(x); End.
Và kq câu này nữa? tại sao khi khai báo thêm biến trong ctc thì kq lại
=10
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 4, 2017 lúc 11:57 chiều
Khi biến trong chương trình con trùng tên với biến toàn cục thì
chương trình con chỉ sử dụng biến của nó mà không động gì đến
biến toàn cục. Có nghĩa là biến toàn cục sẽ không được tác dộng gì
trong chương trình con.
Trả lời
thin viết:
Tháng Năm 15, 2017 lúc 8:59 chiều
Thay oi e can gap lam a viet chuong trinh con nhap mang gom 10 so
nguyen va in ra man hinh
E cam on
Trả lời
Chi viết:
Tháng Tư 5, 2018 lúc 8:48 chiều
Trả lời
13 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 18, 2018 lúc 11:14 sáng
Bạn cần giúp về vấn đề gì? Cách làm, hay gặp lỗi,… ???
Trả lời
dạ cách làm ạ
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 24, 2018 lúc 8:53 sáng
Bạn có thể viết 1 chương trình con để tính x!, sau đó viết 1
chương trình con tính tổng các giai thừa dựa vào cái x! vừa tính.
Trả lời
Quang Tú viết:
Tháng Tư 23, 2018 lúc 8:38 chiều
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 24, 2018 lúc 8:55 sáng
Trả lời
14 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
An viết:
Tháng Năm 2, 2018 lúc 4:35 chiều
Thầy ơi em muốn khai báo kiểu xâu trong ctc thì phải khai báo thế
nào?
Trả lời
nguyenvanquan7826 viết:
Tháng Năm 4, 2018 lúc 5:46 sáng
Thì bạn cứ khai báo như bình thường thôi, không khác gì cả.
Trả lời
Trả lời
nguyenvanquan7826 viết:
Tháng Sáu 17, 2018 lúc 5:56 chiều
Tức là sau khi tính xong một cái gì đó, hàm đó trả lại kết quả đó.
Trả lời
Khánh viết:
Tháng Mười 12, 2018 lúc 9:58 chiều
Thầy ơi, e đang cần viết 1 ct mà khi cho chạy thì sẽ ra 1 bảng chọn,
khi đó nếu em bấm 1 con số nào đó trên bàn phím thì nó sẽ hiện ra 1
ct giải hoặc trả lời. VD ở đây là bảng chọn tính diện tích các hình. nếu
bấm số 1 thì nó sẽ tính diện tích 1 hình nào đó, vd như thế này:
Tính diện tích các hình
0. thoát
1. hình tam giác
2. hình chữ nhật
3. hình vuông
4. hình tròn
nếu em bấm số 4 thì nó sẽ tính diện tích hình tròn, tương tự với những
15 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
cái khác
mong thầy giúp đỡ, em đã thử nhiều cách nhưng chẳng cái nào được
cả (mà giờ em đang học lớp 8, em chưa có kinh nghiệm).
Em cảm ơn thầy
Trả lời
nguyenvanquan7826 viết:
Tháng Mười 15, 2018 lúc 9:49 sáng
Em dùng if then để kiểm tra người ta nhập gì thì mình sẽ thực hiện
cái đó là được.
Trả lời
Thầy ơi làm chương trình con xong về chương trình chính không biết
khai báo sao từ các chương trình con .Thầy giúp em đc ko ạ111
Trả lời
nguyenvanquan7826 viết:
Tháng Tư 9, 2019 lúc 10:41 sáng
Trả lời
Vy viết:
Tháng Chín 15, 2019 lúc 10:52 chiều
thầy ơi vậy về phần produce đọc file inp với file out là làm riêng hay
chung thầy???
là làm 1 lần produce hay 2 lần produce 1 inp 1 out ạ???
Trả lời
nguyenvanquan7826 viết:
Tháng Chín 17, 2019 lúc 10:44 sáng
16 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Riêng nhé.
Trả lời
cho hỏi làm cách nào để ấn thanh đứng của bảng mã ASCII trong
Pascal z ạ!?
Trả lời
nguyenvanquan7826 viết:
Tháng Mười 14, 2019 lúc 10:55 sáng
Trả lời
Thầy ơi,giá trị trả về là gì? Giá trị ko trả về là gì vậy thầy?
Trả lời
nguyenvanquan7826 viết:
Tháng Ba 14, 2021 lúc 8:31 chiều
là sau khi thực hiện, nó đưa lại kết quả có thể lưu vào 1 biến ko. Bạn
đọc lại bài một vài lần nhé.
Trả lời
Thầy ơi, khi nào thì nên sử dụng ctc còn khi nào thì ko nên sử dụng
vậy thầy
Trả lời
17 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
Trả lời
Nguyenvanquan7826 rất mong muốn các bạn để lại những phản hồi đóng
góp ý kiến, thắc mắc cho bài viết cũng như cho Blog. Nhưng mọi phản hồi
mang tính chất nhờ giải hộ bài tập đều bị xóa thẳng tay và không phản
hồi lại!
Bình luận
Tên *
Email *
Trang web
Lưu tên của tôi, email, và trang web trong trình duyệt này cho lần bình
luận kế tiếp của tôi.
Thông báo cho tôi bằng email khi có bình luận cho mục này
Thông báo cho tôi bằng email khi có bài đăng mới
Phản hồi
18 of 19 4/6/2021, 3:30 PM
Chương trình con trong Pascal https://cachhoc.net/2013/11/26/pascal-tut-bai-7-chuong-trinh-con/
nguyenvanquan7826 trong
Thiết kế bởi Cách Học - Nguồn bởi WordPress
Lập trình C: Bài 14 – Nhập
xuất file trong C/C++
19 of 19 4/6/2021, 3:30 PM