Tải bản đầy đủ (.ppt) (32 trang)

LAM VIEC VOI DAY SO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.2 MB, 32 trang )

<span class='text_page_counter'>(1)</span>Giáo viên: Lê Thị Thảo.

<span class='text_page_counter'>(2)</span> 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> do <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, nếu điều kiện sai thì kết thúc, nếu điều kiện đúng thì thực hiện câu lệnh sau đó quay lại kiểm tra điều kiện, vòng lặp cứ thế tiếp tục..

<span class='text_page_counter'>(3)</span> 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 những quan sát xếp hàng như trên em thấy sắp xếp công việc có lợi ích gì?. Tập thể dục.

<span class='text_page_counter'>(4)</span> Bài 9:. Sắp xếp công việc làm cho mọi hoạt Trong lậpratrình biết bố trí động diễn mộtcũng cáchvây trật nếu tự và dữ nhanh liệu theo dãy, việc khai báo và xử lý dữ chóng… liệu trở nên đơn giản rất 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 hiện.

<span class='text_page_counter'>(5)</span>

<span class='text_page_counter'>(6)</span> Bài 9: 1. 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ủa các học sinh trong một lớp Nhập và lưu điểm cho 1 học sinh Nhập và lưu điểm cho 2 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?.

<span class='text_page_counter'>(7)</span> Bài 9: 1. 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 những hạn chế gì?. - Chương trình phải viết khá dài. - Dễ nhầm lẫn giữa các biến khi viết chương trình.

<span class='text_page_counter'>(8)</span> Bài 9: 1. 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 một dãy và đặt một tên chung. phải khắc - Đánh số thứ tự (chỉ Vậy số) cho các biến đó phục như thế. - Sử dụng câu lệnh lặp để xử lí dữ liệu nào? var Diem1 , Diem 2 , Diem Dữ liệu 3 , ........ , Diem 40 : Real ; Read(Diem1); Read(Diem2); Read(Diem3); ….;Readln(Diem40); kiểu mảng. Diem. 7. 9. 5 ……. Chỉ số - Với i=1 đến 40: hãy nhập Diem_i;. 10.

<span class='text_page_counter'>(9)</span> Bài 9: 1. 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 dữ liệu, được sắp xếp thứ tự bằngDữ cáchliệu gán kiểu cho mỗi phần là tử gì? một chỉ số. mảng. A i. 8 1. 12 2. 5 3. 9 4. 17 5. 3 6. Trong đó:  Tên mảng: A  Chỉ số: i  Số phần tử của mảng: 6  Kiểu dữ liệu của 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.

<span class='text_page_counter'>(10)</span> Bài 9: 1. Dãy số và biến mảng * Biến mảng: - Là biến có kiểu dữ liệu là kiểu mảng - Giá trị của biến mảng là một mảng, tức là một dãy số (số nguyên hoặc số thực) - Mỗi số là giá trị của các phần tử tương ứng Giá trị của mảng Biến mảng. A. 17. 13. 20. 10. 9. Chỉ số. 1. 2. 3. 4. 5.

<span class='text_page_counter'>(11)</span> Bài 9: 2. Ví dụ về biến mảng. a.Cách khai báo mảng trong Pascal:. Var Tên mảng : array [<chỉ số đầu> .. <chỉ số cuối>] of <kiểu dữ liệu>;. Tuoi. 7. 6. 8. 9. Chỉ số. 1. 2. 3. 4. …. ….. 10 40. Var Tuoi : array[1..40] of Integer;. Chieucao Chỉ số. 1.5 1.65. 1.75. 1.7. ….. 2 3 4 5 …. Var chieucao: array[2..20] of Real;. 1.8 20.

<span class='text_page_counter'>(12)</span> Bài 9: 2. Ví dụ về biến mảng a. Khai báo mảng một chiều trong Pascal: Var Tên mảng : array[<chỉ số đầu> .. <chỉ số cuối>] of <kiểu dữ liệu>;. Trong đó: - Tên mảng: Do người lập trình đặt - array, of: Là từ khóa của chương trình - Chỉ số đầu, chỉ số cuối: Là 2 số nguyên, thỏa mãn: chỉ số đầu ≤ chỉ số cuối giữa hai chỉ số là dấu .. - Kiểu dữ liệu: Là kiểu của các phần tử, là Integer hoặc Real - Số phần tử = chỉ số cuối – chỉ số đầu + 1.

<span class='text_page_counter'>(13)</span> Bài 9: 2. Ví dụ về biến mảng a) Cách khai báo mảng trong Pascal:. Ví dụ: Cách khai báo đơn giản một biến mảng trong ngôn ngữ Pascal như sau: var Tuoi: array[21..80] of integer; Tên biến. Số lượng pt. Kiểu dữ liệu chung. var Chieucao: array[1..50] of real; Chỉ số đầu. Chỉ số cuối.

<span class='text_page_counter'>(14)</span> Bài 9: 2. Ví dụ về biến mảng a) Cách khai báo mảng trong 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 dữ 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 dữ 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;.

<span class='text_page_counter'>(15)</span> Bài 9: 2. Ví dụ về biến mảng. a) Cách khai báo mảng trong Pascal:. Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện đượ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 của mảng phải được khai báo bằng một con số cụ thể.

<span class='text_page_counter'>(16)</span> Bài 9: Lưu ý:. Kích thước của mảng phải được khai báo bằng một con số cụ thể.

<span class='text_page_counter'>(17)</span> Bài 9: 2. Ví dụ về biến mảng a) Cách khai báo mảng trong 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ử trong 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ứ nhất của mảng DiemTin.

<span class='text_page_counter'>(18)</span> Bài 9: 2. Ví dụ về biến mảng. b) Truy cập đến giá trị phần tử trong 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: 2. 5. 7. 1. 10. 3. 4. 5. 6. 7. - 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.

<span class='text_page_counter'>(19)</span> Bài 9: 2. Ví dụ về biến mảng Có thể thực hiện các b) Truy cập đến giá trị phần tử trong 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ử trong 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ủa các phần A[3], A[4], A[6] sẽ là bao nhiêu? - Có thể gán giá trị, đọc giá trị và thực hiện tính toán với các phần tử trong mảng.

<span class='text_page_counter'>(20)</span> Bài 9: 2. Ví dụ về biến mảng. b) Truy cập đến giá trị phần tử trong mảng: Ví dụ: Gán giá trị cho 40 phần tử của 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 do Readln(DiemTin[i]);. Readln(DiemTin[2]); ……… Readln(DiemTin([40]); For i := … to … do Readln(Tenmang[i]);.

<span class='text_page_counter'>(21)</span> Bài 9: 2. Ví dụ về biến mảng c. Nhập giá trị cho mảng. A. 7. 5. 8. ....... 6. 9. 10. 9. với nn= 7. - Sử dụng lệnh Read (Readln) kết hợp với For ... do. Các bước 1. Nhập số phần tử của mảng.. Thể hiện bằng pascal Write(‘ Nhap vao so HS:’);. Readln(n); 2. Nhập vào giá trị For i:=1 to n do từng phần tử của 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 dữ liệu end;.

<span class='text_page_counter'>(22)</span> Bài 9: 2. Ví dụ về biến mảng d. In giá trị các phần tử của mảng: Ví dụ: In giá trị của 40 phần tử trong mảng DiemTin For i:=1 to 40 do Writeln(DiemTin[i]); DiemTin. 8 8. 6. 7. 6 6. …. …. …. ….. Chỉ số. 1. 2. 3. 4. ….. DiemTin[1] = 8. i. DiemTin[4] = 6. For i:= … to … do Writeln(Tenmang[i]);. ….. 40.

<span class='text_page_counter'>(23)</span> Bài 9: 2. Ví dụ về biến mảng d. In giá trị các phần tử của mảng:. Sử dụng lệnh Write (Writeln) kết hợp với For ... do. - Thông báo. Writeln(‘ Điểm của lớp : ’);. - In giá trị của từng phần tử. For i:=1 to n do. Write(A[i]:5); - Sử dụng cấu trúc lặp để in dữ liệu. Kết quả trên màn hình: Điểm của lớp: 7. 5. 8. 6. 9 10. 9.

<span class='text_page_counter'>(24)</span> Bài 9: 2. Ví dụ về biến mảng e. Xử lí dữ liệu (tính toán, so sánh, tìm giá trị lớn nhất, nhỏ nhất …) Ví dụ: Tìm những học sinh có điểm tin đạt loại giỏi For t := 1 to 40 do 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 được ngắn ngọn và dễ dàng hơn.

<span class='text_page_counter'>(25)</span> Bài 9:. b).

<span class='text_page_counter'>(26)</span> 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à mọi phần tử có cùng một kiểu dữ liệu. B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau . C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu..

<span class='text_page_counter'>(27)</span> 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 >= chỉ số đầu. d) Var X: Array[4 .. 10] of Real;. d) Đúng.

<span class='text_page_counter'>(28)</span> 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 hiện được không ? Tại sao ? Nếu sai thì sửa lại cho đúng ? Var N : Integer ; A: array [ 1 .. N ] of real ; Câu lệnh trên không thể thực hiện được vì chỉ số cuối phải là 1 số xác định Var N : Integer ; A: array [ 1 .. 100] of real ;.

<span class='text_page_counter'>(29)</span> 1 2 3 4 5. 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 trong chương trình trình Pascal Pascal 3cái: chữ cái: Là từ đểchương khai biến Có Có 6 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 của hàm tìm giá trị lớn nhất? dùng dùng dừng để chương thể hiện trình những chờ ta biến nhập kiểu giáthực? trị cho biến? trong trình Pascal? Thường làchương những số…………….?.

<span class='text_page_counter'>(30)</span> Bài 9:. Dữ liệu kiểu mảng là một dãy (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. 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ả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 hơn..

<span class='text_page_counter'>(31)</span> 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ỏ nhất của dãy số (xem lại ví dụ 6 trang 43 SGK) - Về nhà làm các bài tập 2, 4, 5 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.

<span class='text_page_counter'>(32)</span> Xin chân thành cảm ơn sự chú ý theo dõi của các thầy cô và các em học sinh !.

<span class='text_page_counter'>(33)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×