Bài 9. Làm việc với dãy số
Chia sẻ bởi Nguyễn Anh Vũ |
Ngày 24/10/2018 |
68
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:
Tại sao khi tham gia các hoạt động tập thể chúng ta thường phải xếp hàng?
Xếp hàng vào lớp
Xếp hàng mua vé xe
Xếp hàng tập thể dục ...
? Việc sắp xếp thành hàng như thế sẽ làm cho các hoạt động được diễn ra trật tự, dễ quản lý và nhanh chóng hơn.
1. Dãy số và biến mảng
Ví dụ:
Với các ngôn ngữ lập trình, khi làm việc với nhiều con số thì sao nhỉ?
? Trong ngôn ngữ lập trình, các dữ liệu thường được bố trí theo dãy ? việc khai báo và xử lí dữ liệu trở nên đơn giản hơn.
Viết chương trình nhập điểm thi học kì môn Tin học của một lớp gồm N học sinh. In ra màn hinh điểm thi cao nhất.
Bài toán đặt vấn đề:
Hãy xác định Input, Output của bài toán trên ?
* Dữ liệu nhập vào (INPUT): diem_1, diem_2, diem_3, diem_4,..., diem_N
* Dữ cần tính và in ra (OUTPUT): Max
Với những câu lệnh đã học , giải bài toán trên sẽ gặp khó khăn gì ?
? Mảng là một dãy hữu hạn các phần tử cùng kiểu
? Biến có kiểu dữ liệu là kiểu mảng được gọi là biến mảng
2. Ví dụ về biến mảng:
Khai báo biến mảng trong Pascal
Var Tên biến : array[< chỉ số đầu>..< chỉ số cuối>] of;
Trong đó:
- Chỉ số đầu, chỉ số cuối : là hai số nguyên hoặc biểu thức nguyên
- Chỉ số đầu ? chỉ số cuối
Var diemtin : array[1..40] of real;
Ví dụ: Var tuoi : array[1..50] of integer;
Var diemtin, diemtoan, diemvan : array[1..40] of real;
Các thông số trong mảng
Điemtin
1 2 3 4 5 6 40
8.0
Khi gán, đọc, tính toán với các giá trị của phần tử thứ i ta viết A[i] VD A[6] := 8.0
? Tên biến mảng : Diemtin
? Số phần tử của mảng ( số học sinh trong lớp) : 40
? Kiểu dữ liệu của các phần tử: Kiểu thực.
Khai báo: Var diemtin : array[1..40] of real;
Diemtin
n
1. NhËp sè phÇn tö ( sè HS) cña m¶ng A
Write(‘ Nhap n= ’);
Readln(n);
2. Nhập vào giá trị của các phần tử trong mảng (diemtin[i] )
For i:=1 to n do
Begin
write(‘diem cua hs thu ’ ,i, ’ : ’);
readln(diemtin[i]);
end;
Các bước
Thể hiện bằng pascal
a. Đọc vào biến mảng
víi n = 7
5.5
8.0
9.5
6.0
4.5
9.0
7.0
Ví dụ: Nhập điểm thi tin học của học sinh trong lớp
Lợi ích của việc sử dụng biến mảng
Writeln(‘ Diem tin hoc cua lop : ’);
For i:=1 to n do
Begin
Textcolor(i); Write(diemtin[i]:4:1);
End;
Diem tin hoc cua lop :
1. Th«ng b¸o
2. In gi¸ trÞ cña c¸c phÇn tö
7.0 9.0 4.5 6.0 9.5 8.0 5.5
Kết quả in ra màn hình:
Ví dụ: In mảng vừa nhập
b. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Bài toán: Viết chương trình nhập điểm thi học kì môn Tin học của một lớp gồm N học sinh. In ra màn hinh điểm thi cao nhất và thấp nhất.
Input:: Dãy số A gồm điểm của N học sinh
Output: Max, Min của dãy số
Hãy nêu ý tưởng tìm số lớn nhất và nhỏ nhất của dãy số
Số này lớn nhất
Số này mới lớn nhất
ồ! Số này lớn hơn
Tìm ra số lớn nhất rồi!
thuật toán tìm max
4.5
6.0
7.0
8.0
9.5
* ý tưởng tìm max:
- Đặt giá trị Max = a1.
- Lần lượt cho i chạy từ 2 đến N, so sánh
giá trị ai với giá trị Max, nếu ai > Max thì
Max nhận giá trị mới là ai.
* Đoạn chương trình
Max:=A[1];
For i:=2 to N do IF (A[i] > Max) Then Max:=A[i];
Program vd1;
Uses crt;
Var
A: Array[1..100] of real;
i,n: integer;
Max,min: real;
BEGIN
Clrscr;
write(` Nhap vao so học sinh : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(` Nhap diem Hs thu `,i,` : `) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(` Diem lon nhat la `, Max:5:1) ;
Min:=A[1];
For i := 2 to n do
If A[i] Writeln(` Diem nho nhat la `, Min:5:1) ;
Readln ;
END.
Khai b¸o biÕn m¶ng
Nhập vào biến mảng
Tìm số lớn nhất và số nhỏ nhất
Nhap vao so hoc sinh :
7
Nhap diem hs thu 1 :
7.0
Nhap diem hs thu 2 :
9.0
Nhap diem hs thu 3 :
4.5
Nhap diem hs thu 4 :
6.0
Nhap diem hs thu 5 :
9.5
Nhap diem hs thu 6 :
8.0
Nhap diem hs thu 7 :
5.5
Diem lon nhat la 9.5
Diem nho nhat la 4.5
Chương trình chạy và cho kết quả như sau:
Ghi nhớ!
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được xắp xếp theo dãy và mọi phần tử đều có cùng một kiểu dữ liệu.
Việc gán giá trị, đọc 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ử đó.
Sử dụng các biến kiểu mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn.
Xếp hàng vào lớp
Xếp hàng mua vé xe
Xếp hàng tập thể dục ...
? Việc sắp xếp thành hàng như thế sẽ làm cho các hoạt động được diễn ra trật tự, dễ quản lý và nhanh chóng hơn.
1. Dãy số và biến mảng
Ví dụ:
Với các ngôn ngữ lập trình, khi làm việc với nhiều con số thì sao nhỉ?
? Trong ngôn ngữ lập trình, các dữ liệu thường được bố trí theo dãy ? việc khai báo và xử lí dữ liệu trở nên đơn giản hơn.
Viết chương trình nhập điểm thi học kì môn Tin học của một lớp gồm N học sinh. In ra màn hinh điểm thi cao nhất.
Bài toán đặt vấn đề:
Hãy xác định Input, Output của bài toán trên ?
* Dữ liệu nhập vào (INPUT): diem_1, diem_2, diem_3, diem_4,..., diem_N
* Dữ cần tính và in ra (OUTPUT): Max
Với những câu lệnh đã học , giải bài toán trên sẽ gặp khó khăn gì ?
? Mảng là một dãy hữu hạn các phần tử cùng kiểu
? Biến có kiểu dữ liệu là kiểu mảng được gọi là biến mảng
2. Ví dụ về biến mảng:
Khai báo biến mảng trong Pascal
Var Tên biến : array[< chỉ số đầu>..< chỉ số cuối>] of
Trong đó:
- Chỉ số đầu, chỉ số cuối : là hai số nguyên hoặc biểu thức nguyên
- Chỉ số đầu ? chỉ số cuối
Var diemtin : array[1..40] of real;
Ví dụ: Var tuoi : array[1..50] of integer;
Var diemtin, diemtoan, diemvan : array[1..40] of real;
Các thông số trong mảng
Điemtin
1 2 3 4 5 6 40
8.0
Khi gán, đọc, tính toán với các giá trị của phần tử thứ i ta viết A[i] VD A[6] := 8.0
? Tên biến mảng : Diemtin
? Số phần tử của mảng ( số học sinh trong lớp) : 40
? Kiểu dữ liệu của các phần tử: Kiểu thực.
Khai báo: Var diemtin : array[1..40] of real;
Diemtin
n
1. NhËp sè phÇn tö ( sè HS) cña m¶ng A
Write(‘ Nhap n= ’);
Readln(n);
2. Nhập vào giá trị của các phần tử trong mảng (diemtin[i] )
For i:=1 to n do
Begin
write(‘diem cua hs thu ’ ,i, ’ : ’);
readln(diemtin[i]);
end;
Các bước
Thể hiện bằng pascal
a. Đọc vào biến mảng
víi n = 7
5.5
8.0
9.5
6.0
4.5
9.0
7.0
Ví dụ: Nhập điểm thi tin học của học sinh trong lớp
Lợi ích của việc sử dụng biến mảng
Writeln(‘ Diem tin hoc cua lop : ’);
For i:=1 to n do
Begin
Textcolor(i); Write(diemtin[i]:4:1);
End;
Diem tin hoc cua lop :
1. Th«ng b¸o
2. In gi¸ trÞ cña c¸c phÇn tö
7.0 9.0 4.5 6.0 9.5 8.0 5.5
Kết quả in ra màn hình:
Ví dụ: In mảng vừa nhập
b. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Bài toán: Viết chương trình nhập điểm thi học kì môn Tin học của một lớp gồm N học sinh. In ra màn hinh điểm thi cao nhất và thấp nhất.
Input:: Dãy số A gồm điểm của N học sinh
Output: Max, Min của dãy số
Hãy nêu ý tưởng tìm số lớn nhất và nhỏ nhất của dãy số
Số này lớn nhất
Số này mới lớn nhất
ồ! Số này lớn hơn
Tìm ra số lớn nhất rồi!
thuật toán tìm max
4.5
6.0
7.0
8.0
9.5
* ý tưởng tìm max:
- Đặt giá trị Max = a1.
- Lần lượt cho i chạy từ 2 đến N, so sánh
giá trị ai với giá trị Max, nếu ai > Max thì
Max nhận giá trị mới là ai.
* Đoạn chương trình
Max:=A[1];
For i:=2 to N do IF (A[i] > Max) Then Max:=A[i];
Program vd1;
Uses crt;
Var
A: Array[1..100] of real;
i,n: integer;
Max,min: real;
BEGIN
Clrscr;
write(` Nhap vao so học sinh : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(` Nhap diem Hs thu `,i,` : `) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(` Diem lon nhat la `, Max:5:1) ;
Min:=A[1];
For i := 2 to n do
If A[i]
Readln ;
END.
Khai b¸o biÕn m¶ng
Nhập vào biến mảng
Tìm số lớn nhất và số nhỏ nhất
Nhap vao so hoc sinh :
7
Nhap diem hs thu 1 :
7.0
Nhap diem hs thu 2 :
9.0
Nhap diem hs thu 3 :
4.5
Nhap diem hs thu 4 :
6.0
Nhap diem hs thu 5 :
9.5
Nhap diem hs thu 6 :
8.0
Nhap diem hs thu 7 :
5.5
Diem lon nhat la 9.5
Diem nho nhat la 4.5
Chương trình chạy và cho kết quả như sau:
Ghi nhớ!
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được xắp xếp theo dãy và mọi phần tử đều có cùng một kiểu dữ liệu.
Việc gán giá trị, đọc 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ử đó.
Sử dụng các biến kiểu mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơ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ẻ: Nguyễn Anh Vũ
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)