Presentation is loading. Please wait.

Presentation is loading. Please wait.

BÀI 11: KIỂU MẢNG BÀI DỰ THI BÀI GIẢNG E-LEANRING

Similar presentations


Presentation on theme: "BÀI 11: KIỂU MẢNG BÀI DỰ THI BÀI GIẢNG E-LEANRING"— Presentation transcript:

1 BÀI 11: KIỂU MẢNG BÀI DỰ THI BÀI GIẢNG E-LEANRING
SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH ĐIỆN BIÊN TRƯỜNG THPT THỊ XÃ MƯỜNG LAY BÀI DỰ THI BÀI GIẢNG E-LEANRING BÀI 11: KIỂU MẢNG TIẾT 20 CHƯƠNG TRÌNH TIN HỌC LỚP 11 GIÁO VIÊN : NGUYỄN THANH THẢO MƯỜNG LAY : 20/01/2014

2 Có thể dùng cấu trúc rẽ nhánh để mô tả cấu trúc lặp được không ?
KIỂM TRA BÀI CŨ Có thể dùng cấu trúc rẽ nhánh để mô tả cấu trúc lặp được không ? A) Được B) Không Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Đáp án của bạn là: Rất tiếc bạn đ? sai Chúc mừng ban Đáp án đúng là Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

3 Có thể dùng cấu trúc rẽ nhánh dạng thiếu để mô tả cấu trúc rẽ nhánh dạng đủ được không ?
A) B) Không Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Đáp án của bạn là: Chúc mừng ban Rất tiếc bạn đ? sai Đáp án đúng là Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

4 Phát biểu nào trong các phát biểu sau đây là sai ?
Câu lệnh sau Do sẽ được thực hiện ít nhất 1 lần ; B) Câu lệnh sau Do có thể sẽ không được thực hiện ít nhất 1 lần ; C) Câu lệnh sau Do không được phép là một câu lệnh While-do Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Đáp án của bạn là: Rất tiếc bạn đ? sai Chúc mừng ban Đáp án đúng là Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

5 BẠN CẦN ÔN LAI NỘI DUNG BÀI CŨ

6 Hãy xác định Input, Output và viết chương trình giải bài toán trên
BÀI TOÁN ĐẶT VẤN ĐỀ : Nhập vào nhiệt độ trung bình của mỗi ngày trong tuần. Tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày có nhiệt độ trung bình cao hơn nhiệt độ trung bình trong tuần Hãy xác định Input, Output và viết chương trình giải bài toán trên * Dữ liệu nhập vào (Input): t1,t2,t3,t4,t5,t6,t7. * Dữ liệu cần tính và In ra (OUTPUT): tb, dem.

7 write(‘ Nhap vao nhiet do 7 ngay : ’); readln(t1,t2,t3,t4,t5,t6,t7);
Program nhietdotb; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb : real; dem : integer; BEGIN write(‘ Nhap vao nhiet do 7 ngay : ’); readln(t1,t2,t3,t4,t5,t6,t7); tb : = (t1+t2+t3+t4+t5+t6+t7)/7; dem : = 0 ; if (t1>tb) then dem := dem + 1; if (t2>tb) then dem := dem + 1; if (t3>tb) then dem := dem + 1; if (t4>tb) then dem := dem + 1; if (t5>tb) then dem := dem + 1; if (t6>tb) then dem := dem + 1; if (t7>tb) then dem : = dem + 1; Writeln(‘ Nhiet do trung binh trong tuan = ‘,tb : 6 : 2); Writeln(‘ so ngay co nhiet do cao hon nhiet do tb ‘, dem); Readln; END.

8 Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều
Khai báo quá lớn (T1,t2,t3…t365) và chương trình quá dài ( với 365 lệnh IF ) Quan sát chương trình hãy cho biết nếu muốn tính nhiệt độ trung bình của N ngày trong năm (VD: N=365) thì sẽ gặp khó khăn gì ? Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều

9 1. Khái niệm Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu Ví dụ: A 17 20 18 25 19 12 19 Trong đó :  Tên mảng : A.  Số phần tử của mảng : 7.  Kiểu dữ liệu của các phần tử : Kiểu Nguyên Khi tham chiếu đến phần tử thứ I ta viết A[i]. Ví dụ: A[5] = 19.

10 2. Khai báo mảng một chiều trong PASCAL
*Cách 1 : Khai báo gián tiếp TYPE <tên kiểu mảng> = array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu phần tử>; Var <ds biến mảng> : <tên kiểu mảng>; Trong đó :  Chỉ số đầu, chỉ số cuối thường là các hằng hoặc biểu thức nguyên;  Chỉ số đầu  chỉ số cuối;  Giữa 2 chỉ số là dấu .. Ví dụ: TYPE nhietdo = array[1..365] of integer; Var A: nhietdo;

11 * C¸ch 2: Khai b¸o trùc tiÕp
Var <Ds biến mảng > : array[<chỉ số đầu>..<chỉ số cuối>] of <kiểuphần tử>; Ví dụ: Var nhietdo : array[1..365] of integer; Var A,B : array[1..100] of real;

12 3. Các thao tác xử lí trong mảng một chiều
a. Nhập mảng một chiều Ví dụ: Nhập nhiệt độ n ngày. A 17 20 18 21 19 17 19 Với n = 7 n THỂ HIỆN BẰNG PASCAL CÁC BƯỚC Write(‘ Nhap vao so ngay:’); Readln(n); 1. NhËp sè phÇn tö cña m¶ng (n). For i:=1 to n do Begin write(‘nhiet do ngay thu’ ,i, ’ : ’); readln(A[i]); end; 2. NhËp vµo gi¸ trÞ cña c¸c phÇn tö trong m¶ng (A[i]).

13 b. In mảng một chiều Ví dụ: In mảng vừa nhập. - Thông báo Writeln(‘ Mang vua nhap : ’); - In giá trị của các phần tử For i:=1 to n do Write(A[i]:5); Kết quả in ra màn hình: Mang vua nhap:

14 c . Các thao tác khi xử lý khác.
* Đếm các phần tử trong mảng thoả mãn điều kiện cho trước . dem :=0; For i :=1 to n do IF A[i]>TB then dem:=dem+1; Ví dụ : Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB cả tuần i 1 2 3 4 5 6 7 19 17 21 18 20 A[i] 20 21 19 19 TB = 18.7 Dem=0 1 1 2 3 3 4 +1 +1 +1 +1

15 Đếm số phần tử thoả mãn điều kiện
Program vd1; Uses crt; Var A: Array[1..366] of integer; i,n,dem: integer; S,TB : real ; BEGIN Clrscr; write(‘ Nhap vao so ngay : ’) ; readln(n) ; S := 0 ; For i := 1 to n do Begin write(‘ Nhap nhiet do ngay thu ‘,i,’ : ‘) ; readln(A[i]) ; S:=S+A[i] ; End; TB := S/n ; dem := 0 ; For i := 1 to n do If A[i]>TB Then dem := dem+1; Writeln(‘ Nhiet do trung binh ’ ,n,’ ngay = ‘,TB : 6 : 2) ; Writeln(‘ So ngay co nhiet do cao hon nhiet do TB la: ‘, dem) ; Readln ; END. Khai báo mảng một chiều Nhập mảng 1 chiều Tính tổng Đếm số phần tử thoả mãn điều kiện

16 Chương trình chay với kết quả như sau:
7 Nhap vao so ngay : Nhap nhiet do ngay thu 1 : 17 Nhap nhiet do ngay thu 2 : 20 Nhap nhiet do ngay thu 3 : 18 Nhap nhiet do ngay thu 4 : 21 Nhap nhiet do ngay thu 5 : 19 Nhap nhiet do ngay thu 6 : 17 Nhap nhiet do ngay thu 7 : 19 Nhiet do trung binh 7 ngay = So ngay co nhiet do cao hon nhiet do TB la: 4

17 * Tính tổng các phần tử trong mảng thoả mãn điều kiện cho trước
Ví dụ: Tính tổng các phần tử trong mảng chia hết cho 3. S :=0; For i :=1 to n do IF A[i] mod 3 = 0 then S:=S+A[i]; 19 12 18 25 16 20 15 S = 45 Thông thường, các thao tác xử lí trong mảng một chiều đều dùng câu lệnh FOR...DO.

18 Củng cố !  M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu.
 Khai b¸o: tªn m¶ng, chØ sè ®Çu, chØ sè cuèi, kiÓu phÇn tö. Var A: ARRAY[1..100] OF integer; Tham chiÕu phÇn tö m¶ng: Tªn biÕn m¶ng[chØ sè phÇn tö] A[5] = 18  NhiÒu thao t¸c xö lÝ m¶ng dïng cÊu tróc lÆp FOR ..TO.. DO.

19 BÀI TẬP & CỦNG CỐ 1. Khái niệm 2. Khai báo mảng một chiều trong PASCAL
*Cách 1 : Khai báo gián tiếp * C¸ch 2: Khai b¸o trùc tiÕp 3. Các thao tác xử lí trong mảng một chiều a. Nhập mảng một chiều b. In mảng một chiều c . Các thao tác khi sử lý khác.

20 Phát biểu nào sau đây là đúng ?
Mảng một chiều là dãy vô hạn các phần tử cùng kiểu dữ liệu B) Mảng một chiều là dãy hữu hạn các phần tử khác kiểu dữ liệu C) Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu dữ liệu Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Câu trả lời của bạn là : Bạn đ? trả lời sai Chúc mừng bạn Đáp án là : Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

21 Các phần tử của mảng có thể có những kiểu gì ?
Kiểu số nguyên B) kiểu số thực C) Các kiểu dữ liệu chuẩn (đơn giản) D) Kiểu kí tự và kiểu logic Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Câu trả lời của bạn là : Bạn đ? trả lời sai Chúc mừng bạn Đáp án là : Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

22 Hãy chọn khai báo sai trong các khai báo sau đây
Type A= array[-5..5] of real ; Var A=B; B) Type A= array[-5..5] of real ; Var A:B; C) Type mang: array[-5..5] of real ; Var C:mang; Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Câu trả lời của bạn là : Bạn đ? trả lời sai Chúc mừng bạn Đáp án là : Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

23 Giả sử ta có khai báo mảng như sau Var A:array[1..10] of Char ;
Để có được giá trị M thì ta cần tham chiếu như thế nào ? 1 2 3 4 5 6 7 8 9 10 a b E d H i L M o P Đúng -Bấm chuột vào chỗ bất kỳ để tiếp tục Sai - Bấm chuột vào chỗ bất kỳ để tiếp tục Câu trả lời của bạn là : Chúc mừng bạn Bạn đ? trả lời sai Đáp án là : Bạn phải hoàn thành câu trả lời trước khi tiếp tục Trả lời Xoá

24 BẠN LÊN THAM GIA HỌC LẠI BÀI
HỌC NÀY

25 CHÚC MỪNG BẠN BẠN LÀ MỘT HỌC VIÊN GIỎI

26 Tài liệu tham khảo Sách giáo khoa tin học lớp 11 nhà xuất bản giáo dục
Chuẩn kiến thức kỹ năng tin học11 nhà xuất bản giáo dục


Download ppt "BÀI 11: KIỂU MẢNG BÀI DỰ THI BÀI GIẢNG E-LEANRING"

Similar presentations


Ads by Google