Một sô bài Pascal

Gia sư Tài Đức Việt, xin giới thiệu một số bài pascal tới các bạn sinh viên và các em học sinh.

Bài 1: 1 cơ quan có n cán bộ (1< =n <=200) Hãy nhập tuổi của mỗi cán bộ , sau đó cho biết tuổi lớn nhất, nhỏ nhất trong cơ quan? và chỉ ra có bao nhiêu cán bộ 50 tuổi?

Giải

Program bai1;

Const Nmax = 200;

Var A: array [1..Nmax] of byte;

            N, i, Max, Min, dem: byte;

Begin

Witeln(‘N =’); Readln(N);

For I := 1 to N do

            Begin

            Writeln(‘A[’,i,’] = ’);

            Readln(A[i]);

            End;

Max := A[1]; Min := A[1]; dem := 0;

For I := 1 to N do

            Begin

            If A[i] > Max then Max := A[i];

            If A[i] < Min then Min := A[i];

            If A[i] = 50 then inc(dem);

            End;

Writeln(‘Tuoi lon nhat la:’, Max : 2);

Writeln(‘Tuoi nho nhat la:’, Min : 2);

Writeln(‘So can bo 50 tuoi la:’, dem : 2);

Readln;

End.

 

 

Bài 2: Cho ma trận vuông cấp n (1<=n <=100) các phần tử của ma trận A là các số nguyên từ 0 –> 10. ?

a) tìm ma trận chuyển vị của ma trận A?

b) In ra màn hình ma trận tam giác của A ma trận tam giác trên của A?

c) in ra màn hình ma trận tam giac dưới của A?

d) Tính tổng phần tử trên đường chéo chính?

Giải

Program Bai2;

Const Nmax =  100;

Var A, B: Array [1..Nmax,1..Nmax] of byte;

            N, i,j: byte;     

Begin

Randomize;

Writeln(‘N = ’); Readln(N);

For I := 1 to N do

For j := 1 to N do

            A[i,j] := Random(N);

{phan a – ma tran chuyen vi}

 

For i := 1 to N do

For j := 1 to N do

            B[i,j] := A[j,i];

Writeln(‘Ma tran chuyen vi cua A la’);

For i := 1 to N do

            Begin

For j := 1 to N do

            Write(A[i,j] : 2);

Writeln;

            End;

 

{phan b,c – ma tran tam giac tren, duoi}

 

For i := 1 to N do

For j := 1 to N do

            Begin

            If  i > j then C[i,j] := 0 else C[i,j] := A[i,j];

            If i < j then D[i,j] := 0 else D[i,j] := A[i,j];

            End;

Writeln(‘Ma tran tam giac trên cua A la’);

For i := 1 to N do

            Begin

For j := 1 to N do

            Write(C[i,j] : 2);

Writeln;

            End;

Writeln(‘Ma tran tam giac duoi cua A la’);

For i := 1 to N do

            Begin

For j := 1 to N do

            Write(D[i,j] : 2);

Writeln;

            End;

{phan d – tong duong cheo chinh}

tong := 0;

For i := 1 to N do tong := tong + A[i,i];

Writeln(‘Tong phan tu duong cheo chinh la:’, tong: 2);

Readln;

End.

About Toàn Lê