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

LAM VIEC VOI DAY SO

32 4 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

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ử đó.. tên mảng[chỉ số] Sử dụng biến mản[r]

(1)Giáo viên: Lê Thị Thảo (2) KIỂM TRA BÀI CŨ Hãy nêu cú pháp lặp với số lần chưa biết trước và giải thích? While <điều điều kiện kiện> <câu câu lệnh >; : Thường là phép so sánh : Câu lệnh đơn giản hay câu lệnh ghép Đầu tiên kiểm tra điều kiện, điều kiện sai thì kết thúc, điều kiện đúng thì thực câu lệnh sau đó quay lại kiểm tra điều kiện, vòng lặp tiếp tục (3) Bài 9: Em thường nhìn thấy việc xếp hàng tập thể dục, xếp hàng để mua vé, xếp hàng vào lớp… Qua quan sát xếp hàng trên em thấy xếp công việc có lợi ích gì? Tập thể dục (4) Bài 9: Sắp xếp công việc làm cho hoạt Trong lậpratrình biết bố trí động diễn mộtcũng cáchvây trật tự và nhanh liệu theo dãy, việc khai báo và xử lý chóng… liệu trở nên đơn giản nhiều Thay vì phải viết nhiều câu lệnh giống nhau, ta có thể dùng vài câu lệnh lặp và nhường lại phần lớn công việc cho máy tính thực (5) (6) Bài 9: Dãy số và biến mảng Xét VD: Viết chương trình nhập điểm kiểm tra môn Tin các học sinh lớp Nhập và lưu điểm cho học sinh Nhập và lưu điểm cho học sinh Var Diem1: real; Readln(Diem1); Var Diem1, Diem2: real; Read(Diem1); Read(Diem2); Vậy nhập và lưu điểm cho 40 học sinh thì sao? (7) Bài 9: Dãy số và biến mảng Vậy nhập và lưu điểm cho 40 học sinh thì sao? Khai báo 40 biến: Var Diem1, Diem2, Diem3, …, Diem40: Real; Sử dụng 40 câu lệnh nhập điểm: Read(Diem1); Read(Diem2); Read(Diem3); ….;Readln(Diem40); Những hạn chế: Khi viết chương trình với bài toán cần - Phải khai báo quádữ nhiều biếnthì có nhập với lượng liệu lớn hạn chế gì? - Chương trình phải viết khá dài - Dễ nhầm lẫn các biến viết chương trình (8) Bài 9: Dãy số và biến mảng Khắc phục hạn chế: - Lưu các biến có liên quan thành dãy và đặt tên chung phải khắc - Đánh số thứ tự (chỉ Vậy số) cho các biến đó phục - Sử dụng câu lệnh lặp để xử lí liệu nào? var Diem1 , Diem , Diem Dữ liệu , , Diem 40 : Real ; Read(Diem1); Read(Diem2); Read(Diem3); ….;Readln(Diem40); kiểu mảng Diem …… Chỉ số - Với i=1 đến 40: hãy nhập Diem_i; 10 (9) Bài 9: Dãy số và biến mảng * Dữ liệu kiểu mảng: - Là dãy hữu hạn các phần tử có cùng kiểu liệu, xếp thứ tự bằngDữ cáchliệu gán kiểu cho phần là tử gì? số mảng A i 12 17 Trong đó:  Tên mảng: A  Chỉ số: i  Số phần tử mảng:  Kiểu liệu các phần tử: Kiểu số nguyên  Khi tham chiếu đến phần tử thứ i, ta viết A[i] Ví dụ: A[5]=17 (10) Bài 9: Dãy số và biến mảng * Biến mảng: - Là 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ố (số nguyên số thực) - Mỗi số là giá trị các phần tử tương ứng Giá trị mảng Biến mảng A 17 13 20 10 Chỉ số (11) Bài 9: Ví dụ biến mảng a.Cách khai báo mảng Pascal: Var Tên mảng : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>; Tuoi Chỉ số … … 10 40 Var Tuoi : array[1 40] of Integer; Chieucao Chỉ số 1.5 1.65 1.75 1.7 … … Var chieucao: array[2 20] of Real; 1.8 20 (12) Bài 9: Ví dụ biến mảng a Khai báo mảng chiều Pascal: Var Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>; Trong đó: - Tên mảng: Do người lập trình đặt - array, of: Là từ khóa chương trình - Chỉ số đầu, số cuối: Là số nguyên, thỏa mãn: số đầu ≤ số cuối hai số là dấu - Kiểu liệu: Là kiểu các phần tử, là Integer Real - Số phần tử = số cuối – số đầu + (13) Bài 9: Ví dụ biến mảng a) Cách khai báo mảng Pascal: Ví dụ: Cách khai báo đơn giản biến mảng ngôn ngữ Pascal sau: var Tuoi: array[21 80] of integer; Tên biến Số lượng pt Kiểu liệu chung var Chieucao: array[1 50] of real; Chỉ số đầu Chỉ số cuối (14) Bài 9: Ví dụ biến mảng a) Cách khai báo mảng Pascal: Var VarTênmảng: Tênmảng:array array[<chỉ [<chỉsố sốđầu> <chỉ đầu> <chỉsố sốcuối>] cuối>]of of<kiểu <kiểudữ dữliệu>; liệu>; Ví dụ: Hãy khai báo các mảng sau: 1/ Mảng Diem gồm 40 phần tử thuộc kiểu liệu số thực? Var Vardiem diem: :array[1 40] array[1 40]ofofreal; real; 2/ Mảng A, B gồm 10 phần tử thuộc kiểu liệu số nguyên? Var VarA: A:array[1 10] array[1 10]ofofinteger; integer; Var AA,B: array[1 10] ofofinteger; Var ,B: array[1 10] integer; B: array[1 10] of integer; B: array[1 10] of integer; (15) Bài 9: Ví dụ biến mảng a) Cách khai báo mảng Pascal: Câu lệnh khai báo biến mảng sau đây máy tính có thực không? Var N : integer; A : array[1 N] of real; Không xác định KHÔNG Lưu ý: - Kích thước mảng phải khai báo số cụ thể (16) Bài 9: Lưu ý: Kích thước mảng phải khai báo số cụ thể (17) Bài 9: Ví dụ biến mảng a) Cách khai báo mảng Pascal: Tênmảng: Tênmảng:array array[<chỉ [<chỉsố sốđầu> <chỉ đầu> <chỉsố sốcuối>] cuối>]of of<kiểu <kiểudữ dữliệu>; liệu>; b) Truy cập đến giá trị phần tử mảng: Cú pháp: Tên Tênmảng mảng[Chỉ [Chỉsố] số] VD: DiemTin[1]  Tham chiếu tới phần tử thứ mảng DiemTin (18) Bài 9: Ví dụ biến mảng b) Truy cập đến giá trị phần tử mảng: Tên Cú pháp: Tênmảng mảng[Chỉ [Chỉsố] số] Ví dụ1: Cho mảng A chứa các giá trị sau: 10 - Xác định các giá trị của: A[1], A[3], A[5], A[10] ? A[1], A[10]: không xác định A[3]=2; A[5]=4 (19) Bài 9: Ví dụ biến mảng Có thể thực các b) Truy cập đến giá trị phần tử mảng: Cú pháp: Tên Tênmảng mảng[Chỉ [Chỉsố] số] thao tác nào với các phần tử mảng? Ví dụ 2: Cho các câu lệnh sau: A[3]:=2; A[4]:=5; A[6]:=A[3]+A[4]; A[3]=2 A[4]=5 A[6]=7 Giá trị các phần A[3], A[4], A[6] là bao nhiêu? - Có thể gán giá trị, đọc giá trị và thực tính toán với các phần tử mảng (20) Bài 9: Ví dụ biến mảng b) Truy cập đến giá trị phần tử mảng: Ví dụ: Gán giá trị cho 40 phần tử mảng DiemTin DiemTin[1]:=5; DiemTin[2]:=7; ……… DiemTin[40]:=10; Hoặc Readln(DiemTin[1]); Viết chương trình khá dài For i:=1 to 40 Readln(DiemTin[i]); Readln(DiemTin[2]); ……… Readln(DiemTin([40]); For i := … to … Readln(Tenmang[i]); (21) Bài 9: Ví dụ biến mảng c Nhập giá trị cho mảng A 10 với nn= - Sử dụng lệnh Read (Readln) kết hợp với For Các bước Nhập số phần tử mảng Thể pascal Write(‘ Nhap vao so HS:’); Readln(n); Nhập vào giá trị For i:=1 to n phần tử Begin mảng (A[i]) write(‘Diem cho HS thu ’ ,i, ’ : ’); Sử dụng cấu trúc readln(A[i]); lặp để nhập liệu end; (22) Bài 9: Ví dụ biến mảng d In giá trị các phần tử mảng: Ví dụ: In giá trị 40 phần tử mảng DiemTin For i:=1 to 40 Writeln(DiemTin[i]); DiemTin 8 6 … … … … Chỉ số … DiemTin[1] = i DiemTin[4] = For i:= … to … Writeln(Tenmang[i]); … 40 (23) Bài 9: Ví dụ biến mảng d In giá trị các phần tử mảng: Sử dụng lệnh Write (Writeln) kết hợp với For - Thông báo Writeln(‘ Điểm lớp : ’); - In giá trị phần tử For i:=1 to n Write(A[i]:5); - Sử dụng cấu trúc lặp để in liệu Kết trên màn hình: Điểm lớp: 10 (24) Bài 9: Ví dụ biến mảng e Xử lí liệu (tính toán, so sánh, tìm giá trị lớn nhất, nhỏ …) Ví dụ: Tìm học sinh có điểm tin đạt loại giỏi For t := to 40 if DiemTin[t] > 8.0 then writeln(‘Loai Gioi’);  Sử dụng biến mảng và câu lệnh lặp (thường là For…do) giúp cho việc viết chương trình ngắn và dễ dàng (25) Bài 9: b) (26) Bài 9: Củng cố Bài 1: Em hãy chọn đáp án đúng: A Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và phần tử có cùng kiểu liệu B Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và phần tử mảng có thể có các kiểu liệu khác C Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và phần tử có cùng kiểu liệu (27) Bài 9: Củng cố Bài 2: Cách khai báo biến mảng sau đây đúng hay sai? Khoanh tròn vào chỗ sai (nếu có) a) Var X: Array[10 , 13] of Real; a) Sửa dấu , thành dấu b) Var X: Array[3 4.8] of Integer; b) Sửa 4.8 thành số nguyên c) Var X: Array[10 1] of Integer; c) Chỉ số cuối phải >= số đầu d) Var X: Array[4 10] of Real; d) Đúng (28) Bài 9: Củng cố Bài 3: Câu lệnh khai báo biến mảng sau đây máy tính có thực không ? Tại ? Nếu sai thì sửa lại cho đúng ? Var N : Integer ; A: array [ N ] of real ; Câu lệnh trên không thể thực vì số cuối phải là số xác định Var N : Integer ; A: array [ 100] of real ; (29) V A R R M A N G U Y R E A D E A L X Ê N Có 44 Có chữ chữ cái: Là từ khóa lệnh trong chương trình trình Pascal Pascal 3cái: chữ cái: Là từ đểchương khai biến Có Có chữ cái: ChỉLà sốcâu đầu, chỉkhóa số cuối trongbáo khai báo mảng Có 3đểchữ cái: Là tên hàm tìm giá trị lớn nhất? dùng dùng dừng để chương thể trình chờ ta biến nhập kiểu giáthực? trị cho biến? trình Pascal? Thường làchương số…………….? (30) Bài 9: Dữ liệu kiểu mảng là dãy (tập hợp) hữu hạn các phần tử có thứ tự 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ị phần tử biến mảng thực thông qua số tương ứng phần tử đó (tên mảng[chỉ số]) Sử dụng biến mảng và câu lệnh lặp giúp cho việc viết chương trình dễ dàng và ngắn gọn (31) Bài 9: - Học bài cũ - Tìm hiểu thuật toán tìm giá trị lớn nhất, nhỏ dãy số (xem lại ví dụ trang 43 SGK) - Về nhà làm các bài tập 2, 4, trang 79 SGK - Làm các bài tập 9.1, 9.2, 9.3, 9.7 sách bài tập (32) Xin chân thành cảm ơn chú ý theo dõi các thầy cô và các em học sinh ! (33)

Ngày đăng: 10/09/2021, 11:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN