Viết chương trình mô phỏng việc tổ chức cân 13 quả táo bằng ba lần cân theo yêu cầu nêu trên. Thông báo ra màn hình khối lượng của quả táo cần tìm và chỉ rõ rằng quá táo tìm được có khối lượng nặng hơn hay nhẹ hơn so với 12 quả còn lại. Dữ liệu về quả táo có khối lượng khác do người sử dụng chương trình nắm giữ.
Lưu ý:
1. Trọng lượng của các quả táo là một số nguyên dương được nhập từ bàn phím.
2. Cân bàn hai bên là cân có hai bàn cân chia đều hai bên với khối lượng ban đầu (chưa cân) bằng nhau. Trong khi cân, nếu cân thăng bằng thì khối lượng hai bên bằng nhau; nếu cân lệch thì bàn cân bên nào thấp hơn sẽ có khối lượng lớn hơn.
(Đề thi chọn Học sinh giỏi Tin học cấp THCS tỉnh An Giang năm 2016 - Câu 3)
Mã nguồn:
Mã: Chọn tất cả
Uses Crt;
Var M : Array[1..13] Of Integer;
i, A, B, C, D : Integer;
Begin
ClrScr;
Write('Nhap khoi luong 13 qua tao: ');
For i := 1 To 13 Do Read(M[i]);
ReadLn;
A := M[1] + M[2] + M[3] + M[4];
B := M[5] + M[6] + M[7] + M[8];
C := M[9] + M[10] + M[11] + M[1];
D := M[3] + M[4] + M[5] + M[6];
{ Lan 1 }
If A = B Then Begin
{ Lan 2 }
If C = D Then Begin
{ Lan 3 }
If M[12] = M[1] Then WriteLn('Qua 13 khac nhat! ', M[13]);
If M[12] > M[1] Then WriteLn('Qua 12 nang! ', M[12]);
If M[12] < M[1] Then WriteLn('Qua 12 nhe! ', M[12]);
End;
If C > D Then Begin
If M[9] = M[10] Then WriteLn('Qua 11 nang! ', M[11]);
If M[9] > M[10] Then WriteLn('Qua 9 nang! ', M[9]);
If M[9] < M[10] Then WriteLn('Qua 10 nang! ', M[10]);
End;
If C < D Then Begin
If M[9] = M[10] Then WriteLn('Qua 11 nhe! ', M[11]);
If M[9] > M[10] Then WriteLn('Qua 10 nhe! ', M[10]);
If M[9] < M[10] Then WriteLn('Qua 9 nhe! ', M[9]);
End;
End;
If A > B Then Begin
If C = D Then Begin
If M[7] = M[8] Then WriteLn('Qua 2 nang! ', M[2]);
If M[7] > M[8] Then WriteLn('Qua 8 nhe! ', M[8]);
If M[7] < M[8] Then WriteLn('Qua 7 nhe! ', M[7]);
End;
If C > D Then Begin
If M[5] = M[6] Then WriteLn('Qua 1 nang! ', M[1]);
If M[5] > M[6] Then WriteLn('Qua 6 nhe! ', M[6]);
If M[5] < M[6] Then WriteLn('Qua 5 nhe! ', M[5]);
End;
If C < D Then Begin
If M[3] = M[1] Then WriteLn('Qua 4 nang! ', M[4]);
If M[3] > M[1] Then WriteLn('Qua 3 nang! ', M[3]);
End;
End;
If A < B Then Begin
If C = D Then Begin
If M[7] = M[8] Then WriteLn('Qua 2 nhe! ', M[2]);
If M[7] > M[8] Then WriteLn('Qua 7 nang! ', M[7]);
If M[7] < M[8] Then WriteLn('Qua 8 nang! ', M[8]);
End;
If C > D Then Begin
If M[3] = M[1] Then WriteLn('Qua 4 nhe! ', M[4]);
If M[3] < M[1] Then WriteLn('Qua 3 nhe! ', M[3]);
End;
If C < D Then Begin
If M[5] = M[6] Then WriteLn('Qua 1 nhe! ', M[1]);
If M[5] > M[6] Then WriteLn('Qua 5 nang! ', M[5]);
If M[5] < M[6] Then WriteLn('Qua 6 nang! ', M[6]);
End;
End;
Readln;
End.