Đề 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.
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:
- de_cuong_on_tap_mon_tin_hoc_lop_11_chuong_vi_chuong_trinh_co.pdf