Bài 9. Làm việc với dãy số

Chia sẻ bởi Đỗ Thị Minh Thu | Ngày 24/10/2018 | 30

Chia sẻ tài liệu: Bài 9. Làm việc với dãy số thuộc Tin học 8

Nội dung tài liệu:

Kiểm tra bài cũ
Dữ liệu mảng và biến của mảng gọi là gì ?
- Dữ liệu kiểu mảng: là một tập hợp các phần tử có thứ tự, và mọi phần tử đều có cùng một kiểu dữ liệu
- Biến mảng: khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng.
2. Ví dụ về biến mảng
a.Cách khai báo mảng trong Pascal:
9
Tuoi
7
6
8
….
1 2 3 4 …. 40
10
Var Tuoi :
Chieucao
2 3 4 5 …. 20
Var chieucao: array[2..20] of Real;
Chỉ số
array
[1..40]
of Integer;
Chỉ số
Var
Tên mảng :
of ;
array
[ .. ]
1.7
1.5
1.65
1.75
….
1.8
Bài 9:
Làm việc với dãy số
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[ .. ] of ;
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
Bài 9:
Làm việc với dãy số
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 phần tử
Kiểu dữ liệu chung
Chỉ số đầu
Chỉ số cuối
var Chieucao: array[1..50] of real;
Bài 9:
Làm việc với dãy số
Var Tênmảng: array [..] of ;
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Var diem : array[1..40] of real;
Var A: array[1..10] of integer;
B: array[1..10] of integer;
Ví dụ:
Var A ,B: array[1..10] of integer;
2/ Mảng A, B gồm 10 phần tử thuộc kiểu dữ liệu số nguyên?
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?
Bài 9:
Làm việc với dãy số
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
2. Ví dụ về biến mảng
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ể
a) Cách khai báo mảng trong Pascal:
Bài 9:
Làm việc với dãy số
Lưu ý:
Kích thước của mảng phải được khai báo bằng một con số cụ thể
Bài 9:
Làm việc với dãy số
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
Tênmảng: array [..] of ;
VD: DiemTin[1]
 Tham chiếu tới phần tử thứ nhất của mảng DiemTin
Bài 9:
Làm việc với dãy số
2. Ví dụ về biến mảng
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
3 4 5 6 7
Cho mảng A chứa các giá trị sau:
Ví dụ1:
- 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
Bài 9:
Làm việc với dãy số
2. Ví dụ về biến mảng
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
A[3]:=2;
A[4]:=5;
A[6]:=A[3]+A[4];
Ví dụ 2:
Cho các câu lệnh sau:
Giá trị của các phần A[3], A[4], A[6] sẽ là bao nhiêu?
A[3]=2
A[4]=5
A[6]=7
- 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
Có thể thực hiện các thao tác nào với các phần tử trong mảng?
Bài 9:
Làm việc với dãy số
2. Ví dụ về biến mảng
For i:=1 to 40 do Readln(DiemTin[i]);
Ví dụ: Gán giá trị cho 40 phần tử của mảng DiemTin
For i := … to … do Readln(Tenmang[i]);
DiemTin[1]:=5;
DiemTin[2]:=7;
……… DiemTin[40]:=10;
Hoặc Readln(DiemTin[1]);
Readln(DiemTin[2]);
……… Readln(DiemTin([40]);
Viết chương trình khá dài
Bài 9:
Làm việc với dãy số
b) Truy cập đến giá trị phần tử trong mảng:
A
n
1. Nhập số phần tử của mảng.
Write(‘ Nhap vao so HS:’);
Readln(n);
2. Nhập vào giá trị từng phần tử của mảng (A[i]).
For i:=1 to n do
Begin
write(‘Diem cho HS thu ’ ,i, ’ : ’);
readln(A[i]);
end;
Các bước
Thể hiện bằng pascal
với n = 7
9
10
9
6
8
5
7
Sử dụng cấu trúc lặp để nhập dữ liệu
- Sử dụng lệnh Read (Readln) kết hợp với For ... do.
2. Ví dụ về biến mảng
c. Nhập giá trị cho mảng
Bài 9:
Làm việc với dãy số
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:
For i:= … to … do Writeln(Tenmang[i]);
For i:=1 to 40 do Writeln(DiemTin[i]);
DiemTin
Chỉ số
DiemTin[1]
= 8
8
Ví dụ: In giá trị của 40 phần tử trong mảng DiemTin
DiemTin[4]
= 6
6
Bài 9:
Làm việc với dãy số
Writeln(‘ Điểm của lớp : ’);
For i:=1 to n do
Write(A[i]:7);
Điểm của lớp:

- Thông báo
- In giá trị của từng phần tử
7 5 8 6 9 10 9
Kết quả trên màn hình:
- Sử dụng cấu trúc lặp để in dữ liệu
Sử dụng lệnh Write (Writeln) kết hợp với For ... do.
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:
Bài 9:
Làm việc với dãy số (Tiết 1)
Bài 9:
Làm việc với dãy số
3. Tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số:
Bài toán: Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất.
Em hãy nêu thuật toán để tìm số nhỏ nhất và số lớn nhất trong dãy số?
THUẬT TOÁN
B1: max:=a; min:=a; i:=1;
B2: i:= i+1;
B3: Nếu i > n, chuyển đến bước 5.
B4: Nếu ai > max thì max:=ai; ai < min thì
min :=ai.Quay lai bước 2.
B5: Kết thúc thuật toán.
Program vd1;
Uses crt;
Var
i, n, Max, Min: integer ;
A: Array[1..100] of Integer ;

BEGIN
Clrscr;
write(` Nhap so phan tu cua day so: n= `) ; readln(n) ;
For i := 1 to n do
Begin
write(` Nhap so thu `,i,` : `) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(` So lon nhat la max = `, Max) ;
Min:=A[1];
For i := 2 to n do
If A[i] Writeln(` So nho nhat la Min = `, Min) ;
Readln ;
END.
Khai báo biến mảng
Nhập giá trị cho mảng
Tìm số lớn nhất và nhỏ nhất










Nhap so phan tu cua day so: n=
7
Nhap so thu 1 :
7
Nhap so thu 2 :
9
Nhap so thu 3 :
4
Nhap so thu 4 :
6
Nhap so thu 5 :
9
Nhap so thu 6 :
8
Nhap so thu 7 :
5
So lon nhat la Max = 9
So nho nhat la Min = 4
Chương trình chạy và cho kết quả như sau:
Củng cố
Bài tập 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.
Bài 9:
Làm việc với dãy số
b) Var X: Array[3.. 4.8] of Integer;
c) Var X: Array[10 .. 1] of Integer;
d) Var X: Array[4 .. 10] of Real;
a) Var X: Array[10 , 13] of Real;
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) Sửa dấu , thành dấu ..
b) Sửa 4.8 thành số nguyên
c) Chỉ số cuối phải >= chỉ số đầu
d) Đúng
Bài 9:
Củng cố
Làm việc với dãy số
1
2
3
4
5
Có 3 chữ cái: Là từ khóa để khai báo biến
trong chương trình Pascal?
Có 4 chữ cái: Là câu lệnh trong chương trình Pascal
dùng để dừng chương trình chờ ta nhập giá trị cho biến?
Có 4 chữ cái: Là từ khóa trong chương trình Pascal
dùng để thể hiện những biến kiểu thực?
Có 3 chữ cái: Là tên của hàm tìm giá trị lớn nhất?
Có 6 chữ cái: Chỉ số đầu, chỉ số cuối trong khai báo mảng
Thường là những số…………….?
HỌC MÀ VUI - VUI MÀ HỌC
- 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
Bài 9:
HƯỚNG DẪN VỀ NHÀ
Làm việc với dãy số
Tiết học kết thúc
Xin chân thành cảm ơn sự chú ý theo dõi của các học viên
* 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ẻ: Đỗ Thị Minh Thu
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)