BÀI THỰC HÀNH SỐ 3
lượt xem 7
download
Củng cố cho học sinh những hiểu biết về kiểu dữ liệu mảng ; - Tổ chức những hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu mảng trong lập trình, cụ thể là: .Khai báo dữ liệu mảng; .Nhập dữ liệu cho mảng, đưa ra màn hình chỉ số và giá trị các phần tử của mảng; .Duyệt qua tất cả các phần tử của mảng để xử lý từng phần tử.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: BÀI THỰC HÀNH SỐ 3
- Giáo án số 2: BÀI THỰC HÀNH SỐ 3 Giáo viên hướng dẫn: Thầy Trần DoãnVinh Sinh viên thực hiện: Trần Hoài Nam A. Mục đích yêu cầu. I. Mục đích - Củng cố cho học sinh những hiểu biết về kiểu dữ liệu mảng ; - Tổ chức những hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu mảng trong lập trình, cụ thể là: .Khai báo dữ liệu mảng; .Nhập dữ liệu cho mảng, đưa ra màn hình chỉ số và giá trị các phần tử của mảng; .Duyệt qua tất cả các phần tử của mảng để xử lý từng phầ n tử. II. Yêu cầu - Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của người lập trình. - Giới thiệu hàm random(N) cho học sinh thấy có thể dùng lệnh để máy lấy ngẫu nhiên một số nguyên trong khoảng từ 0 đến N-1, giớ i hạn N do người lập trình đưa ra. B. Phương pháp, phương tiện: I. Phương pháp: - Phòng máy vi tính, máy chiếu để minh họa. - Vấn đáp, thuyết minh, chạy thử chương trình. II. Phương tiện: - Sách giáo khoa lớp 11. - Sách tham khảo (nếu có). C. Tiến trình lên lớp và nội dung: I. Ổn định lớp(1’): - Yêu cầu lớp trưởng báo cáo sĩ số. - Ổn định trật tự lớp. II. Kiểm tra bài cũ và gợi động cơ(7’): 1.Nêu định nghĩa mảng một chiều, mảng hai chiều? 2.Em hãy trình bày các cách khai báo biến mảng một chiều, mảng hai chiều? T8 ầ n H o à i N a m – K 5 6 A - C N T T - Đ H S P H N r Page 1
- 3. Nếu em muốn làm việc với một dãy các số ngẫu nhiên với máy tính thì em phải làm như thế nào? (Dùng thủ tục gì để sinh ra số ngẫu nhiên) 4. Đưa ra khai báo biến mảng với mảng nhiều chiều? III. Nội dung(30’): Như vậy qua bài cũ (một số bạn vừa trả lời) ta biết được việc khai báo biến mảng trong TP như thế nào rồi đúng không? Hôm nay chúng ta sẽ tìm hiểu sâu hơn nữa về mảng một chiều trong TP và một số thuật toán cơ bản khi làm việc với dữ liệu kiểu mảng thông qua các bài toán sau: Bài 1 (15’): Tạo mảng A gồ m n (n
- b) Hãy đưa các câu lệnh sau đây vào những vị trí cần thiết nhằm sửa đổ i chương trình trong câu a) để có được chương trình đưa ra số các số dương và số các số âm trong mảng. duong, am: interger; duong: = 0; am: = 0; if A[i] >0 then duong := duong +1 else if A[i]
- Ta có màn hình Pascal khi đánh chương trình vào như sau: Thực hiện chương trình ta thu được kết quả như sau: (VD: với n=6 và k=3 ta được kết quả như hình sau ) Câu hỏi 7: Quan sát ta thấy biến duong, am có ý nghĩa gì? Và duong: = 0; am: = 0; để làm gì? Học sinh trả lời: … Gợi ý : Hai biến duong, am dùng để lưu số lượng đếm được của các số dương và âm. Biến duong:=0, am:=0 dùng để khởi tạo hai biến duong, am ban đầu là rỗng. Câu hỏi 8: if A[i] >0 then duong := duong +1 else if A[i]
- Hỏi kết quả của học sinh và đưa ra kết quả của mình để so sánh chỉ ra chỗ sai của học sinh và nhận xét bài của các em . Kết quả sau khi sửa câu a ta được câu b như sau: Màn hình dữ liệu là: Màn hình kết quả nhập là: (ứng với: n=7 ta thu được kết quả như hình dưới) Bài 2: (15’) Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất. a) Hãy tìm hiểu chương trình sau: program Bài_2; uses crt; const nmax =100; type mang = array[1..nmax] of integer; var A:mang; n,i,j,max : integer; T8 ầ n H o à i N a m – K 5 6 A - C N T T - Đ H S P H N r Page 5
- Begin write(‘Nhap so luong phan tu cua day so ’, ‘n= ‘); readln(n); for i:=1 to n do begin write(‘Phan tu thu ’,i ,’= ’); readln(A[i]); end; j:=1; for i:=2 to n do if A[i] >A[j] then j:=i; write (‘Chi so : ’, j,’Giá trị : ’, A[j]:4); readln; end. b) Chỉnh sửa chương trình trên để đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất. Các em nên chú ý ở câu a bài 2 này chúng ta có được một thuật toán tìm phần tử có giá trị lớn nhất.(Rất quan trọng) Giáo viên hỏi cho học sinh trả lời. Gợi ý đáp án nếu học sinh không trả lời được. Câu hỏi 1: Vai trò của biến j trong chương trình trên? Học sinh trả lời: … Gợi ý: Giữ lại chỉ số của phần tử có giá trị lớn nhất. Câu hỏi 2: Nếu muốn tìm phần tử nhỏ nhất với chỉ số lớn nhất ta sửa ở chỗ nào? Học sinh trả lời:… Gợi ý: Sửa lại phép so sánh A[i]
- Ta có màn hình Pascal khi đánh chương trình vào như sau: Kết quả chạy thử (n=6 và có 2 giá trị lớn nhất là 9 với chỉ số nhỏ nhất là 1) Đặt thêm yêu cầu mới: Đưa ra các chỉ số lớn nhất của các phần tử có giá trị lớn nhất. Câu hỏi 4: Cần giữ lại đoạn chương trình tìm giá trị lớn nhất không? Học sinh trả lời: … Gợi ý: Có Câu hỏi 5: Cần thêm lệnh nào nữa? Vị trí thêm lệnh đó? Học sinh trả lời: … Gợi ý: Lệnh để in ra các chỉ số có giả trị bằng giá trị lớn nhất tìm được. Sau khi tìm được giá trị lớn nhất Đưa ra kết quả Thử với n=9 và các giá trị lớn nhất là 32 có 3 giá trị lớn nhất với các chỉ số là 5,6,8 . Khi đó kết quả in ra là chỉ số lớn nhất là 8 và giá ttrị là 32 T8 ầ n H o à i N a m – K 5 6 A - C N T T - Đ H S P H N r Page 7
- VI. Củng cố bài (2’): -Như vậy hôm nay chúng ta đã thực hành và viết chương trình. -Khai báo mảng một chiều. -Các thuật toán cơ bản khi làm việc với kiểu dữ liệu mảng: .Tính tổng các phần tử thỏa mãn điều kiện nào đó. .Tìm phần tử lớn nhất (max), nhỏ nhất. .Đếm số các phần tử thỏa mãn điều nào đó (Tìm chỉ số âm, dương…). V. Bài tập về nhà(5’): Câu 1: Các em sửa lại chương trình ở câu a bài 1 thành nhập từng phần tử của mảng vào từ bàn phím.(có nghĩa là không dùng lệnh randomize; ) Câu 2: Nhập từ bàn phím mảng A gồm n phần tử. Tính tổng các phần tử chẵn, phần tử lẻ trong mảng? Tìm phần tử min trong mảng? Tính tổng các phần tử trong mảng là bội của 5? Tính tổng các phần tử trong mảng chia hết cho 2? Câu 3: Viết chương trình nhập một mảng một chiều A[1..20] và nhập một số x. Đếm số lượng số trong A có giá trị bằng x. VI. Nhận xét và rút kinh nghiệm giờ giảng: Nhận xét đánh giá của giáo viên hướng dẫn. T8 ầ n H o à i N a m – K 5 6 A - C N T T - Đ H S P H N r Page 8
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài thực hành Excel
13 p | 1179 | 540
-
Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ - Bài 1: Lập trình cơ sở
6 p | 803 | 261
-
Bài tập Word – số 3
7 p | 705 | 118
-
Giáo trình thực hành tin học căn bản part 3
7 p | 257 | 69
-
Bài giảng thực hành lập trình web 2 - Bài 3
4 p | 234 | 65
-
BUỔI THỰC HÀNH THỨ 5 - Tin học căn bản
17 p | 239 | 62
-
BUỔI THỰC HÀNH THỨ 1 - Tin học căn bản
17 p | 220 | 52
-
Bài thực hành số 3 – Làm việc với Javascript & JQuery - ĐH FPT
4 p | 185 | 20
-
Bài thực hành số 2 – Khởi tạo, làm việc với mã HTML5 & thành phần Form - ĐH FPT
4 p | 131 | 16
-
Bài thực hành số 3: Đối tượng File System Object
0 p | 109 | 13
-
Bài thực hành Bảo mật hệ thống thông tin số 3: Quyền và Role
14 p | 63 | 7
-
Bài thực hành Lập trình Java 3 - Bài 2
5 p | 147 | 6
-
Cấu trúc dữ liệu và giải thuật Bài thực hành số 3
4 p | 101 | 5
-
Bài thực hành Lập trình Java 2 - Bài thực hành 3: Nhập - Xuất dữ liệu trong Java
2 p | 122 | 4
-
Bài thực hành Lập trình Java 3 - Bài 3
2 p | 102 | 3
-
Bài giảng Matlab: Bài thực hành số 3 - ĐHBK Hà Nội
4 p | 25 | 3
-
Bài thực hành Nhập môn lập trình số 3: Tổ chức dữ liệu trong chương trình
4 p | 48 | 3
-
Bài thực hành Lập trình Java 1 - Bài 3: Mảng và lệnh lặp
3 p | 88 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn