1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo án Tin học 8 - Bài 9: Làm việc với dãy số

5 11 0

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

THÔNG TIN TÀI LIỆU

Nội dung

V× mçi - GV: VÝ dô nh­ trong Pascal ta biÕn chØ cã thÓ l­u mét gi¸ trÞ duy nhÊt, cÇn nhiÒu c©u lÖnh khai b¸o vµ để có thể nhập điểm và so sánh chúng, nhËp d÷ liÖu d¹ng sau ®©y, mçi c©u t[r]

(1)Ngày soạn: Ngày giảng: BÀI :Lµm viÖc víi d·y sè I Mục tiêu: Kiến thức  Lµm quen víi viÖc khai b¸o vµ sö dông c¸c biÕn m¶ng  ¤n luyÖn c¸ch sö dông c©u lÖnh lÆp for…do  Củng cố các kĩ đọc, hiểu và chỉnh sửa chương trình Kỹ 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ö biến mảng thực thông qua số tương ứng phần tử đó Thái độ II.Chuẩn bị GV, HS Chuẩn bị GV: Chuẩn bị HS: III Tiến trình lên lớp: Ổn định lớp Kiểm tra bài cũ: C©u lÖnh lÆp while…do cã d¹ng nh­ thÕ nµo? while <®iÒu kiÖn> <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 chương trình Nếu điều kiện đúng thực câu lệnh và quay lại bước Bài mới: a.Hoạt động 1: D·y sè vµ biÕn m¶ng Hoạt động thầy: Hoạt động trò: - GV: yêu cầu HS đọc ví dụ - HS: VÝ dô Gi¶ sö chóng ta cÇn viÕt chương trình nhập điểm kiểm tra các học sinh lớp và sau đó in mµn h×nh ®iÓm sè cao nhÊt V× mçi - GV: VÝ dô nh­ Pascal ta biÕn chØ cã thÓ l­u mét gi¸ trÞ nhÊt, cÇn nhiÒu c©u lÖnh khai b¸o vµ để có thể nhập điểm và so sánh chúng, nhËp d÷ liÖu d¹ng sau ®©y, mçi c©u ta cÇn sö dông nhiÒu biÕn, mçi biÕn cho lệnh tương ứng với điểm mét häc sinh häc sinh  Var Diem_1, Diem_2, Diem_3,… : real; -1Lop8.net (2)  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 (nh­ Diem_1, Diem_2, Diem_3, ë trªn) biến và đánh "số thứ 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í liệu cách đơn giản h¬n, ch¼ng h¹n: 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ö có cùng kiểu 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è: Với i = đến 50: hãy nhập Diem_i; Với i = đến 50: hãy so sánh Max Khi khai b¸o mét biÕn cã kiÓu d÷ liÖu lµ víi Diem_i; kiểu mảng, biến đó gọi là biến m¶ng Cã thÓ nãi r»ng, sö dông biÕn m¶ng, vÒ thùc chÊt chóng ta s¾p thø tù theo số các biến có cùng kiểu mét tªn 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 a VÝ dô, c Tõ hai vÝ dô trªn, cã thÓ thÊy H×nh 41 Sau mảng đã khai báo, chúng ta có thể làm việc với các phần tử nó làm việc với biến thông thường gán giá trị, đọc giá trị và thực các tính toán với các giá trị đó Ví dụ cho thấy rằng, chúng ta gán giá trị, đọc giá trị và tính toán với các giá trị phần tử biến mảng thông qua số tương ứng phần tử đó Chẳng hạn, câu lệnh trên Diem[i] là phần tử thứ i biến m¶ng Diem Hoạt động 2: VÝ dô vÒ biÕn m¶ng Hoạt động thầy: - GV: §Ó lµm viÖc víi c¸c d·y sè nguyªn hay sè thùc, chóng ta ph¶i khai b¸o biÕn mảng có kiểu tương ứng phần khai báo chương trình C¸ch khai b¸o biÕn m¶ng c¸c ng«n ng÷ lËp tr×nh cã thÓ kh¸c nhau, nh­ng -2Lop8.net Hoạt động trò: - HS: C¸ch khai b¸o m¶ng Pascal nh­ sau: Tªn m¶ng : array[<chØ sè ®Çu> <chØ sè cuèi>] of <kiÓu d÷ liÖu> đó số đầu và số cuèi lµ hai sè nguyªn hoÆc biÓu (3) luôn cần rõ: tên biến mảng, số lượng phÇn tö, kiÓu d÷ liÖu chung cña c¸c phÇn tö thøc nguyªn tho¶ m·n chØ sè ®Çu ≤ chØ sè cuèi vµ kiÓu d÷ liÖu cã thÓ lµ integer hoÆc real - GV: Cách khai báo đơn giản biến m¶ng ng«n ng÷ Pascal nh­ sau: var Chieucao: array[1 50] of real; var Tuoi: array[21 80] of integer; Với câu lệnh thứ nhất, ta đã khai báo mét biÕn cã tªn Chieucao gåm 50 phÇn tö, mçi phÇn tö lµ biÕn cã kiÓu sè thùc Víi c©u lÖnh khai b¸o thø hai, ta cã biÕn Tuoi gåm 60 phần tử (từ 21 đến 80) có kiểu số nguyªn C¸ch khai b¸o vµ sö dông biÕn m¶ng nh­ trªn cã lîi g×? Trước hết, có thể thay nhiều câu lệnh nhËp vµ in d÷ liÖu mµn h×nh b»ng mét c©u lÖnh lÆp Ch¼ng h¹n, ta cã thÓ viÕt để nhập điểm các học sinh 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 hai câu lệnh là đủ và kết đạt là Ta cßn cã thÓ sö dông biÕn m¶ng mét c¸ch rÊt hiÖu qu¶ xö lÝ d÷ liÖu §Ó so s¸nh ®iÓm cña mçi häc sinh víi mét gi¸ trÞ nµo đó, ta cần câu lệnh lặp, chẳng h¹n §iÒu nµy gióp tiÕt kiÖm rÊt nhiÒu thêi gian và công sức viết chương trình H¬n n÷a, mçi häc sinh cã thÓ cã nhiÒu ®iÓm theo tõng m«n häc: ®iÓm To¸n, ®iÓm V¨n, điểm Lí, Để xử lí đồng thời các loại điểm nµy, ta cã thÓ khai b¸o nhiÒu biÕn m¶ng: Khi đó, ta có thể xử lí điểm thi -3Lop8.net VÝ dô TiÕp tôc víi vÝ dô 1, thay v× khai b¸o c¸c biÕn Diem_1, Diem_2, Diem_3, để l­u ®iÓm sè cña c¸c häc sinh, ta khai b¸o biÕn m¶ng Diem nh­ sau: var Diem: array[1 50] of real; For i:=1 to 50 readln(Diem[i]); For i:=1 to 50 if Diem[i]>8.0 then writeln('Gioi'); var DiemToan: array[1 50] of real; var DiemVan: array[1 50] of real; (4) häc sinh cô thÓ (vÝ dô nh­ tÝnh ®iÓm trung b×nh cña Lan, tÝnh ®iÓm cao nhÊt cña Ch©u, ) hoÆc tÝnh ®iÓm trung b×nh cña c¶ líp, var DiemLi: array[1 50] of real; hay var DiemToan, DiemVan, DiemLi: array[1 50] of real; Ta cã thÓ g¸n gi¸ trÞ cho c¸c phÇn tö cña m¶ng b»ng c©u lÖnh g¸n: A[1]:=5; A[2]:=8; hoÆc nhËp d÷ liÖu tõ bµn phÝm b»ng c©u lÖnh lÆp: for i := to readln(a[i]) Hoạt động 3: T×m gi¸ trÞ lín nhÊt vµ nhá nhÊt cña d·y sè Hoạt động thầy: Hoạt động trò: - GV: Trước hết ta khai báo biến N HS Ví dụ Viết chương trình nhập để nhập số các số nguyên N số nguyên từ bàn phím và in màn nhập vào Sau đó khai báo N biến hình số nhỏ và số lớn N l­u c¸c sè ®­îc nhËp vµo nh­ lµ ®­îc nhËp tõ bµn phÝm 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 để program MaxMin; l­u sè nhá nhÊt PhÇn khai b¸o cña uses crt; Var chương trình có thể sau: 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); Trong chương trình này, chúng ta writeln('Nhap cac phan tu cua day h·y l­u ý ®iÓm sau: Sè tèi ®a c¸c so:'); phÇn tö cña m¶ng (cßn gäi lµ kÝch For i:=1 to n thước mảng) phải khai Begin b¸o b»ng mét sè cô thÓ (ë ®©y lµ write('a[',i,']='); readln(a[i]); 100, mÆc dï sè c¸c sè nhËp vµo End; sau nµy cã thÓ nhá h¬n nhiÒu so víi Max:=a[1]; Min:=a[1]; 100) for i:=2 to n Ghi nhí begin if Max<a[i] then Max:=a[i]; D÷ liÖu kiÓu m¶ng lµ mét tËp hîp if Min>a[i] then Min:=a[i] h÷u h¹n c¸c phÇn tö cã thø tù vµ end; phần tử có cùng kiểu -4Lop8.net (5) d÷ liÖu write('So lon nhat la Max = ',Max); ViÖc g¸n gi¸ trÞ, nhËp gi¸ trÞ vµ tÝnh write('; So nho nhat la Min = ',Min); to¸n víi c¸c gi¸ trÞ cña mét phÇn tö readln; biÕn m¶ng ®­îc thùc hiÖn End thông qua số tương ứng 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 IV Củng cố: 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µ phần tử có cùng kiểu 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ử biến mảng thực thông qua số tương ứng 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 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 «n l¹i bµi vµ lµm c¸c c©u hái 1, 2, 3, trang 79 Sgk -5Lop8.net (6)

Ngày đăng: 30/03/2021, 04:05

w