Đề cương ôn tập môn Tin học Lớp 11 - Chương VI: Chương trình con và Lập trình có cấu trúc

1. Hãy nêu sự giống và khác nhau giữa thủ tục và hàm.

- Dựa vào phần tóm tắt lý thuyết để trả lời.

2. Chương trình con có thể không có tham số được không? Cho ví dụ.

- Xem lại ví dụ về CTC trong SGK để trả lời.

3. Hãy cho ví dụ chương trình con có nhiều hơn một kết quả ra.

- Thủ tục xuất tổng, hiệu, tích, thương của hai số a, b.

4. Viết CTC (hàm, thủ tục) tính bội số chung nhỏ nhất của hai số nguyên dương a, b. Hãy

cho biết trong trường hợp này viết thủ tục hay hàm là thuận tiện hơn? Vì sao?

- Tìm BCNN(a, b)= a*b/UCLN(a,b)

- Viết 2 CTC (hàm hoặc thủ tục) tìm UCLN(a,b) và tìm BCNN(a,b)

- Nên dùng hàm thì thuận tiện hơn.

pdf8 trang | Chia sẻ: Đạt Toàn | Ngày: 06/05/2023 | Lượt xem: 125 | Lượt tải: 0download
Bạn đang xem nội dung Đề cương ôn tập môn Tin học Lớp 11 - Chương VI: Chương trình con và Lập trình có cấu trúc, để tải tài liệu về máy bạn hãy click vào nút TẢI VỀ
Trường THPT Đức Trọng 
Tổ: Sinh - tin 
CHƯƠNG VI. 
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC 
A – TÓM TẮT LÝ THUYẾT 
1. Khái niệm chương trình con 
- Chương trình con (CTC) 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 từ nhiều vị trí trong chương trình. 
- CTC được dùng để tối ưu hoá việc tổ chức chương trình, chia chương trình thành nhiều 
đoạn độc lập. CTC là công cụ quan trọng để xây dựng chương trình có cấu trúc. 
- Lợi ích của việc dùng CTC: làm cho chương trình dễ đọc, dễ hiệu chỉnh và dễ nâng cấp. 
2. Phân loại CTC 
 Trong NNLT Pascal có 2 loại CTC là thủ tục và hàm. 
 Thủ tục là CTC thực hiện các thao tác nhất định, không trả về một giá trị nào qua tên 
của nó. 
 Hàm là CTC thực hiện một số thao tác nào đó và trả về một giá trị qua tên hàm. 
3. Cấu trúc chương trình con 
[] 
Trong NNLT Pascal, cấu trúc của CTC có dạng như sau: 
Thủ tục Hàm 
Procedure [(DS tham 
số)]; 
[] 
Function [(DS tham số)]: <kiểu 
dữ liệu>; 
[] 
Begin 
 ; 
End; 
Begin 
 ; 
End; 
4. Lời gọi CTC: 
 Muốn CTC thực hiện, thì trong chương trình cần phải có lời gọi CTC. 
 Lời gọi có dạng: 
[(DS tham số thực)] 
 Lời gọi thủ tục được gọi như một câu lệnh bình thường. 
 Lời gọi hàm thường được đặt trong câu lệnh xuất hoặc một biểu thức. 
5. Một số khái niệm khác: 
 Tham số hình thức: là các biến được khai báo ở phần đầu của CTC. 
 Tham số thực sự: là các biến khai báo trong chương trình chính được thay thế cho 
tham số hình thức khi gọi CTC. 
 Biến cục bộ: Là các biến được khai báo ở của CTC, nó chỉ được sử 
dụng trong CTC khai báo nó. 
 Biến toàn bộ: Là các biến được khai báo ở của chương trình chính, 
CTC có thể dùng mà không cần khai báo lại. 
 Tham biến: Là các biến được khai báo ở phần đầu của CTC và thường thì nó chứa dữ 
liệu ra của CTC. Khi gọi CTC thì tham số thực sự của tham biến phải là biến. 
 Tham trị: Là các biến được khai báo ở phần đầu của CTC và thường thì nó chứa dữ 
liệu vào của CTC. Khi gọi CTC thì tham số thực sự của tham trị có thể thay bằng giá 
trị, biến hoặc biểu thức. 
Bổ sung: 
 CTC thường được đặt ở phần khai báo của chương trình. 
 Trong CTC có thể chứa CTC khác. 
 Nếu trong CTC có lời gọi chính nó thì gọi là CTC đệ qui. 
 Kết quả trả về qua tên hàm chỉ có thể là các kiểu dữ liệu chuẩn (Integer, Real, 
Char, Boolean, string). 
 Trong NNLT Pascal, tham biến được khai báo sau từ khoá Var. 
 Sau khi ra khỏi CTC giá trị của tham trị không đổi, còn tham biến có thể bị thay 
đổi. 
 Chọn hàm khi muốn dùng kết quả của hàm để tính toán giá trị trong một biểu 
thức. Dùng thủ tục khi muốn thực hiện một công việc nào đó. 
 Tham số hình thức được khai báo là tham trị khi cần có những giá trị này thì 
CTC mới thực hiện được, khai báo là tham biến khi muốn giữ lại kết quả của 
CTC. 
 Trong hàm, các tham số thường dùng là tham trị (vì kết quả trả về đã gán cho tên 
hàm). 
B - HƯỚNG DẪN, GỢI Ý TRẢ LỜI CÂU HỎI TRONG SGK 
1. Hãy nêu sự giống và khác nhau giữa thủ tục và hàm. 
- Dựa vào phần tóm tắt lý thuyết để trả lời. 
2. Chương trình con có thể không có tham số được không? Cho ví dụ. 
- Xem lại ví dụ về CTC trong SGK để trả lời. 
3. Hãy cho ví dụ chương trình con có nhiều hơn một kết quả ra. 
- Thủ tục xuất tổng, hiệu, tích, thương của hai số a, b. 
4. Viết CTC (hàm, thủ tục) tính bội số chung nhỏ nhất của hai số nguyên dương a, b. Hãy 
cho biết trong trường hợp này viết thủ tục hay hàm là thuận tiện hơn? Vì sao? 
- Tìm BCNN(a, b)= a*b/UCLN(a,b) 
- Viết 2 CTC (hàm hoặc thủ tục) tìm UCLN(a,b) và tìm BCNN(a,b) 
- Nên dùng hàm thì thuận tiện hơn. 
C – CÂU HỎI VÀ BÀI TẬP 
27.17.2. Hãy phân biệt tham số hình thức và tham số thực sự. Giả sử trong chương trình sử 
dụng một CTC, nêu nhận xét về kiểu dữ liệu, số lượng của tham số hình thức so với tham 
số thực? 
28.18.2.Nêu sự giống và khác nhau giữa tham trị và tham biến. 
29.18.2.Cho chương trình sau: 
Program Vidu; 
Uses crt; 
Var a,b: byte; c: longint; 
Procedure tinh (x,y: byte; Var P: Longint); 
Var i: byte; 
Begin 
 P:=1; 
 For i:=1 to y do 
 P:=P*x; 
End; 
Begin 
 Write(‘nhap 2 so’); Readln(a, b); 
 Tinh(a, b, c); 
 Write(‘ket qua la: ’, c); 
 Readln 
 End. 
Hãy cho biết: 
a) Loại CTC được dùng? 
b) Đâu là biến cục bộ, biến toàn bộ? 
c) Đâu là tham biến, tham trị? 
d) Tên của tham số hình thức và tham số thực sự? 
30.18.2.Cho phần khai báo của chương trình và phần tên chương trình con như sau: 
Var x, y, z: byte; 
Procedure Vi_du( a: byte; Var b: byte); 
Lời gọi CTC nào sau đây là đúng? 
(A) Vi_du (5, 10); 
(B) Vi_du (10, x+5); 
(C) Vi_du (x, y); 
(D) Vi_du (x+10, 10); 
(E) Vi_du (a,b); 
(F) Vi_du ( 10, b); 
(G) Vi_du (x, y, z); 
(H) Vi_du (a, b, z); 
31.18.2.Cho biết kết quả của chương trình sau: 
Program Vidu2; 
Uses crt; 
Var a, b: Integer; 
Procedure thu(x: Integer; Var y: Integer); 
Begin 
 Writeln(‘Khi vao CTC a=’, x,’ b=’, y); 
 X:=X+5; 
 Y:=Y+10; 
 Writeln(‘Truoc khi ra khoi CTC a=’, x,’ b=’, y) 
End; 
Begin 
 a:=5; b:=10; 
 Writeln(‘Truoc khi vao CTC a=’, a,’ b=’,b); 
 Thu(a,b); 
 Writeln(‘Sau khi ra khoi CTC a=’, a,’ b=’, b); 
 Readln 
End. 
32.18.2.Cho biết phải khai báo là tham biến hay tham trị trong CTC cho: 
a) tham số a, b trong hàm tìm số lớn hơn trong 2 số a, b. 
b) tham số a, b, c trong thủ tục tìm tích c=a* b. 
c) tham số S và d trong thủ tục tìm số kí tự trắng có trong xâu S. 
d) tham số S1, S2 trong thủ tục tìm xâu đảo ngược S2 của xâu S1. 
33.18.2.Viết phần đầu của CTC cho câu 6.6. 
34.18.2.Kiểm tra chương trình con sau có mắc lỗi không, nếu có hãy sửa nó: 
Function Tong( n: Integer); 
Var i: Integer; 
Begin 
 For i:=1 to n do Tong:= Tong +i; 
End; 
35.18.3.Viết lại CTC của câu 6.8 bằng thủ tục. 
36.18.3.Viết CTC tìm số nhỏ hơn trong 2 số x, y (bằng cả thủ tục và hàm). Dùng CTC đã 
viết trong chương trình giải các bài toán: 
a) Cho biết số nhỏ hơn trong 2 số. 
b) Tìm số nhỏ nhất trong 5 số a, b, c, d, e. 
c) Tính S= min(a,b) + min (c, d). 
d) Tính P= min(a, b, c)* min(c, d, e)/min(a,d). 
37.18.3.Từ các chương trình giải các bài toán ở câu 6.10, hãy cho biết sử dụng thủ tục hay 
hàm thì thuận lợi hơn? 
CÂU HỎI VÀ BÀI TẬP ÔN TẬP CUỐI CHƯƠNG 
38.18.3. Cho 3 số thực a, b, c. Tính giá trị của biểu thức: 
(min(a, a+b) + min(a, b+c))/(1+max(a+bc, 1, 1997) 
39.18.3. Cho 2 số thực s, t. Tính giá trị của biểu thức: 
P=h(s, t) + max(h2 (s-t,st), h4 (s-t, s+t), h(1,1)), trong đó: 
h(a,b)=a/(1+b2) + b/(1+a2 )- (a-b)3 
40.18.3. Viết chương trình tính: 
41.18.3. Cho 4 số nguyên a, b, c, d. Tìm UCLN(a, b, c, d). 
42.18.3. Viết chương trình tính: 
43.18.3. Tính S=1! + 2! ++ n! 
44.18.3.Cho số tự nhiên n, k. Tính: 
kzyxP 
n
S






..321
1
...
321
1
21
1
1
)!(!
!
knk
n
C kn


45.18.3.Cho một xâu kí tự, hãy viết các chương trình thực hiện các công việc sau: 
a) đổi xâu kí tự đó ra chữ hoa. 
b) cho biết xâu kí tự đã cho có đối xứng không? 
c) cho biết xâu kí tự đã cho có bao nhiêu từ? 
d) xâu S1 nhập từ bàn phím có là con của nó hay không? 

File đính kèm:

  • pdfde_cuong_on_tap_mon_tin_hoc_lop_11_chuong_vi_chuong_trinh_co.pdf