Bài 11. Kiểu mảng
Chia sẻ bởi Hoàng Bá Đạt |
Ngày 10/05/2019 |
203
Chia sẻ tài liệu: Bài 11. Kiểu mảng thuộc Tin học 11
Nội dung tài liệu:
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU
a. Bài toán mở đầu :
Bài toá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 trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần .
Ta có thể dùng 7 biến thực để ghi nhận nhiệt độ trung bình của các ngày trong tuần .
Chương trình giải quyết bài toán có thể viết như sau :
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Program Nhietdotuan ;
Var t1, t2, t3, t4, t5, t6, t7 , tb : Real ; dem : integer ;
- Chương trình
Begin
Write(‘Nhap nhiet do cua 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 t7 > tb Then dem := dem + 1 ;
Writeln(‘Nhiet do trung binh trong tuan : ‘ , tb) ;
Writeln(‘So ngay co nhiet do cao hon nhiet do TB :’,dem ) ;
Readln ;
End .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Bây giờ, nếu muốn giải quyết bài toán trên với N ngày( N có thể khá lớn) thì cách làm như vậy không những đòi hỏI một khốI lượng khai báo quá lớn, mà sau đó đoạn chương trình tính cũng quá dài. Để khắc phục khó khăn đó, Turbo PasCal sử dụng mảng một chiều .
- Chương trình
Khái niệm : Mảng một chiều là dãy các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số .
- Đặt vấn đề
- Khái niệm
- Khai báo
Ví dụ, để lập trình giải bài toán trên ta khai báo kiểu mảng một chiều gồm Max số thực như sau :
Const Max = 7 ;
Type MyArray = Array[1..Max] of Real ;
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Khai báo biến mảng Nhietdo gián tiếp qua kiểu mảng :
Var Nhietdo : MyArray ;
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
Khai báo biến mảng Nhietdo trực tiếp :
Var Nhietdo : Array[1..Max] of Real ;
Vậy chương trình giảI bài toán trên có thể được viết lại như sau :
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Program TinhNhietdo ;
Const Max = 100 ; { giả sử N lớn nhất là
100 }
Type MyArray = Arry[1..Max] of Real ;
Var
Nhietdo : MyArray ;
dem , i , N : integer ;
tb : Real ;
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Begin
Write(‘Nhap so ngay : ‘) ; Readln(N) ;
Tb := 0 ;
For i := 1 To N Do
Begin
Write(‘Nhap nhiet do ngay ‘ , i , ‘:’) ; Readln(Nhietdo[i]) ;
tb := tb + Nhietdo[i] ;
End ;
tb := tb / N ; dem := 0 ;
For i := 1 To N Do
If Nhietdo[i] > tb Then dem := dem + 1 ;
Writeln(‘Nhiet do trung binh : ‘ , tb ) ;
Writeln(‘ So ngay co nhiet do cao hon trung binh : ‘ , dem ) ;
Readln ;
End .
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Tổng quát, trong TP khai báo kiểu mảng một chiều sau :
Type = Array[Kiểu chỉ số] OF
- Chương trình
- Đặt vấn đề
b. Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
Khai báo biến kiểu mảng một chiều sau :
Var = Array[Kiểu chỉ số] OF
@ Kiểu chỉ số là kiểu dữ liệu miền con mà thông thường là một đoạn số nguyên liên tục có dạng n1..n2 , với n1 ,n2 là các biểu thức nguyên xác định chỉ số đầu và chỉ số cuối .
@ Kiểu thành phần là kiểu phần tử mảng .
@ Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [ ] .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Các ví dụ :
Với n là hằng số, các khai báo sau là hợp lệ :
Type
ArrayReal = Array[-100..200] OF Real ;
ArrayBoolean = Array[-n+1..n+1] OF Boolean ;
ArrayInt = Array[-100..0] OF Integer ;
ArrayLong = Array[0..3*(n+1)] OF Longint ;
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
Lưu ý : Nếu n không là hằng số(biến) thì TP sẽ báo lỗi .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Ghi nhớ :
khai báo kiểu mảng một chiều sau :
Type = Array[Kiểu chỉ số] OF
Khai báo biến kiểu mảng một chiều sau :
Var = Array[Kiểu chỉ số] OF
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
Câu hỏi :
TạI sao mảng là kiểu dữ liệu có cấu trúc ?
Các phần tử của mảng có thể có những kiểu gì ?
Tham chiếu đến phần tử của mảng bằng cách nào ?
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
TIẾT 2
BÀI 1
BÀI 1
1.MẢNG MỘT CHIỀU
a. Bài toán mở đầu :
Bài toá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 trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần .
Ta có thể dùng 7 biến thực để ghi nhận nhiệt độ trung bình của các ngày trong tuần .
Chương trình giải quyết bài toán có thể viết như sau :
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Program Nhietdotuan ;
Var t1, t2, t3, t4, t5, t6, t7 , tb : Real ; dem : integer ;
- Chương trình
Begin
Write(‘Nhap nhiet do cua 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 t7 > tb Then dem := dem + 1 ;
Writeln(‘Nhiet do trung binh trong tuan : ‘ , tb) ;
Writeln(‘So ngay co nhiet do cao hon nhiet do TB :’,dem ) ;
Readln ;
End .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Bây giờ, nếu muốn giải quyết bài toán trên với N ngày( N có thể khá lớn) thì cách làm như vậy không những đòi hỏI một khốI lượng khai báo quá lớn, mà sau đó đoạn chương trình tính cũng quá dài. Để khắc phục khó khăn đó, Turbo PasCal sử dụng mảng một chiều .
- Chương trình
Khái niệm : Mảng một chiều là dãy các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số .
- Đặt vấn đề
- Khái niệm
- Khai báo
Ví dụ, để lập trình giải bài toán trên ta khai báo kiểu mảng một chiều gồm Max số thực như sau :
Const Max = 7 ;
Type MyArray = Array[1..Max] of Real ;
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Khai báo biến mảng Nhietdo gián tiếp qua kiểu mảng :
Var Nhietdo : MyArray ;
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
Khai báo biến mảng Nhietdo trực tiếp :
Var Nhietdo : Array[1..Max] of Real ;
Vậy chương trình giảI bài toán trên có thể được viết lại như sau :
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Program TinhNhietdo ;
Const Max = 100 ; { giả sử N lớn nhất là
100 }
Type MyArray = Arry[1..Max] of Real ;
Var
Nhietdo : MyArray ;
dem , i , N : integer ;
tb : Real ;
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Begin
Write(‘Nhap so ngay : ‘) ; Readln(N) ;
Tb := 0 ;
For i := 1 To N Do
Begin
Write(‘Nhap nhiet do ngay ‘ , i , ‘:’) ; Readln(Nhietdo[i]) ;
tb := tb + Nhietdo[i] ;
End ;
tb := tb / N ; dem := 0 ;
For i := 1 To N Do
If Nhietdo[i] > tb Then dem := dem + 1 ;
Writeln(‘Nhiet do trung binh : ‘ , tb ) ;
Writeln(‘ So ngay co nhiet do cao hon trung binh : ‘ , dem ) ;
Readln ;
End .
- Chương trình
- Đặt vấn đề
- Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Tổng quát, trong TP khai báo kiểu mảng một chiều sau :
Type
- Chương trình
- Đặt vấn đề
b. Khái niệm
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
Khai báo biến kiểu mảng một chiều sau :
Var
@ Kiểu chỉ số là kiểu dữ liệu miền con mà thông thường là một đoạn số nguyên liên tục có dạng n1..n2 , với n1 ,n2 là các biểu thức nguyên xác định chỉ số đầu và chỉ số cuối .
@ Kiểu thành phần là kiểu phần tử mảng .
@ Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [ ] .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Các ví dụ :
Với n là hằng số, các khai báo sau là hợp lệ :
Type
ArrayReal = Array[-100..200] OF Real ;
ArrayBoolean = Array[-n+1..n+1] OF Boolean ;
ArrayInt = Array[-100..0] OF Integer ;
ArrayLong = Array[0..3*(n+1)] OF Longint ;
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
Lưu ý : Nếu n không là hằng số(biến) thì TP sẽ báo lỗi .
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
Ghi nhớ :
khai báo kiểu mảng một chiều sau :
Type
Khai báo biến kiểu mảng một chiều sau :
Var
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
Câu hỏi :
TạI sao mảng là kiểu dữ liệu có cấu trúc ?
Các phần tử của mảng có thể có những kiểu gì ?
Tham chiếu đến phần tử của mảng bằng cách nào ?
TIẾT 2
BÀI 1
1.MẢNG MỘT CHIỀU :
a. Bài toán mở đầu :
- Chương trình
- Đặt vấn đề
b. Khái niệm :
- Khai báo
* Gián tiếp
* Trực tiếp
* Chương trình được viết lại
- Cú pháp khai báo tổng quát
c. Ví dụ, ghi nhớ :
TIẾT 2
BÀI 1
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Hoàng Bá Đạt
Dung lượng: |
Lượt tài: 3
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)