GA 8 bai 9 lam viec voi day so

5 665 0
GA 8 bai 9 lam viec voi day so

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

Thông tin tài liệu

Tuần 31: Tiết 61: Làm Việc Với Dãy Số I. Mục tiêu 1. Ki ế n th ứ c • Làm quen với việc khai báo và sử dụng các biến mảng. • Cách sử dụng câu lệnh lặp for…do trong cấu trúc biến máng • Củng cố các kó năng đọc, hiểu và chỉnh sửa chương trình. 2. K ỹ n ă ng - Gán giá trò, nhập giá trò và tính toán với các giá trò của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó. 3. Thái độ II.Chuẩn bị của GV, HS 1. Chuẩn bị của GV: máy chiếu, giáo án 2. Chuẩn bị của HS:bài cũ, sách, vở III. Tiến trình lên lớp: 1. Ổn định lớp : 1’ 2.Kiểm tra bài cũ: 5’ Câu lệnh lặp while…do có dạng như thế nào? while <điều kiện> do <câu lệnh>; Câu lệnh này được thực hiện như thế nào? Kiểm tra điều kiện. Nếu điều kiện sai, câu lệnh sẽ bò bỏ qua và chuyển sang câu lệnh tiếp theo trong chương trình. Nếu điều kiện đúng thực hiện câu lệnh và quay lại bước. 3. Bài mới: 1. Đặt vấn đề: Hoạt động của thầy: Hoạt động của trò: Hoạt động 1: Dãy số và biến mảng(15’) - GV: gọi hs đọc ví dụ 1  hs đọc - GV: Ví dụ như trong Pascal ta cần nhiều câu lệnh khai báo và nhập dữ liệu dạng sau đây, mỗi câu lệnh tương ứng với điểm của một học sinh • Var Diem_1, Diem_2, Diem_3,… : real; • Read(Diem_1);Read(Diem_2), Read(Diem_3); … Giả sử chúng ta có thể lưu nhiều dữ liệu có liên quan với nhau (như Diem_1, Diem_2, Diem_3, ở trên) bằng một biến duy nhất và đánh "số thứ 1.Dãy số và biến mãng tự" cho các giá trò đó, ta có thể sử dụng quy luật tăng hay giảm của "số thứ tự" và một vài câu lệnh lặp để xử lí dữ liệu một cách đơn giản hơn, chẳng hạn: Với i = 1 đến 50: hãy nhập Diem_i; Với i = 1 đến 50: hãy so sánh Max với Diem_i; ? Thế nào là dữ liệu của mảng?  Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. Gv nhận xét ? Các phần tử trong mảng được gán các giá trò giống nhau và khác nhau được không? Vì sao?  các phần tử của mảng được gán giá trò có thể giống và khác nhau/ vì mỗi phần tử của mảng lưu trữ một giá trò(chỉ số) riêng biệt Gv nhận xét ? Các phần tử trong mảng có cùng một kiểu dữ liệu hay các kiểu dữ liệu khác nhau? Vì sao?  các phần tử có cùng một kiểu dữ liệu vì nó thuộc kiểu dữ kiệu của biến mảng Gv nhận xét Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng. Có thể nói rằng, khi sử dụng biến mảng, về thực chất chúng ta sắp thứ tự theo chỉ số các biến có cùng kiểu dưới một tên duy nhất. Giá trò của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trò của biến thành phần tương ứng. Hoạt động 2: Ví dụ về biến mảng (20’) GV cho HS đọc phần 2. ? Cấu trúc khai báo mảng trong pascal?  Tên mảng: Array [chỉ số đầu chỉ số cuối] of kiểu dữ liệu Chỉ số đầu <= Chỉ số cuối Kiểu dữ liệu là kiểu nguyên hoặc kiểu thực Xét ví dụ 2: Gv cho hs đọc kó Ví dụ 2và thảo luận theo nhóm 2 hs một nhóm ? Hãy mô tả cách lưu trữ dữ liệu trong các phần tử của mảng?dựa vào hình 41 hãy nêu thứ tự các phần tử trong từng mảng?Nếu lấy phần tủ thứ 2 của mảng điểm lí cộng cho phần tử thứ 2 của điểm văn thì có giá trò bao nhiêu? Hs: mỗi phần tử lưu trữ các giá trò riêng biệt Ví dụ ta có mảng lưu trữ điểm lì thì phần tử thứ nhất lưu trữ số 8 và phần tử thứ 2 lưu trữ số 6 và theo thứ tự cho tới khi phần tử cuối cùng của mảng Giá trò là 14 GV chiếu một bài toán thực hiện vòng lặp For to…do và 2. Ví dụ về biến mảng Cách khai báo mảng trong Pascal Tên mảng: Array [chỉ số đầu chỉ số cuối] of kiểu dữ liệu cho hs nhận xét Chương trình: Program vd1; Var i,x: interger; Begin For i:= 1 to 5 do begin Write(‘ ban hay nhap giá tri cho 5 so’); readln(x) ; end. Write(‘ hien thò gia tri X’); write(X); Readln; End.  Chương trình thực hiện nhập giá trò cho biến x đúng 5 lần Gv: chúng ta quan sát các giá trò được nhập vào là một dãy số ? Trong chương trình ta sử dụng bao nhiêu biến để lưu trữ giá trò cho 5 số được nhập vào?  Một biến duy nhất là X Gv: khi ta hiển thò giá trò của X thì X sẽ hiển thò bao nhiêu giá trò  Một giá trò cuối cùng mà ta vừa nhập vào Gv nhận xét Gv cho hs quan sát chương trình 2 và nhận xét Program vd2; Var i,x: interger; X : array[ 1 5] of Interger; Begin For i:= 1 to 5 do begin Write(‘ ban hay nhap giá tri cho 5 so’); readln(X[i]) ; end. For i:=1 to 5 do begin Write(‘ hien thò gia tri X’, i); write(X[i]);end; Readln; End. Hs nhận xét Gv nhận xét và rút ý củng cố: nhăùc lại kiểu dữ liệu mảng là gì? Các giá trò trong mảng giống và khác nhâu được không? Vì sao? Nhắc lại cách khai báo kiểu mảng trong Pascal? Dặn dò: về nhà học bài và chuẩn bò các phần sau: Xem chương trình trong ví dụ 3? Hãy giải thích từng lệnh trong chương trình và chương trình hoạt động như thế nào Hoạt động 3: Tìm giá trò lớn nhất và nhỏ nhất của dãy sè Hoạt động của thầy: Hoạt động của trò: - GV: Trước hết ta khai báo biến N để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo N biến lưu các số được nhập vào như là các phần tử của một biến mảng A. Ngoài ra, cần khai báo một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất. Phần khai báo của chương trình có thể như sau: Trong chương trình này, chúng ta hãy lưu ý điểm sau: Số tối đa các phần tử của mảng (còn gọi là kích thước của mảng) phải được khai báo bằng một số cụ thể (ở đây là 100, mặc dù số các số nhập vào sau này có thể nhỏ hơn nhiều so với 100). Ghi nhớ Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự và mọi phần tử đều có cùng một kiểu dữ liệu. Việc gán giá trò, nhập giá trò và tính toán với các giá trò của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó. Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn. HS Ví dụ 3. Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất. N cũng được nhập từ bàn phím program MaxMin; uses crt; Var i, n, Max, Min: integer; A: array[1 100] of integer; Phần thân chương trình sẽ tương tự dưới đây: Begin clrscr; write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Max:=a[1]; Min:=a[1]; for i:=2 to n do 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; End. IV. Củng cố: 1. Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự và mọi phần tử đều có cùng một kiểu dữ liệu. 2. Việc gán giá trò, nhập giá trò và tính toán với các giá trò của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó. 3. Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn. V. Dặn dò, hướng dẫn học sinh học tập ở nhà: Học bài và xem trước nội dung bài thự hành 7 ôn lại bài và làm các câu hỏi 1, 2, 3, 4 trang 79 Sgk. . dưới đây: Begin clrscr; write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so: '); For i:=1 to n do Begin write('a[',i,']=');. Max<a[i] then Max:=a[i]; if Min>a[i] then Min:=a[i] end; write(&apos ;So lon nhat la Max = ',Max); write('; So nho nhat la Min = ',Min); readln; End. IV. Củng cố: 1. Dữ liệu. trình: Program vd1; Var i,x: interger; Begin For i:= 1 to 5 do begin Write(‘ ban hay nhap giá tri cho 5 so ); readln(x) ; end. Write(‘ hien thò gia tri X’); write(X); Readln; End.  Chương trình thực

Ngày đăng: 02/02/2015, 16:00

Từ khóa liên quan

Mục lục

  • củng cố: nhăùc lại kiểu dữ liệu mảng là gì? Các giá trò trong mảng giống và khác nhâu được không? Vì sao? Nhắc lại cách khai báo kiểu mảng trong Pascal?

  • Hoạt động 3: Tìm giá trò lớn nhất và nhỏ nhất của dãy sè

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

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

Tài liệu liên quan