Bài 11. Kiểu mảng
Chia sẻ bởi Đỗ Quốc Bảo |
Ngày 10/05/2019 |
55
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:
Một số văn bản trình bày dưới dạng bảng
Thời Khóa Biểu
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ VỀ
DỰ TIẾT HỌC TIN HỌC LỚP 11
Bài toán 1
Viết chương trình cho phép nhập vào nhiệt độ trung bình các ngày trong tuần rồi xuất ra màn hình nhhiệt độ trung bình trong tuần
Input:
?
?
Output
t1, t2, t3, t4, t5, t6, t7
Tb
Thuật toán
B1: Nhập t1, t2, t3, t4, t5, t6, t7
B2:Tb (t1+ t2+ t3+ t4+ t5+ t6+ t7):7
B3: Xuất Tb
Readln(t1, t2, t3, t4, t5, t6, t7);
Tb:=(t1+ t2+ t3+ t4+ t5+ t6+t7)/7;
Writeln(‘nhiet do T.binh trong tuan ’, Tb:5:1);
Begin
Readln
End.
Var t1, t2, t3, t4, t5, t6, t7, Tb: real;
Writeln(‘nhap vao nhiet do 7 ngay’);
Chương trình
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 (ví dụ N=365). Thì sẽ gặp những khó khăn gì?
Khó khăn
Vart1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14, t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28, t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,
t43,t44,t45,t46,t47,t48,t49,t50,……….,t365, TB: real;
Begin
…………………….
Tb:=(t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14,+ t15+t16+t17+t18+t19+t20+t21+t22+t23+t24+t25+t26+t27+t28+t29+t30+t31+t32+t33+t34+t35+t36+t37+t38+t39+t40+t41+t42+
T43+t44+t45+t46+t47+t48+t49+t50+……….+t365)/365;
…………………………….
Readln;
End.
Khai báo số lượng biến quá nhiều
Câu lệnh tính toán dài dòng dễ sai.
Để khắc phục khó khăn trên, ta sử dụng kiểu dữ liệu mảng một chiều.
BÀI 11. KIỂU MẢNG
CHƯƠNG IV
KIỂU DỮ LIỆU CÓ CẤU TRÚC
A
1 2 3 4 5 6 7
Trong đó :
Khi tham chiếu đến các phần tử:
Tên biến mảng :
Số phần tử của mảng:
Vd1:
Kiểu dữ liệu của các phần tử:
34.1
A
7
Kiểu thực
A[5] = 34.1.
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
1. KHÁI NIỆM MẢNG MỘT CHIỀU
2. Khai báo mảng một chiều trong PASCAL
Kiểu chỉ số thường là một đoạn số nguyên liên tục: [n1..n2]
Ví dụ1:
Chú ý:
[1..7]
[1..N]
[2..8]
?
* Cách 1: Khai báo trực tiếp
Var: array[Kiểu chỉ số] of ;
* Cách 1: Khai báo trực tiếp
Var: array[Kiểu chỉ số] of ;
Var T : array[ 1..7 ] of real;
Ví dụ 2: Khai báo biến mảng lưu trữ giá trị nhiệt độ 7 ngày trong tuần
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
Var: array[Kiểu chỉ số] of ;
T
Const max=365;
Var T : array [1..max] of real;
Ví dụ 3: Khai báo biến mảng lưu trữ giá trị nhiệt độ N ngày trong năm
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
Var: array[Kiểu chỉ số] of ;
Var T : array [1..365] of real;
Hoặc
TYPE = array[Kiểu chỉ số] of ;
Var : ;
2. Khai báo mảng một chiều trong PASCAL
* Cách 2: Khai báo gián tiếp
Ví dụ 1: Khai báo biến mảng lưu trữ giá trị nhiệt độ 7 ngày trong tuần
TYPE mang1 = array[1..7] of real;
Var T : mang1;
TYPE kmang = array[1..7] of real;
Var C : kmang;
Ví dụ 2: Khai báo biến mảng có tên C với kiểu dữ liệu là kiểu mảng có tên kiểu là kmang
C
1 2 3 4 5 6 7
* Cách 2: Khai báo gián tiếp
TYPE = array[Kiểu chỉ số] of ;
Var : ;
3. Tham chiếu tới phần tử mảng
Cú pháp:[chỉ số]
A
1 2 3 4 5 6 7
Vd1:
A[1]=32.5 A[6]=28.6
32.5
28.6
4. Nhập mảng 1 chiều
Nhập giá trị cho biến mảng 1 chiều A có tối đa 7 phần tử
Readln(A[1]);
…
Readln(A[ 7]);
A
1 2 3 4 5 6 7
For i:= 1 to 7 Do readln(A[i]);
N
N
N
For i:=1 To N Do begin
Writeln(‘nhap phan tu thu’,i);
Readln(A[i]);
end;
5. Xuất mảng 1 chiều
Xuất giá trị biến mảng 1 chiều A có tối đa N phần tử
Writeln(A[1]);
…
Writeln(A[N]);
For i:= 1 to N Do Writeln(A[i]);
For i:=1 To N Do begin
Write(‘phan tu thu’,i);
Writeln(A[i]);
end;
Readln(t1, t2, t3, t4, t5, t6, t7);
Tb:=(t1+ t2+ t3+ t4+ t5+ t6+t7)/7;
Writeln(‘nhiet do T.binh trong tuan ’, Tb:5:1);
Readln
End.
Var t1, t2, t3, t4, t5, t6, t7, Tb: real;
Writeln(‘nhap vao nhiet do 7 ngay’);
* Giải quyết bài toán 1 bằng kiểu dữ liệu mảng
T: Array [1..7] of real;
Var T: Array [1..7] of real;
Tb,S: real; i: integer;
For i:=1 to 7 do begin write(‘Nhiet do ngay thu’,i);
readln(T[i]);
end;
Begin
S:=0;
For i:=1 to 7 do S:=S+T[i];
Tb:=S/7;
N
[1..365] of real;
N
N;
{Nhập N}
Chương trình chạy và cho kết quả như sau
Nhiet do ngay thu 1
Nhiet do ngay thu 2
Nhiet do ngay thu 3
Nhiet do ngay thu 4
Nhiet do ngay thu 5
Nhiet do ngay thu 6
Nhiet do ngay thu 7
Nhiet do trung binh trong tuan
18
30
25
26
29
23
20
24.4
Câu Hỏi Củng Cố Kiến Thức
Cho Khai báo biến mảng có tên B với kiểu dữ liệu là kiểu mảng có tên kiểu H
Chọn khai báo đúng
A. Type B= array [1..12] of integer;
Var H: B;
B. Type H= array [1…12] of integer;
Var B: H;
C.Type H = array [1..12] of integer;
Var B: H;
B
1 2 3 4 5 6 7 8 9 10 11 12
Câu 1
A.Var A : array[1…100] of byte;
B. Var A : array[1. .100] of byte;
C. Var 1A : array[1..100] of real;
D.Type mang = array[0..100] of integer;
var A: kmang;
Câu 2.Cú pháp câu lệnh nào sau đây là đúng
Câu 3: Cú pháp câu lệnh nào sau đây là sai
A. Const N=100;
Var mang : array[1..n] of real;
B. Var A,B : array[1..50] of byte;
C. Type mang:array[-100,100] of integer;
D. Var mang : array[m..n] of real;
Một số kiểu dữ liệu chuẩn đã học
- Kiểu số nguyên
- Kiểu số thực
- Kiểu kí tự
- Kiểu logic
word
byte
Integer
Longint
Real
Extended
Char
Boolean
Thời Khóa Biểu
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ VỀ
DỰ TIẾT HỌC TIN HỌC LỚP 11
Bài toán 1
Viết chương trình cho phép nhập vào nhiệt độ trung bình các ngày trong tuần rồi xuất ra màn hình nhhiệt độ trung bình trong tuần
Input:
?
?
Output
t1, t2, t3, t4, t5, t6, t7
Tb
Thuật toán
B1: Nhập t1, t2, t3, t4, t5, t6, t7
B2:Tb (t1+ t2+ t3+ t4+ t5+ t6+ t7):7
B3: Xuất Tb
Readln(t1, t2, t3, t4, t5, t6, t7);
Tb:=(t1+ t2+ t3+ t4+ t5+ t6+t7)/7;
Writeln(‘nhiet do T.binh trong tuan ’, Tb:5:1);
Begin
Readln
End.
Var t1, t2, t3, t4, t5, t6, t7, Tb: real;
Writeln(‘nhap vao nhiet do 7 ngay’);
Chương trình
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 (ví dụ N=365). Thì sẽ gặp những khó khăn gì?
Khó khăn
Vart1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14, t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28, t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,
t43,t44,t45,t46,t47,t48,t49,t50,……….,t365, TB: real;
Begin
…………………….
Tb:=(t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14,+ t15+t16+t17+t18+t19+t20+t21+t22+t23+t24+t25+t26+t27+t28+t29+t30+t31+t32+t33+t34+t35+t36+t37+t38+t39+t40+t41+t42+
T43+t44+t45+t46+t47+t48+t49+t50+……….+t365)/365;
…………………………….
Readln;
End.
Khai báo số lượng biến quá nhiều
Câu lệnh tính toán dài dòng dễ sai.
Để khắc phục khó khăn trên, ta sử dụng kiểu dữ liệu mảng một chiều.
BÀI 11. KIỂU MẢNG
CHƯƠNG IV
KIỂU DỮ LIỆU CÓ CẤU TRÚC
A
1 2 3 4 5 6 7
Trong đó :
Khi tham chiếu đến các phần tử:
Tên biến mảng :
Số phần tử của mảng:
Vd1:
Kiểu dữ liệu của các phần tử:
34.1
A
7
Kiểu thực
A[5] = 34.1.
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
1. KHÁI NIỆM MẢNG MỘT CHIỀU
2. Khai báo mảng một chiều trong PASCAL
Kiểu chỉ số thường là một đoạn số nguyên liên tục: [n1..n2]
Ví dụ1:
Chú ý:
[1..7]
[1..N]
[2..8]
?
* Cách 1: Khai báo trực tiếp
Var
* Cách 1: Khai báo trực tiếp
Var
Var T : array[ 1..7 ] of real;
Ví dụ 2: Khai báo biến mảng lưu trữ giá trị nhiệt độ 7 ngày trong tuần
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
Var
T
Const max=365;
Var T : array [1..max] of real;
Ví dụ 3: Khai báo biến mảng lưu trữ giá trị nhiệt độ N ngày trong năm
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
Var
Var T : array [1..365] of real;
Hoặc
TYPE
Var
2. Khai báo mảng một chiều trong PASCAL
* Cách 2: Khai báo gián tiếp
Ví dụ 1: Khai báo biến mảng lưu trữ giá trị nhiệt độ 7 ngày trong tuần
TYPE mang1 = array[1..7] of real;
Var T : mang1;
TYPE kmang = array[1..7] of real;
Var C : kmang;
Ví dụ 2: Khai báo biến mảng có tên C với kiểu dữ liệu là kiểu mảng có tên kiểu là kmang
C
1 2 3 4 5 6 7
* Cách 2: Khai báo gián tiếp
TYPE
Var
3. Tham chiếu tới phần tử mảng
Cú pháp:
A
1 2 3 4 5 6 7
Vd1:
A[1]=32.5 A[6]=28.6
32.5
28.6
4. Nhập mảng 1 chiều
Nhập giá trị cho biến mảng 1 chiều A có tối đa 7 phần tử
Readln(A[1]);
…
Readln(A[ 7]);
A
1 2 3 4 5 6 7
For i:= 1 to 7 Do readln(A[i]);
N
N
N
For i:=1 To N Do begin
Writeln(‘nhap phan tu thu’,i);
Readln(A[i]);
end;
5. Xuất mảng 1 chiều
Xuất giá trị biến mảng 1 chiều A có tối đa N phần tử
Writeln(A[1]);
…
Writeln(A[N]);
For i:= 1 to N Do Writeln(A[i]);
For i:=1 To N Do begin
Write(‘phan tu thu’,i);
Writeln(A[i]);
end;
Readln(t1, t2, t3, t4, t5, t6, t7);
Tb:=(t1+ t2+ t3+ t4+ t5+ t6+t7)/7;
Writeln(‘nhiet do T.binh trong tuan ’, Tb:5:1);
Readln
End.
Var t1, t2, t3, t4, t5, t6, t7, Tb: real;
Writeln(‘nhap vao nhiet do 7 ngay’);
* Giải quyết bài toán 1 bằng kiểu dữ liệu mảng
T: Array [1..7] of real;
Var T: Array [1..7] of real;
Tb,S: real; i: integer;
For i:=1 to 7 do begin write(‘Nhiet do ngay thu’,i);
readln(T[i]);
end;
Begin
S:=0;
For i:=1 to 7 do S:=S+T[i];
Tb:=S/7;
N
[1..365] of real;
N
N;
{Nhập N}
Chương trình chạy và cho kết quả như sau
Nhiet do ngay thu 1
Nhiet do ngay thu 2
Nhiet do ngay thu 3
Nhiet do ngay thu 4
Nhiet do ngay thu 5
Nhiet do ngay thu 6
Nhiet do ngay thu 7
Nhiet do trung binh trong tuan
18
30
25
26
29
23
20
24.4
Câu Hỏi Củng Cố Kiến Thức
Cho Khai báo biến mảng có tên B với kiểu dữ liệu là kiểu mảng có tên kiểu H
Chọn khai báo đúng
A. Type B= array [1..12] of integer;
Var H: B;
B. Type H= array [1…12] of integer;
Var B: H;
C.Type H = array [1..12] of integer;
Var B: H;
B
1 2 3 4 5 6 7 8 9 10 11 12
Câu 1
A.Var A : array[1…100] of byte;
B. Var A : array[1. .100] of byte;
C. Var 1A : array[1..100] of real;
D.Type mang = array[0..100] of integer;
var A: kmang;
Câu 2.Cú pháp câu lệnh nào sau đây là đúng
Câu 3: Cú pháp câu lệnh nào sau đây là sai
A. Const N=100;
Var mang : array[1..n] of real;
B. Var A,B : array[1..50] of byte;
C. Type mang:array[-100,100] of integer;
D. Var mang : array[m..n] of real;
Một số kiểu dữ liệu chuẩn đã học
- Kiểu số nguyên
- Kiểu số thực
- Kiểu kí tự
- Kiểu logic
word
byte
Integer
Longint
Real
Extended
Char
Boolean
* 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ẻ: Đỗ Quốc Bảo
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)