Mối quan tâm đến lập trình tăng lên hàng năm. Và nếu ở các cơ sở chuyên viết chương trình mà họ dựa vào ngôn ngữ lập trình như C ++, thì ở các trường học và trường kỹ thuật, sinh viên được làm quen với "Pascal". Và đã có nền tảng của ngôn ngữ này, họ bắt đầu hiểu được lập trình thông qua việc sử dụng phần mềm Delphi. Cần lưu ý ngay rằng các ngôn ngữ lập trình này cung cấp một không gian rộng lớn cho trí tưởng tượng của họ. Và nếu với sự trợ giúp của ngôn ngữ Pascal, bạn có thể làm quen với các khái niệm cơ bản của lập trình, thì với Delphi, bạn đã có thể viết một chương trình chính thức. Và một vị trí khá quan trọng trong việc viết chương trình đôi khi bị chiếm bởi việc giải các mảng trong "Pascal".
Sự hiện diện của một số lượng lớn các biến rất khác nhau
Có khá nhiều biến khác nhau trong một ngôn ngữ lập trình, được đặc trưng bởi sự hiện diện của chỉ một giá trị. Chúng có thể lưu trữ một giá trị duy nhất có một loại nhất định. Các biến chuỗi là ngoại lệ. họ đanglà một tập hợp các dữ liệu mà kiểu ký tự là đặc trưng. Nhưng ngay cả những biến như vậy cũng thường được xem xét từ vị trí của một giá trị riêng biệt.
Không có gì bí mật khi với sự trợ giúp của máy tính, bạn có thể giảm đáng kể thời gian thực hiện một số công việc liên quan đến lượng lớn dữ liệu. Nhưng làm thế nào, khi chỉ sử dụng những biến có các kiểu mà con người biết đến, có thể lưu trữ kết quả công việc trong bộ nhớ và cũng xử lý những dữ liệu có chứa một số lượng lớn các hàng? Những nhiệm vụ như vậy khá phổ biến trong bất kỳ lĩnh vực hoạt động nào.
Tất nhiên, bạn luôn có thể nhập nhiều biến số tùy ý để đạt được mục tiêu của mình. Bạn cũng có thể xác định một số giá trị cho chúng. Nhưng mã của chương trình sẽ chỉ tăng từ này. Rất khó để đọc mã có nhiều dòng. Đặc biệt là khi cần tìm lỗi.
Theo đó, các lập trình viên đã suy nghĩ về câu hỏi này. Đó là lý do tại sao các ngôn ngữ đã được phát triển cho đến nay đều có các biến số như vậy để có thể lưu trữ một lượng lớn dữ liệu trong chính chúng. Mảng trong "Pascal" đã thay đổi rất nhiều trong cách tiếp cận lập trình. Do đó, nó được coi là một biến quan trọng trong ngôn ngữ lập trình.
Sử dụng mảng có thể giảm đáng kể kích thước mã
Theo thuật ngữ này là ẩn một chuỗi dữ liệu có thứ tự, được đặc trưng bởi một kiểu. Ngoài ra, tất cả dữ liệu này có cùng một tên. Nó cũng nênCần lưu ý rằng nhiều đối tượng trong thế giới thực có thể phù hợp với định nghĩa này: từ điển, phim hoạt hình, v.v. Tuy nhiên, cách dễ nhất để trình bày một mảng trong "Pascal" là dưới dạng một loại bảng. Mỗi ô riêng lẻ chứa một biến. Sử dụng tọa độ, bạn có thể xác định vị trí của biến mà nó sẽ chiếm trong bảng tổng quát.
Mảng một chiều có nghĩa là gì?
Bảng đơn giản nhất là bảng tuyến tính. Trong mảng này, để xác định vị trí của tham số, chỉ cần xác định một số là đủ. Các mảng phức tạp hơn được hình thành dựa trên chúng.
Để mô tả mảng một chiều trong "Pascal", chỉ cần nhập mã sau: Nhập Array of.
Các số là những biến có thể có kiểu thứ tự. Khi chỉ định một phạm vi, cần hiểu rằng số ban đầu không được cao hơn số cuối cùng. Kiểu mà các phần tử mảng có hoàn toàn có thể là bất kỳ thứ gì - chuẩn hoặc đã được mô tả trước đó. Sự lựa chọn sẽ phụ thuộc vào nhu cầu giải quyết một vấn đề cụ thể.
Mảng tuyến tính được mô tả như thế nào?
Có thể mô tả ngay mảng một chiều trong "Pascal". Điều này phải được thực hiện trong một phần đặc biệt, cần thiết cho quy trình cụ thể này. Bạn sẽ cần nhập mã sau: Var: Array Of.
Để hiểu cách bạn có thể mô tả một mảng trong "Pascal", bạn nên nhập mã sau:
- Var
- S, VV: Array [5..50] Of Real;
- K: Array [‘C’.. ‘R’] Of Integer;
- Z: Mảng [-10..10] Của Word;
- E: Array [3..30] Of Real.
Trong ví dụ này, các biến S, VV và T là một mảng các số thực. Biến K ẩn kiểu ký tự và các phần tử đó. Đó là những số nguyên. Mảng Z lưu trữ các số có kiểu là Word.
Trong số tất cả các hành động có thể được sử dụng khi làm việc với một mảng, phép gán có thể được phân biệt. Toàn bộ bảng có thể bị ảnh hưởng bởi nó. Ví dụ, S:=VV. Nhưng cần hiểu rằng các phép gán chỉ có thể được thực hiện đối với một mảng trong "Pascal" có kiểu nhất định.
Không có thêm thao tác nào có thể được thực hiện trên toàn bộ mảng cùng một lúc. Tuy nhiên, bạn có thể làm việc với các phần tử theo cách tương tự như với các số nguyên tố khác có một kiểu nhất định. Để tham chiếu đến một tham số riêng lẻ, bạn phải chỉ định tên của mảng. Bằng cách sử dụng dấu ngoặc vuông, bạn phải xác định chỉ số đặc trưng của phần tử mong muốn. Ví dụ: K [12].
Sự khác biệt chính giữa mảng và các biến khác
Sự khác biệt cơ bản giữa các thành phần bảng và các biến đơn giản là có thể đặt trong ngoặc không chỉ giá trị chỉ mục, mà còn cả một biểu thức như vậy có thể dẫn đến giá trị mong muốn. Một ví dụ về cách xưng hô gián tiếp có thể là: V [K]. Trong trường hợp này, biến K nhận một giá trị nào đó. Từ đâytheo đó bạn có thể sử dụng một vòng lặp khi điền, xử lý và in một mảng.
Hình thức tổ chức này có thể xảy ra trong trường hợp các biến chuỗi có thuộc tính đủ gần với các mảng kiểu Char. Nhưng cũng có những điểm khác biệt. Chúng như sau:
- Biến chuỗi luôn có thể được nhập từ bàn phím và in trên màn hình.
- Biến chuỗi có độ dài giới hạn. Bạn có thể nhập tối đa 255 ký tự. Kích thước quan trọng của mảng là 64 kb.
Có thể sử dụng những phương thức nào để hiển thị dữ liệu mảng trên màn hình?
Bạn nên chú ý đến cách hiển thị nội dung của mảng. Có một số.
- Writeln (A [1], A [2], A [3]). Một ví dụ như vậy, mặc dù nguyên thủy, có thể chỉ ra cách bạn có thể truy cập trực tiếp vào từng phần tử riêng lẻ vốn có trong bảng. Tuy nhiên, một số ưu điểm của mảng Pascal so với các biến đơn giản không được hiển thị ở đây.
-
Program A1;
Var B: Array [1..10] Of Integer;
K: Integer;
Begin
For K:=1 To 10 Do {Lệnh này lặp với tham số}
Readln (A [K]); {A [I] đang được nhập bằng bàn phím}
For K:=10 Downto 1 Do {Bảng đang được in theo thứ tự ngược lại}
Write (A [K], 'VVV') End.
Một đoạn mã tương tự của chương trình dành cho mảng trong "Pascal" cho thấy cách bạn có thể nhập 10 số bằng bàn phím, in chúng ra, sắp xếp lại các giá trị theo thứ tự ngược lại. Nếu chương trình tương tự được viết lại từsử dụng một số lượng lớn các biến thay vì một mảng, khi đó mã sẽ được tăng lên đáng kể. Và điều này làm phức tạp rất nhiều quá trình đọc chương trình.
Tăng khả năng thông qua việc sử dụng các mảng
Cũng có thể điền vào bảng các giá trị bằng bình phương của các chỉ số phần tử. Cũng có thể tạo một mảng chuỗi như vậy trong "Pascal", nó sẽ cho phép tất cả các số được nhập tự động. Như bạn có thể thấy, việc sử dụng một mảng sẽ nâng cao đáng kể khả năng của ngôn ngữ lập trình Pascal.
Xử lý mảng tuyến tính rất phổ biến trong các tác vụ khác nhau. Vì vậy, việc chúng được nghiên cứu trong các viện, trường không có gì là lạ. Ngoài ra, các khả năng mà mảng mang lại là khá rộng rãi.
Điều gì ẩn dưới mảng hai chiều?
Bạn có thể tưởng tượng một bảng bao gồm nhiều hàng cùng một lúc. Mỗi hàng riêng lẻ chứa một số ô. Trong tình huống như vậy, để xác định chính xác vị trí của các ô, cần phải đánh dấu không phải một chỉ mục, như trường hợp với mảng tuyến tính, mà là hai - số đặc trưng cho một hàng và một cột. Mảng hai chiều trong "Pascal" được đặc trưng bởi một biểu diễn tương tự.
Làm thế nào để mô tả các bảng loại này?
Cấu trúc dữ liệu được tìm thấy trong ngôn ngữ Pascal để lưu trữ các giá trị của một bảng như vậy làtên của mảng hai chiều. Mô tả một mảng như vậy có thể sử dụng ngay lập tức bằng hai phương pháp.
- Var B: Mảng [1..15] Mảng [1..30] Số nguyên;
- Var B: Mảng [1..15, 1..30] Số nguyên.
Trong tất cả các trường hợp này, một mảng hai chiều được mô tả, có 15 hàng và 30 cột. Những mô tả đã được đưa ra ở trên là hoàn toàn tương đương. Để bắt đầu làm việc với bất kỳ một phần tử nào, cần phải phân bổ hai chỉ số. Ví dụ: A [6] [5] hoặc A [6, 5].
Kết quả xuất ra màn hình sẽ gần giống như trong trường hợp mảng một chiều. Bạn chỉ cần chỉ định hai chỉ mục. Về mọi khía cạnh khác, không có sự khác biệt như vậy nên không cần phải nói dài dòng.
Cách đầu tiên để sắp xếp
Đôi khi cần phải sắp xếp dữ liệu. Đối với điều này, ngôn ngữ có các lệnh tương ứng. Có hai thuật toán mà một mảng có thể được sắp xếp trong Pascal. Ý nghĩa của phương pháp lựa chọn trực tiếp nằm ở chỗ bằng cách lồng vòng lặp, hoàn toàn mọi biến bảng sẽ được so sánh với các giá trị khác. Nói cách khác, nếu có một mảng gồm 15 số, thì số 1 đầu tiên sẽ được so sánh với các số khác. Điều này sẽ xảy ra cho đến khi, chẳng hạn, phần tử lớn hơn số đầu tiên được tìm thấy. Sau đó, việc so sánh sẽ diễn ra chính xác con số này. Điều này sẽ được lặp lại cho đến khi lớn nhất được tìm thấy.phần tử từ tất cả được đề xuất. Phương pháp này khá đơn giản đối với những lập trình viên mới bắt đầu làm việc với ngôn ngữ này.
Phương pháp sắp xếp mảng thứ hai
Cách thứ hai là bong bóng. Bản chất của kỹ thuật này nằm ở chỗ các phần tử lân cận được so sánh theo từng cặp. Ví dụ: 1 và 2, 2 và 3, 3 và 4, v.v. Trong trường hợp giá trị được tìm thấy hoàn toàn tuân thủ các điều kiện sắp xếp, nó sẽ được chuyển đến cuối toàn bộ mảng, tức là nó sẽ bật lên dưới dạng "Bong bóng". Thuật toán này là khó nhớ nhất. Tuy nhiên, bạn không cần phải xay nó. Điều chính là hiểu toàn bộ cấu trúc của mã. Và chỉ trong trường hợp này, người ta mới có thể tuyên bố đạt được những đỉnh cao trong lập trình.
Kết
Chúng tôi hy vọng bạn hiểu mảng là gì và cách bạn có thể sắp xếp để tìm một giá trị cụ thể hoặc đạt được một mục tiêu cụ thể. Nếu bạn đã chọn "Pascal" để giải quyết một vấn đề cụ thể, trong đó mảng chiếm một vị trí quan trọng, thì bạn sẽ cần phải tiếp cận nghiên cứu của chúng một cách kỹ lưỡng. Điều này bị ảnh hưởng bởi một yếu tố như sự hiện diện trong ngôn ngữ của một số lượng đủ lớn các biến được sử dụng trong các tình huống nhất định để đơn giản hóa toàn bộ mã. Mảng được coi là đại lượng chính một cách hợp lý, việc nghiên cứu chúng phải diễn ra liên tục.