Giáo án Tin học 8 - Tiết 56-57: Làm việc với dãy số - Trường THCS Trần Phú

5 10 0
Giáo án Tin học 8 - Tiết 56-57: Làm việc với dãy số - Trường THCS Trần Phú

Đang tải... (xem toàn văn)

Thông tin tài liệu

Mục tiêu: - Học sinh biết được khái niệm mảng một chiều; - Biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng; - Hiểu thuật toán tìm số lớn nhất, nhỏ nhất của một dãy số.. [r]

(1)Giáo án Tin học Trường THCS TRẦN PHÚ TIẾT 56, 57: LÀM VIỆC VỚI DÃY SỐ I Mục tiêu: - Học sinh biết khái niệm mảng chiều; - Biết cách khai báo mảng, nhập, in, truy cập các phần tử mảng; - Hiểu thuật toán tìm số lớn nhất, nhỏ dãy số II Phương pháp: - Đặt vấn đề để học sinh trao đổi và đưa nhận xét Tận dụng vốn hiểu biết “ cách tự nhiên học sinh - Học sinh đọc SGK, quan sát và tổng kết III Chuẩn bị: - Giáo viên: Phấn màu, sách, chuẩn bị thêm các bài tập minh hoạ (nếu có) - Học sinh: sách, tập, viết IV TIẾN TRÌNH DẠY HỌC 1- Kiểm tra bài cũ: … 2- Dạy bài mới: Hoạt động Thầy Hoạt động Nội dung ghi bảng học sinh Hoạt động 1:Dãy số và biến mảng - Giới thiệu dãy số và biến mảng HS nghe giảng Dãy số và biến mảng: liên quan đến hai nội dung quan trọng: Nhu cầu biến mảng ngôn ngữ lập trình và thuật toán tìm số lớn dãy số Như các em đã biết “thuật toán tìm số lớn dãy số” đã tìm hiểu bài (ví dụ 6) Vì vậy, ta không đề cập đến việc giải nhiệm vụ này ntn Mục tiêu là Gv dẫn đến nhu cầu cần có biến mảng thông qua ví dụ 1: Viết chương trình nhập điểm kiểm tra các HS lớp và sau đó in Ví dụ 1: (SGK)/ Tr 75 màn hình + Vì biến có thể lưu giá - HS đọc ví dụ trị nhất, để có thể nhập điểm và so sánh chúng, ta cần sử dụng nhiều biến, biến cho HS Trong Pascal ta cần nhiều câu lệnh khai báo - HS lắng nghe, - Khai báo và nhập liệu câu lệnh và nhập liệu như: Mỗi câu lệnh theo dõi, ghi tương ứng với điểm HS: Var Diem_1, Diem_2, Diem_3, … : real; tương ứng với điểm HS + Nếu số HS lớp càng nhiều Read (Diem_1) ; Read (Diem_2) ; Read thì đoạn khai báo và đọc liệu (Diem_3) ; … chương trình càng dài … khó tránh khỏi nhầm lẫn, sai sót - Vậy, ta có thể sử dụng quy luật tăng Lop8.net (2) Giáo án Tin học Trường THCS TRẦN PHÚ hay giảm “số thứ tự” và vài câu lệnh lặp để xử lí liệu cách đơn giản ntn ?  Để giải các vấn đề trên, hầu hết các ngôn ngữ lập trình có kiểu liệu gọi là kiểu mảng + Dữ liệu kiểu mảng là gì ? - Ta có thể sử dụng quy luật tăng hay giảm “số thứ tự” và vài câu lệnh lặp để xử lí liệu cách đơn giản: + Với i = đến 100: Hãy nhập Diem_i; + Với i = đến 100: Hãy so sánh Max với Diem_i; - HS trả lời … * Nhấn mạnh: Trong bài này, ta xét các mảng có các phần tử kiểu số nguyên số thực * Dữ liệu kiểu mảng:Là tập hợp hữu hạn các phần tử có thứ tự + Mọi phần tử có cùng kiểu liệu gọi là kiểu phần tử Việc xếp thứ tự thực cách gán cho phần tử số: + Biến mảng: Là khai báo biến có kiểu liệu là kiểu mảng + Giá trị biến mảng là mảng (tức là dãy số: nguyên - thực có thứ tự) Hoạt động 2:Ví dụ biến mảng - Cách khai báo biến mảng các - HS lắng nghe Ví dụ biến mảng: ngôn ngữ lập trình có thể khác nhau, trả lời… - Cách khai báo biến mảng các ngôn luôn cần rõ gì ? ngữ lập trình có thể khác nhau, luôn cần rõ: tên biến mảng, số lượng phần tử, - Cho HS đọc ví dụ, hướng dẫn kiểu liệu chung các phần tử cách khai báo ngôn ngữ Pascal: Ví dụ: (SGK)/ Tr 76 Var Chieucao : array [1 50] of real; * Cách khai báo mảng Pascal: Var Tuoi : array [21 80] of integer; Tên mảng : array [<chỉ số đầu> <chỉ số => Cách khai báo mảng Pascal - HS nêu cách cuối>] of <kiểu liệu >; Trong đó: ntn ? khai báo … + Chỉ số đầu và số cuối: là số nguyên biểu thức nguyên (Chỉ số đầu  số cuối ); + Kiểu liệu: integer real * Ví dụ 2: (SGK)/ Tr 76 - Từ ví dụ 1, GV dẫn dắt HS cách - HS theo dõi - Khai báo biến mảng Diem sau: khai báo biến mảng: lắng nghe trả lời: Var Diem : array [1 50] of real; Var Diem : array [1 50] of real; + Biến mảng có 50 phần tử + Tên biến mảng đánh từ đến 50 Các phần tử [chỉ số phần tử] “đặt tên” ntn ? Diem[1],… => Cách khai báo và sử dụng biến + Có thể thực mảng trên có lợi gì ? các thao tác gán giá trị, so Lop8.net (3) Giáo án Tin học Trường THCS TRẦN PHÚ sánh, viết giá trị màn hình … với Diem[1], Diem[2], …, Diem[50], - Để thay nhiều câu lệnh nhập và in liệu màn hình, ta dùng câu lệnh nào ? ( For …do ) - Để viết giá trị các phần tử màn hình người ta kết hợp For …do với lệnh nào ? - Dùng câu lệnh lặp - Dùng câu lệnh lặp, có thể thay nhiều câu lệnh nhập và in liệu màn hình, như: For i:= to 50 readln ( Diem [ i ] ); - … với lệnh write - Để so sánh điểm HS với giá writeln trị nào đó, ta cần câu lệnh lặp, như: For i:= to 50 If Diem [ i ] > 8.0 then writeln ( ‘ Gioi ‘ ); - Để giúp tiết kiệm nhiều thời - HS nghe và theo gian và công sức viết chương trình, dõi Gv thực thay vì phải viết 50 câu lệnh khai báo và 50 câu lệnh nhập, ta cần viết câu lệnh là đủ và kết đạt Đưa cách khai báo - Để xử lí đồng thời các laọi điểm cho HS rõ môn học, ta có thể khai báo nhiều mảng: => HS tự khai báo nhiều biến mảng - HS làm theo cho các môn học ntn ? hdẫn GV Var DiemToan : array [1 50] of real; Var DiemVan : array [1 50] of real; Var DiemLi : array [1 50] of real; hoặc: Var DiemToan, DiemVan, DiemLi : array [1 50] of real; - Sau mảng đã khai - … gán giá - Khi mảng đã khai báo, chúng ta báo, chúng ta có thể làm việc với các trị, đọc giá trị và có thể làm việc với các phần tử nó như: phần tử nó làm việc với thực các tính gán giá trị, đọc giá trị và thực các tính biến thông thường Vậy làm việc với toán với các giá toán với các giá trị đó Ví dụ như: A[ ]:= 5; biến thông thường ntn ? trị đó A[ ]:= 8; * Lưu ý HS: Sử dụng cấu trúc For nhập liệu từ bàn phím câu … phù hợp, dễ hiểu cấu trúc lệnh: For i:= to readln ( A [ i ] ); While…do vì biết trước số lần lặp * Củng cố:Làm BT 1, 2/ SGK/ Tr 79 * Dặn dò: Học Bài và làmBTVN: 3, 4/SGK/ Tr 79 -TIẾT 57(tt): Hoạt động 3: Tìm giá trị lớn và nhỏ dãy số - GV hướng dẫn HS tìm hiểu lại Tìm giá trị lớn và nhỏ thuật toán tìm giá trị lớn nhất, nhỏ dãy số: dãy số nguyên ( đã học * Thuật toán tìm giá trị lớn ( Max ) - HS nghe và dãy số nguyên nhập từ bàn phím: Bài ) + GV giải thích thuật toán tìm giá nhắc lại Tham Bước 1: Nhập N và dãy A1, … , An; Lop8.net (4) Giáo án Tin học Trường THCS TRẦN PHÚ trị lớn dãy số nguyên … Sau đó cho HS nhắc lại + Cho HS thảo luận, chỉnh sửa thuật toán trên để tìm số nhỏ - GV cho HS đọc ví dụ 3: + Để nhập các số nguyên nhập vào, trước hết ta phải làm gì ? + Sau khai báo N, biến lưu các số nhập vào là các phần tử biến mảng A Ngoài ra, cần khai báo thêm các biến nào ? gia chỉnh sửa thuật toán trên để tìm số nhỏ - HS đọc ví dụ + HS: …trước hết ta khai báo biến N + Cần khai báo thêm biến i làm biến đếm cho các lệnh lặp, biến Max và Min để lưu số lớn nhất, nhỏ - GV: Trình bày phần khai báo - HS theo dõi chương trình … - GV cho HS đọc phần ghi nhớ Bước 2: Max  A1; Bước 3: Với i từ đến N thực hiện: Nếu Max < A1 thì Max  Ai; Bước 4: Đưa màn hình giá trị Max kết thúc Ví dụ 3: (SGK)/ Tr 78 * Phần khai báo chương trình có thể sau: Program MaxMin; Uses crt; Var i, n, Max, Min : integer; A : array [1 100] of integer; {Phần thân chương trình tương tự đây:} Begin Clrscr; Write ( ‘ Hay nhap dai cua day so, N = ‘); readln (n); Writeln ( Nhap cac phan tu cua day so: m’); For i:= to n Begin Write ( ‘ a[ , i , ] = ‘); readln (a[ i ] ); End; Max:= a[1]; Min:= a[1]; For i:= to n Begin if Max < a[ i ] then Max:= a[ i ]; if Min < a[ i ] then Min:= a[ i ]; End; Write ( ‘ So lon nhat la Max = ‘ Max); Write ( ‘ So nho nhat la Min = ‘ Min); readln (n); - 4HS đọc và End lớp nghe đọc, ** GHI NHỚ: (SGK)/ Tr 79 cùng theo dõi 3- Dặn dò: - Về nhà học bài; - Làm các Câu hỏi và BTcòn lại: sgk/ Tr 79; Lop8.net (5) Giáo án Tin học Trường THCS TRẦN PHÚ - Chuẩn bị tiết sau: Bài thực hành The end Lop8.net (6)

Ngày đăng: 29/03/2021, 20:31

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan