Bài 11. Kiểu mảng
Chia sẻ bởi Nguyễn Diệu Linh |
Ngày 10/05/2019 |
63
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:
BÀI 11
KIỂU MẢNG
NỘI DUNG BÀI HỌC
Kiểu mảng một chiều
Kiểu mảng hai chiều
Bài toán tìm Max của dãy số
Input: Số tự nhiên N và dãy gồm N số nguyên dương
Output: giá trị lớn nhất của dãy
Giải thuật
Tổ chức dữ liệu
Lập trình
Mảng một chiều là một dãy hữu hạn 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ố
Để mô tả mảng một chiều cần quan tâm:
Kiều dữ liệu các phần tử
Cách đánh số thứ tự các phần tử
Kiểu mảng một chiều
Xét ví dụ
Ví dụ: Nhập vào nhiệt độ (trung bình) của các ngày trong một tuần, tính nhiệt độ trung bình của tuần đó và số lượng ngày có nhiệt độ cao hơn nhiệt độ trung bình
Input
Output:
Giải thuật
Tổ chức dữ liệu
Giải bài toán với đầu vào(Input) là N ngày và nhiệt độ của N ngày, tính trung bình nhiệt độ các ngày được nhập vào khi đó các bước giải có gì bất lợi
??????????????
Kiểu dữ liệu mảng một chiều có thể sử dụng trong bài toán nào?
Sắp xếp dãy N số nguyên
Bài toán tìm kiếm
Bài toán tìm ước chung lớn nhất, bội chung nhỏ nhất của hai số nguyên dương
Bài toán tính tổng một dãy số
Khai báo
Cách 1 – khai báo trực tiếp có dạng
Var:array[kiểu chỉ số] of ;
Cách 2 – khai báo gián tiếp
Định nghĩa kiểu mảng
Khai báo thông qua tên kiểu được định nghĩa
Type=array[kiểu chỉ số] of ;
Var:;
Chú ý: kiểu chỉ số có thể tùy trường hợp, tùy bài toán khai báo khác nhau
Tham chiếu đến một phần tử của mảng
Các phần tử của mảng một chiều hoàn toàn giống các biến thông thường có thể tham gia vào biểu thức, có thể được nhập từ bàn phím…
Cách tham chiếu
Tênbiếnmảng[chỉ số phần tử]
Ví dụ
Minh họa cách lưu trữ các phần tử của mảng A
Ví dụ nếu có khai báo
Var b:array[-20..-16] of integer;
Ta có thể mô tả mảng b như sau
Một số ví dụ
Tìm giá trị Max(Min) của dãy số
Sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Thuật toán tìm kiếm nhị phân
Kiểu mảng hai chiều
Vấn đề: Cần tính toán và đưa ra màn hình bảng nhân
Kiểu dữ liệu mảng hai chiều
Là bảng các giá trị cùng kiểu
Có thể xem là một dãy các hàng, mỗi hàng cùng kiểu là một dãy các mảng một chiều một mảng các mảng một chiều
Khai báo
Khai báo trực tiếp
Khai báo gián tiếp
Var:array[kiểu chỉ số dòng,kiểu chỉ số cột] of ;
Type=array[kiểu chỉ số dòng,kiểu chỉ số cột] of ;
Var:;
Tham chiếu đến một phần tử
Xác định tên mảng, chỉ số dòng và chỉ số cột
Cách tham chiếu
[chỉ số dòng, chỉ số cột]
Ví dụ: để tham chiếu đến phần tử ở dòng 4 cột 3 của mảng b ta viết b[4,3]
Ví dụ
Ví dụ 1: tính và đưa ra màn hình bảng nhân
Ví dụ 2: Nhập vào 1 bảng các phần tử và số k, in ra các giá trị của bảng nhỏ hơn k
Chú ý
Các biến mảng thường có số lượng các phần tử lớn lưu ý kích thước khi khai báo
Còn có kiểu mảng nhiều chiều
File chương trình nguồn viết bằng Pascal
File chương trình nguồn viết bằng Pascal
File chương trình nguồn ví dụ thuật toán sắp xếp
Chương trình minh họa thuật toán tìm kiếm nhị phân
Chương trình minh họa TKNP
KIỂU MẢNG
NỘI DUNG BÀI HỌC
Kiểu mảng một chiều
Kiểu mảng hai chiều
Bài toán tìm Max của dãy số
Input: Số tự nhiên N và dãy gồm N số nguyên dương
Output: giá trị lớn nhất của dãy
Giải thuật
Tổ chức dữ liệu
Lập trình
Mảng một chiều là một dãy hữu hạn 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ố
Để mô tả mảng một chiều cần quan tâm:
Kiều dữ liệu các phần tử
Cách đánh số thứ tự các phần tử
Kiểu mảng một chiều
Xét ví dụ
Ví dụ: Nhập vào nhiệt độ (trung bình) của các ngày trong một tuần, tính nhiệt độ trung bình của tuần đó và số lượng ngày có nhiệt độ cao hơn nhiệt độ trung bình
Input
Output:
Giải thuật
Tổ chức dữ liệu
Giải bài toán với đầu vào(Input) là N ngày và nhiệt độ của N ngày, tính trung bình nhiệt độ các ngày được nhập vào khi đó các bước giải có gì bất lợi
??????????????
Kiểu dữ liệu mảng một chiều có thể sử dụng trong bài toán nào?
Sắp xếp dãy N số nguyên
Bài toán tìm kiếm
Bài toán tìm ước chung lớn nhất, bội chung nhỏ nhất của hai số nguyên dương
Bài toán tính tổng một dãy số
Khai báo
Cách 1 – khai báo trực tiếp có dạng
Var
Cách 2 – khai báo gián tiếp
Định nghĩa kiểu mảng
Khai báo thông qua tên kiểu được định nghĩa
Type
Var
Chú ý: kiểu chỉ số có thể tùy trường hợp, tùy bài toán khai báo khác nhau
Tham chiếu đến một phần tử của mảng
Các phần tử của mảng một chiều hoàn toàn giống các biến thông thường có thể tham gia vào biểu thức, có thể được nhập từ bàn phím…
Cách tham chiếu
Tênbiếnmảng[chỉ số phần tử]
Ví dụ
Minh họa cách lưu trữ các phần tử của mảng A
Ví dụ nếu có khai báo
Var b:array[-20..-16] of integer;
Ta có thể mô tả mảng b như sau
Một số ví dụ
Tìm giá trị Max(Min) của dãy số
Sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Thuật toán tìm kiếm nhị phân
Kiểu mảng hai chiều
Vấn đề: Cần tính toán và đưa ra màn hình bảng nhân
Kiểu dữ liệu mảng hai chiều
Là bảng các giá trị cùng kiểu
Có thể xem là một dãy các hàng, mỗi hàng cùng kiểu là một dãy các mảng một chiều một mảng các mảng một chiều
Khai báo
Khai báo trực tiếp
Khai báo gián tiếp
Var
Type
Var
Tham chiếu đến một phần tử
Xác định tên mảng, chỉ số dòng và chỉ số cột
Cách tham chiếu
Ví dụ: để tham chiếu đến phần tử ở dòng 4 cột 3 của mảng b ta viết b[4,3]
Ví dụ
Ví dụ 1: tính và đưa ra màn hình bảng nhân
Ví dụ 2: Nhập vào 1 bảng các phần tử và số k, in ra các giá trị của bảng nhỏ hơn k
Chú ý
Các biến mảng thường có số lượng các phần tử lớn lưu ý kích thước khi khai báo
Còn có kiểu mảng nhiều chiều
File chương trình nguồn viết bằng Pascal
File chương trình nguồn viết bằng Pascal
File chương trình nguồn ví dụ thuật toán sắp xếp
Chương trình minh họa thuật toán tìm kiếm nhị phân
Chương trình minh họa TKNP
* 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 Diệu Linh
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)