Bài tập 8 trang 79 SGK Tin học 11

Lý thuyết Bài tập
Câu hỏi:

Bài tập 8 trang 79 SGK Tin học 11

Chương trình sau đây thực hiện những gì?

program BT8;

const NMax = 50;

type Mass = array[1..NMax,0..NMax-1] of real;

var A: Mass;

    i, j, N: byte; C: real;

begin

   write('Nhap N = ? '); readln(N);

   for i:= 1 to N do

     for j:= 0 to N-1 do

           begin

                 write('A[',i,',',j,']= '); readln(A[i,j])

           end;

    for i:= 1 to N do

      for j:= 0 to N-1 do

           begin

  C:= A[i,j];

  A[i,j]:= A[N-i+1,j];

  A[N-i+1,j]:= C

  end;

    for i:= 1 to N do

      begin

           for j:= 0 to N-1 do

           write(A[i,j]:5:2,' ');

           writeln

      end;

end.

Chương trình thực hiện việc hoán đổi vị trí dòng thứ i với dòng thứ N-i+1, nghĩa là hoán đổi vị trí dòng đầu tiên với dòng cuối cùng của mảng hai chiều, dòng thứ hai từ trên xuống với dòng thứ hai từ dưới lên,… Việc hoán đổi vị trí dòng thứ i với dòng đối xứng với nó được thực hiện khi i nhận giá trị từ 1 đến N, làm cho mỗi dòng được hoán đổi vị trí 2 lần. Vì vậy mảng A sau khi hoán đổi không thay đổi so với ban đầu.

 

-- Mod Tin Học 11

Copyright © 2021 HOCTAP247