Bài 2: Viết ctrinh tìm ptử có gtri lớn nhất của mảng và đưa ra màn hình chỉ số và gtri của GV: Y/c hs đọc và nghiên cứu đề ptu tìm được.. Nếu có nhiều ptu có cùng gtri lớn nhất thì đưa r[r]
(1)Ngµy so¹n: 2/01/2010 Ngµy d¹y: 6/01/2010 TiÕt : 24,25 BÀI TẬP VÀ THỰC HÀNH I.Mục đích: + Củng cố cho hs hiểu biết kiểu dl mảng -T/chức h/đ pm để hs có các kĩ cban lviệc với kiểu mảng chiều LT - Khai báo kiểu dl, nhập đưa màn hình số và giá trị các ptử mảng - Duyệt qua tất các ptử mảng để xử lí ptử + Cung cấp cho hs thuật toán cbản và đơn giản thường gặp với dl kiểu mảng Tính tổng và đếm các ptử thỏa mãn đ/k nào đó Tìm ptử max (min) mảng cùng với vị trí nó mảng… II.Biện pháp: Dạy và học hợp tác nhóm nhỏ III Phương tiện: - GV: Phßng m¸y vi tÝnh - HS: S¸ch bµi tËp IV Nội dung tiết dạy ổn định tổ chức: KiÓm tra bµi cò: TiÕn tr×nh bµi häc: Hoạt động Nội dung GV: Chia nhóm cho hs thực hành Y/c hs đọc và nghiên cứu đề bài -Y/c hs chạy chương trình SGK(63) và tìm hiểu Hs: chạy ctrinh theo y/c gv - Nhấn Ctrl+F9 nhập n=5 - Y/c đại diện nhóm đứng dậy đọc kq HS: đứng dậy đọc kết theo y/c ! Tại cùng ctrinh và nhập n=5 thì lại kết khác => - Hàm chuẩn random(n) cho gtri là số nguyên ngẫu nhiên phạm vi từ đến n-1 Bài1: Tạo mảng A gồm (n<=100) số nguyên, số có trị tuyệt đối không vượt quá 300 Tính tổng các phần tử mảng là bội số số nguyên dương k cho trước A, Tìm hiểu và chạy ctrình Program Sum1; Uses crt; Const nmax=100; Type Myarray=array[1 nmax] of integer; Var A:Myarray; S,n,I,k:integer; Begin Clrscr; randomize; Lop11.com (2) - Còn thủ tục Randomize dùng để khởi tạo chế sinh số ngẫu nhiên ? Câu lệnh A[i]:=random(300)random(300); có ý nghĩa gì Hs: Cho giá trị ngẫu nhiên phạm vi từ 299 đến -299 ? Câu lệnh write(A[i]:5); có ý nghĩa gì Hs: Viết kết mảng A[i] cách kí tự Write (‘Nhap n=’); Readln(n); For i:=1 to n A[i]:=random(300)random(300); For i:=1 to n write(A[i]:5); Writeln; Write (‘Nhap k=’’); Readln(k); S:=0; For i:=1 to n If A[i] mod k=0 then s:=s+A[i]; Writeln(‘Tong can tinh la: ’,s); Readln End Bài 2: Viết ctrinh tìm ptử có gtri lớn mảng và đưa màn hình số và gtri GV: Y/c hs đọc và nghiên cứu đề ptu tìm Nếu có nhiều ptu có cùng gtri lớn thì đưa ptu có số nhỏ bài -Y/c hs chạy chương trình SGK(64) A, Tìm hiểu ctrinh Program MaxElement; và tìm hiểu ? Từ MyArray có phải là hàm Const nmax=100; chuẩn ko? Có thể thay từ Type Myarray=array[1 nmax] of integer; khác không Var A:Myarray; Đó là tên kiểu dl người lập trình n,i,j:integer; tự đặt Vì nó không phải là hàm Begin chuẩn và có thể thay Write (‘Nhap so luong ptu cua day so, N=’); từ gì người lập trình tự đặt Readln(N); For i:=1 to n Begin Write (‘phan tu thu ’, I,’=’); Readln(A[i]); End; J:=1; Hs: chạy ctrinh theo y/c gv For i:=2 to n if A[i]>A[j] then j:=I; Write (‘chi so : ’, j,’Gia tri: ‘, A[j]:4); Readln End Lop11.com (3) Hs: chỉnh sửa ctrinh theo yêu cầu B, Chỉnh sửa ctrinh để đưa số các ptu có cùng gtri lớn Cñng cè: Gọi hs lên máy chủ chạy lại chương trình DÆn dß: Về nhà viết chương trình tìm phần tử nhỏ mảng Lop11.com (4)