Bài giảng môn Tin học Lớp 11 - Bài 17: Chương trình con và phân loại (Tiết 2)

pptx 14 trang phanha23b 29/03/2022 3450
Bạn đang xem tài liệu "Bài giảng môn Tin học Lớp 11 - Bài 17: Chương trình con và phân loại (Tiết 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_mon_tin_hoc_lop_11_bai_17_chuong_trinh_con_va_phan.pptx

Nội dung text: Bài giảng môn Tin học Lớp 11 - Bài 17: Chương trình con và phân loại (Tiết 2)

  1. Kiểm tra bài cũ Câu 1: Chọn đáp án Đúng nhất khi nói về khái niệm Chương trình con. A. CTC là chương trình thực hiện một số thao tác không nhất định B. CTC bao hàm chương trình chính C. 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 (được gọi) từ nhiều vị trí trong chương trình chính. D. CTC bắt đầu bằng từ khóa Begin
  2. Câu 2: Cho những hàm và thủ tục sau, hãy phân loại chúng: 1.upcase(ch) 2.rewrite 3.read 4.delete(st,vt,n) 5.length(x) 6.reset 7.assign 8.insert(s1,s2,vt) 9.pos(s1,s2) 10.close( ) Hàm Thủ tục
  3. 1. Bài toán 2. Khái niệm 3. Phân loại chương trình con 3
  4. Quan sát 2 chương trình sau: ( lưu ý phần được tô màu đỏ) (*Tinh tong*) (* Chuong trinh tinh UCLN*) Var a,b,S : byte; Var tu,mau,c,d:integer; Procedure TD(var x:byte; y:byte); Function UCLN(a,b:integer):integer; var i: byte; Begin Begin while a b then a:=a-b writeln(x,’ ‘,y); else b:=b-a; x:= x+i; y:= y+i; UCLN:=a; S:= x+y; End; writeln (x,’ ‘,y); Begin End; Write(‘Nhap vao tu so va mau so:’); Begin Readln(tu,mau); write(‘nhap a va b:’); c:=tu div UCLN(tu,mau); readln(a,b); d:=mau div UCLN(tu,mau); TD(a,b); Writeln(‘phan so toi gian=‘,c,’/’,d); writeln(a,’ ‘,b,’ ‘,S); Readln readln; End. End.
  5. 3. Phân loại chương trình con Thảo luận nhóm Nhóm 1,3 Nhóm 2,4 - Phân loại chương trình con - Phân loại chương trình con - Cấu trúc chương trình con - Các biến sử dụng trong chương trình con. 5
  6. 3. Phân loại chương trình con a) Phân loại: CHƯƠNG TRÌNH CON HÀM (Function) THỦ TỤC (Procedure) - Là chương trình con - Là chương trình con thực hiện dãy lệnh. thực hiện dãy lệnh. - Trả về giá trị cụ thể - Không trả về giá trị nào qua tên của nó. qua tên của nó. Ví dụ : Ví dụ : Sqrt(16)=4 Writeln(‘Hello’); Abs(-5)=5 Readln(a,b); 6
  7. Các bài toán sau dùng hàm hay thủ tục: 1. Hoán đổi hai số a và b: Hoandoi(a,b) Procedure Hoandoi (a,b:real); 2. Tìm ước chung lớn nhất của a và b: UCLN(a,b) Function UCLN (a,b: integer): integer; 3.Xóa xâu S tại vị trí v, xóa n phần tử: Delete(s,v,n) Procedure Delete (s:string;v,n:byte); 4. Kiểm tra a,b,c có là ba cạnh của một tam giác: KT(a,b,c) Function tamgiac (a,b,c: word): Boolean; 7
  8. 3. Phân loại và cấu trúc chương trình con b) Cấu trúc: Lưu ý: Vị trí của chương trình con được viết: [ ] • Sau phần khai báo Var và • Trước từ khóa BEGIN của chương trình chính. Sử dụng CTC thì ta gọi : BEGIN TênCTC (giá trị) ; END;
  9. c) Biến (* Tinh tong *) Var a,b,S: byte; Procedure TD(var x:byte; y:byte); - Biến cục bộ:Là các var i: byte; Begin biến được khai báo trong i:=5; CT con. writeln(x,’ ‘,y); x:= x+i; y:= y+i; S:= x+y; - Biến toàn cục:Là các writeln (x,’ ‘,y); biến được khai báo trong End; Begin CT chính. write(‘nhap a va b:’); readln(a,b); TD(a,b); writeln(a,’ ‘,b,’ ‘,S); readln; End.
  10. Củng cố Câu 1: So sánh cấu trúc của chương trình chính và chương trình con. Bbbbbb Chương trình chính Chương trình con Cấu trúc: [ ] [ ] Phần thân: Begin Begin ; ; End. End; Biến: Biến toàn cục Biến cục bộ
  11. Củng cố Câu 2: So sánh cấu trúc của hàm và thủ tục trong chương trình con. Cho VD. Bbbbbb Hàm( Function) Thủ tục(Procedure) Giống - Là chương trình - Là chương trình con thực hiện dãy con thực hiện dãy lệnh. lệnh. Khác - Trả về giá trị qua tên - Không trả về giá trị của nó qua tên của nó VD Length(‘abc’)=3 Readln(a,b,c);
  12. Câu 3: Các bài toán sau dùng hàm hay thủ tục: Hàm: 1. Tính Max của hai số thực x,y. 2. Kiểm tra N có phải là số nguyên tố không? 3. Tính S= 1+sin(x)+cos(x) 4. Tìm UCLN(a,b). 5. Tìm BCNN(a,b). 6. Xác định vị trí xuất hiện đầu tiên của xâu s1 trong s2. 7. Xác định độ dài của xâu S. 8. Tính giá trị của xn 9.Kiểm tra a,b,c có phải là ba cạnh của tam giác không? Thủ tục: 10. Viết chương trình để đổi từ chữ hoa sang chữ thường. 11.Viết chương trình hóa đổi 2 số a,b. 12.Xóa xâu S tại vị trí v, xóa n phần tử. 13.Chèn xâu s1 vào s2 từ vị trí vt. 14.Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S.
  13. Câu 4: Điền vào chỗ trống phần còn thiếu của chương trình sau. Sau đó giải thích ý nghĩa của những từ còn thiếu đó. a, b Var .:integer; - Procedure : Thủ tục Procedure Hoandoi(var :integer);x,y - x,y,TG : biến cục bộ Var TG:integer; Begin - a,b : biến toàn cục :=x;TG x:=y; y:= ;TG End; Begin - Tham số hình thức Begin Write(‘Nhap vao hai so a,b:’); - Tham số thực sự Write(‘Nhap vao hai so a,b:’); Readln(a,b); - Thực hiện chương trình con HoandoiReadln(a,b(a,b);); WritelnHoandoi(‘Sau(a,bkhi); hoan doi:’,a,b); ReadlnWriteln(‘Sau khi hoan doi:’,a,b); End.Readln End.
  14. Nội dung bài học - Cấu trúc Chương trình con - Phân biệt được 2 loại chương trình con là hàm và thủ tục - Phân biệt được biến cục bộ và biến toàn cục