<< Chapter < Page Chapter >> Page >
Mảng

DỮ LIỆU KIỂU MẢNG (ARRAY)

 

 

I. KHAI BÁO MẢNG

Cú pháp:

     TYPE   <Kiểu mảng>= ARRAY [chỉ số] OF<Kiểu dữ liệu>;

     VAR     <Biến mảng>:<Kiểu mảng>;

hoặc khai báo trực tiếp:

     VAR     <Biến mảng>: ARRAY [chỉ số] OF<Kiểu dữ liệu>;

Ví dụ:

     TYPE    Mangnguyen = Array[1..100] of Integer;

                   Matrix = Array[1..10,1..10] of Integer;

                   MangKytu = Array[Byte] of Char;

     VAR      A: Mangnguyen;

                   M: Matrix;

                   C: MangKytu;

hoặc:

     VAR      A: Array[1..100] of Integer;

                   C: Array[Byte] of Char;

 

II. XUẤT NHẬP TRÊN DỮ LIỆU KIỂU MẢNG

     - Để truy cập đến phần tử thứ k trong mảng một chiều A, ta sử dụng cú pháp: A[k].

     - Để truy cập đến phần tử (i,j) trong mảng hai chiều M, ta sử dụng cú pháp: M[i,j].

     - Có thể sử dụng các thủ tục READ(LN)/WRITE(LN) đối với các phần tử của biến kiểu mảng.

 

BÀI TẬP MẪU

 

Bài tập 1:    Viết chương trình tìm giá trị lớn nhất của một mảng chứa các số nguyên gồm N phần tử.

Ý tưởng:

     - Cho số lớn nhất là số đầu tiên: Max:=a[1].

     - Duyệt qua các phần tử a[i], với i chạy từ 2 tới N: Nếu a[i]>Max thì thay Max:=a[i];

 

Uses Crt;

Type Mang = ARRAY[1..50] Of Integer;

Var  A:Mang;

        N,i,Max:Integer;

Begin

    {Nhập mảng}

    Write(‘Nhap N=’); Readln(N);

    For i:=1 To N Do

        Begin

           Write(‘A[‘,i,’]=’); Readln(A[i]);

        End;

    {Tìm phần tử lớn nhất}

    Max:=A[1];

    For i:=2 To N Do

        If Max<A[i] Then Max:=A[i];

    {In kết quả ra màn hình}

    Writeln(‘Phan tu lon nhat cua mang: ’, Max);

    Readln;

End.

 

Bài tập 2:    Viết chương trình tính tổng bình phương của các số âm trong một mảng gồm N phần tử.

Ý tưởng:

     Duyệt qua tất cả các phần tử A[i] trong mảng: Nếu A[i]<0 thì cộng dồn (A[i])2 vào biến S.

 

Uses Crt;

Type Mang = ARRAY[1..50] Of Integer;

Var  A:Mang;

        N,i,S:Integer;

Begin

    {Nhập mảng}

    Write(‘Nhap N=’); Readln(N);

    For i:=1 To N Do

        Begin

           Write(‘A[‘,i,’]=’); Readln(A[i]);

        End;

    {Tính tổng}

    S:=0;

    For i:=1 To N Do

        If A[i]<0 Then S:=S+A[i]*A[i];

    {In kết quả ra màn hình}

    Writeln(‘S= ’, S);

    Readln;

End.

 

Bài tập 3: Viết chương trình nhập vào một mảng gồm N số nguyên. Sắp xếp lại mảng theo thứ tự tăng dần và in kết quả ra màn hình.

Ý tưởng:

     Cho biến i chạy từ 1 đến N-1, đồng thời cho biến j chạy từ i+1 đến N: Nếu A[i]>A[j] thì đổi chổ A[i], A[j].

 

Uses Crt;

Type Mang = ARRAY[1..50] Of Integer;

Var  A:Mang;

        N,i,j,Tam:Integer;

Begin

    {Nhập mảng}

    Write(‘Nhap N=’); Readln(N);

    For i:=1 To N Do

        Begin

           Write(‘A[‘,i,’]=’); Readln(A[i]);

        End;

    {Sắp xếp}

    For i:=1 To N-1 Do

        For j:=i+1 To N Do

           If A[i]>A[j] Then

               Begin

                   Tam:=A[i]; A[i]:=A[j]; A[j]:=Tam;

               End;

    {In kết quả ra màn hình}

    Writeln(‘Ket qua sau khi sap xep:’);

    For i:=1 To N Do Write(A[i]:5);

    Readln;

End.

 

Bài tập 4: Viết chương trình nhập vào một mảng A gồm N số nguyên và nhập thêm vào một số nguyên X. Hãy kiểm tra xem phần tử X có trong mảng A hay không?

Questions & Answers

how do we prove the quadratic formular
Seidu Reply
hello, if you have a question about Algebra 2. I may be able to help. I am an Algebra 2 Teacher
Shirley Reply
thank you help me with how to prove the quadratic equation
Seidu
may God blessed u for that. Please I want u to help me in sets.
Opoku
what is math number
Tric Reply
4
Trista
x-2y+3z=-3 2x-y+z=7 -x+3y-z=6
Sidiki Reply
Need help solving this problem (2/7)^-2
Simone Reply
x+2y-z=7
Sidiki
what is the coefficient of -4×
Mehri Reply
-1
Shedrak
the operation * is x * y =x + y/ 1+(x × y) show if the operation is commutative if x × y is not equal to -1
Alfred Reply
An investment account was opened with an initial deposit of $9,600 and earns 7.4% interest, compounded continuously. How much will the account be worth after 15 years?
Kala Reply
lim x to infinity e^1-e^-1/log(1+x)
given eccentricity and a point find the equiation
Moses Reply
12, 17, 22.... 25th term
Alexandra Reply
12, 17, 22.... 25th term
Akash
College algebra is really hard?
Shirleen Reply
Absolutely, for me. My problems with math started in First grade...involving a nun Sister Anastasia, bad vision, talking & getting expelled from Catholic school. When it comes to math I just can't focus and all I can hear is our family silverware banging and clanging on the pink Formica table.
Carole
I'm 13 and I understand it great
AJ
I am 1 year old but I can do it! 1+1=2 proof very hard for me though.
Atone
Not really they are just easy concepts which can be understood if you have great basics. I am 14 I understood them easily.
Vedant
hi vedant can u help me with some assignments
Solomon
find the 15th term of the geometric sequince whose first is 18 and last term of 387
Jerwin Reply
I know this work
salma
The given of f(x=x-2. then what is the value of this f(3) 5f(x+1)
virgelyn Reply
hmm well what is the answer
Abhi
If f(x) = x-2 then, f(3) when 5f(x+1) 5((3-2)+1) 5(1+1) 5(2) 10
Augustine
how do they get the third part x = (32)5/4
kinnecy Reply
make 5/4 into a mixed number, make that a decimal, and then multiply 32 by the decimal 5/4 turns out to be
AJ
how
Sheref
A soccer field is a rectangle 130 meters wide and 110 meters long. The coach asks players to run from one corner to the other corner diagonally across. What is that distance, to the nearest tenths place.
Kimberly Reply
Jeannette has $5 and $10 bills in her wallet. The number of fives is three more than six times the number of tens. Let t represent the number of tens. Write an expression for the number of fives.
August Reply
What is the expressiin for seven less than four times the number of nickels
Leonardo Reply
How do i figure this problem out.
how do you translate this in Algebraic Expressions
linda Reply
why surface tension is zero at critical temperature
Shanjida
I think if critical temperature denote high temperature then a liquid stats boils that time the water stats to evaporate so some moles of h2o to up and due to high temp the bonding break they have low density so it can be a reason
s.
Need to simplify the expresin. 3/7 (x+y)-1/7 (x-1)=
Crystal Reply
. After 3 months on a diet, Lisa had lost 12% of her original weight. She lost 21 pounds. What was Lisa's original weight?
Chris Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Lập trình pascal. OpenStax CNX. Sep 30, 2008 Download for free at http://cnx.org/content/col10585/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Lập trình pascal' conversation and receive update notifications?

Ask