Bài 11. Kiểu mảng

Chia sẻ bởi Trần Bão Dung | 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:

Nhóm 11
một số ví dụ kiểu mảng một chiều
Câu hỏi: Viết chương trình nhập từ bàn phím dãy A gồm 10 số nguyên: a1, a2, a3, a4, a5, a6, a7, a8, a9, a10.
Trả lời:
Program Nhap_So_nguyen;
Uses crt;
Var
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10: integer;
BEGIN
Clrscr;
Writeln(‘Nhap gia tri cua cac so nguyen:’);
Write(‘a1=’); Readln(a1);
Write(‘a2=’); Readln(a2);
Write(‘a3=’); Readln(a3);
Write(‘a4=’); Readln(a4);
Write(‘a5=’); Readln(a5);
Write(‘a6=’); Readln(a6);
Write(‘a7=’); Readln(a7);
Write(‘a8=’); Readln(a8);
Write(‘a9=’); Readln(a9);
Write(‘a10=’); Readln(a10);
Bài toán trên yêu cầu chúng ta thực hiện bao nhiêu công việc?
Bài toán trên đã khai báo bao nhiêu biến? và sử dụng bao nhiêu cặp câu lệnh Write và Readln?
Giả sử yêu cầu của bài toán là nhập vào 100 số nguyên thì chúng ta sẽ phải khai báo bao nhiêu biến? sử dụng bao nhiêu câu lệnh Readln?
Như vậy, bản chất của bài toán là không khó nhưng khi viết chương trình thì phải khai báo rất nhiều biến và lặp đi lặp lại một câu lệnh nhiều lần. Để khắc phục vấn đề này, Pascal cung cấp một kiểu dữ liệu mới là Kiểu mảng
Có 2 cách khai báo biến mảng một chiều
Trực tiếp: var : array[kiểu chỉ số] of ;
Vd: var A: array[1…10]of integer;
Gián tiếp: type =array[kiểu chỉ số] of ;
var : ;
Vd: type MangInt =array [1…10] of integer;
var A: MangInt
Lưu ý: tên mảng và tên biến không được giống nhau. Nếu một sự khai báo như vậy xuất hiện trong chương trình, trình biên dịch sẽ hiển thị thông báo lỗi.
Tham chiếu tới phần tử của mảng: sau khi mảng được khai báo, mỗi phần tử trong mảng đều có chỉ số để tham chiếu
Chỉ số bắt đầu từ số 0 đến n-1(n-1 là miền giới hạn).
Vd: tham chiếu tới nhiệt độ ngày thứ 20 trong chương trình trên, được viết là Nhietdo[20]
- Nhietdo: tên biến, tên của mảng mà ta muốn khai báo
- [20]: số phần tử mà ta muốn khai báo hay còn gọi là kích thước mảng
Như vậy, Nhietdo[20] trong đó Nhietdo chỉ được cho phép nhận 1 trong các giá trị từ1->19 vì mảng khai báo chỉ có 20 phần tử

Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 (n1 ≤ n2)
Tất cả các phần tử của một mảng có cùng kiểu. Điều này có nghĩa là, nếu một mảng được khai báo kiểu int, nó không thể chứa các phần tử có kiểu khác.
Mỗi phần tử của mảng có thể được sử dụng bất cứ nơi nào mà một biến được cho phép hay được yêu cầu.
Một phần tử của mảng có thể được tham chiếu đến bằng cách sử dụng một biến hoặc một biểu thức nguyên.
Ngoài kiểu int còn có các kiểu như char, float, double
Vd: char A[20]; float B[10];
Ví dụ: xét bài toán nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần bằng cách sử dụng kiểu mảng một chiều(SGK)
Cách đưa biến mảng một chiều vào bài toán
Một số ví dụ
Vd1: tìm phần tử lớn nhất của dãy số nguyên
Input: số nguyên dương N (N≤250) và dãy N số nguyên dương A1, A2,…,AN mỗi số đều không vượt quá 500
Output: chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho (nếu có nhiều phần tử lớn nhất chỉ cần đưa ra 1 trong số chúng)
Vd 2:sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Input: số nguyên dương N (N ≤250) và dãy A gồm N nguyên dương A1, A2,…, AN mỗi số nguyên đều không vượt quá 500
Output: dãy số A được sắp xếp thành dãy không giảm
Vd3: tìm kiếm nhị phân
Input: Dãy A là dãy tăng gồm N(N ≤250) số nguyên dương A1, A2,…,AN và số nguyên k
Output: chỉ số I mà Ai =k hoặc thông báo “khong tim thay” nếu không có số hạng nào của dãy A có giá trị bằng k
* 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ẻ: Trần Bão Dung
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)