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

Chia sẻ bởi Nguyễn Thế Đạt | Ngày 24/10/2018 | 36

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:

Bài 9:
LÀM VIỆC VỚI DÃY SỐ
(Đơn vị: Trường THCS Hạp Lĩnh)
<<<>>>
Em thường nhìn thấy việc xếp hàng tập thể dục, xếp hàng để mua vé, xếp hàng vào lớp…
Tập thể dục
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Qua những quan sát xếp hàng như trên em thấy sắp xếp công việc có lợi ích gì?
Sắp xếp công việc làm cho mọi hoạt động diễn ra một cách trật tự và nhanh chóng…
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Trong lập trình cũng vây nếu biết bố trí dữ liệu theo dãy, việc khai báo và xử lý dữ liệu trở nên đơn giản rất nhiều. Thay vì phải viết nhiều câu lệnh giống nhau, ta có thể dùng vài câu lệnh lặp và nhường lại phần lớn công việc cho máy tính thực hiện
1. Dãy số và biến mảng
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Ví dụ 1. Giả sử chúng ta cần viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất. Vì mỗi biến chỉ có thể lưu một giá trị duy nhất, để có thể nhập điểm và so sánh chúng, ta cần sử dụng nhiều biến, mỗi biến cho một học sinh.
Ở VD này ta có thể cho HS đọc và tìm hiểu câu lệnh khai báo (có thể tổ chức cho học sinh thảo luân nhóm ) để thấy được việc khai báo như thế nào? Dẫn dắt HS theo SGK và dẫn đến giới thiệu dữ liệu kiểu mảng
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Var Diem_1, Diem_2, Diem_3,… : real;
Read(Diem_1); Read(Diem_2), Read(Diem_3) ; …
số học sinh càng nhiều thì đoạn khai báo và đọc dữ liệu trong chương trình càng dài
- Cách khai báo mà em đã học:
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Gợi ý: sử dụng vài câu lệnh lặp để dể xử lý dữ liệu hơn:
+ Với i = 1 đến 50: hãy nhập Diem_i;
+ Với i = 1 đến 50: hãy so sánh Max với Diem_i;
- Để giúp giải quyết các vấn đề trên, hầu hết các ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng.
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số.
Ví dụ : Dữ liệu kiểu mảng
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
- 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.
- Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trị của biến thành phần tương ứng
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
2. Ví dụ về biến mảng
Phần này ta có thể cho HS nghiên cứu các kiến thức có trong từng ví dụ, thảo luận nhóm để trả lời các câu hỏi:
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Ví dụ1: 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
Kiểu dữ liệu
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Tương tự như khai báo biến đơn câu lệnh khai báo mảng được thực hiện ở đâu?
- Ta khai báo biến mảng với kiểu số tương ứng trong phần khai báo.
Khai báo biến mản trong mọi ngôn ngữ lập trình ta cần chỉ rõ những yếu tố nào?
- Cần chỉ rõ: tên biến mảng, số lượng, kiểu dữ liệu của phần tử.
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
- Từ ví dụ ta rút ra:
Tên mảng : array[.. ] of
Giá trị đầu
Giá trị cuối
var Chieucao: array[1..50] of real;
Ví dụ 2: Tiếp tục với ví dụ 1, thay vì khai báo các biến Diem_1, Diem_2, Diem_3,... để lưu điểm số của các học sinh, ta khai báo biến mảng Diem như sau:
var Diem: array[1..50] of real;
* Khai báo như trên có lợi gi?
- Có thể thay rất nhiều câu lệnh nhập và in dữ liệu ra màn hình bằng một câu lệnh lặp.
For i:=1 to 50 do readln(Diem[i]);
- Để so sánh điểm của mỗi học sinh với một giá trị nào đó, ta cũng chỉ cần một câu lệnh lặp, chẳng hạn
For i:=1 to 50 do
if Diem[i]>8.0 then writeln(`Gioi`);
Bài 9:
Để xử lí đồng thời các loại điểm này, ta có thể khai báo nhiều biến mảng:
var DiemToan: array[1..50] of real;
var DiemVan: array[1..50] of real;
var DiemLi: array[1..50] of real;
hay
var DiemToan, DiemVan, DiemLi: array[1..50] of real;
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Sau khi một mảng đã được khai báo, chúng ta có thể làm việc với các phần tử của nó như làm việc với một biến thông thường
* Ta có thể gán giá trị cho các phần tử của mảng:
A[1]:=5;
A[2]:=8;
* Hoặc nhập dữ liệu từ bàn phím bằng câu lệnh lặp:
for i := 1 to 5 do readln(a[i]);
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
VÍ dụ: SGK
Ở phần này ta có thể cho HS đọc ví dụ trong SGK, nhắc lại cho HS về thuật toán tìm Max đã học ở bài 5. Sau đó yêu câu học sinh trình bày lại thuật toán bằng mô tả. Cho học sinh thảo luận nhóm nghiên cứu cách viết chương trình…GV đặt các câu hỏi giúp HS hiểu thuật toán hơn.
Một số câu hỏi:
Theo em mảng A có bao nhiêu phần tử?
Hãy giải thích các câu lệnh có trong phần thân?

Qua ví dụ ta thấy cần lưu ý:
Số các phần tử của mảng(kích thướt của mảng) cần được khai báo bằng một số cụ thể.
Bài 9:
LÀM VIỆC VỚI DÃY SỐ
Củng cố:
CHo HS đọc phần ghi nhớ.
Làm bài tập sau: Các khai báo biến mảng sau đây trong Pascal đúng hay sai?
var X: Array[10,13] Of Integer;
var X: Array[5..10.5] Of Real;
var X: Array[3.4..4.8] Of Integer;
var X: Array[10..1] Of Integer;
var X: Array[4..10] Of Real; :
- Hướng dẫn câu hỏi và bài tập SGK/79
Dặn dò công việc chuẩn bị cho bài thực hành 7
Cám ơn quý thầy cô đã theo dõi
và đóng góp ý kiế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 Thế Đạt
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)