Uses crt;
Var i, n, max: integer ;
a: array[1..100] of integer;
Begin
Clrscr;
Write(‘Nhap so phan tu cua mang n = ‘); Readln(n);
For i:=1 to n do begin Write(‘a[‘,i,’] = ‘); Readln(a[i]) end;
Max:= a[1];
For i:= 2 to n do If max < a[i] then max:=a[i] ;
Write(‘Gia tri lon nhat cua mang A la: ‘,max);
Readln
End.
Quảng cáo
1 câu trả lời 497
Chương trình này có chức năng tìm giá trị lớn nhất trong một mảng số nguyên. Để hiểu rõ hơn về cách hoạt động của chương trình, chúng ta có thể phân tích từng dòng code như sau:
```pascal
Program Tim_max;
Uses crt;
Var
i, n, max: integer;
a: array[1…100] of integer;
Begin
Clrscr;
Write('Nhap so phan tu cua mang n = ');
Readln(n);
For i:=1 to n do
begin
Write('a[',i,'] = ');
Readln(a[i]);
end;
Max:= a[1];
For i:= 2 to n do
If max < a[i] then
max:=a[i];
Write('Gia tri *** nhat cua mang A la: ',max);
Readln;
End.
```
Dòng 1: Khai báo chương trình với tên `Tim_max`.
Dòng 2-3: Sử dụng thư viện `crt` để xóa màn hình và khai báo các biến `i`, `n`, `max` và mảng `a`.
Dòng 5-6: Hiển thị thông báo yêu cầu người dùng nhập số phần tử của mảng và đọc giá trị đó vào biến `n`.
Dòng 8-11: Sử dụng vòng lặp `for` để yêu cầu người dùng nhập giá trị cho từng phần tử của mảng `a` và lưu giá trị đó vào mảng tại vị trí tương ứng.
Dòng 13: Gán giá trị của phần tử đầu tiên trong mảng `a` cho biến `max`.
Dòng 14-17: Sử dụng vòng lặp `for` để duyệt qua từng phần tử trong mảng `a` và so sánh giá trị của phần tử đó với giá trị hiện tại của biến `max`. Nếu giá trị của phần tử lớn hơn giá trị của biến `max`, thì gán giá trị của phần tử đó cho biến `max`.
Dòng 19-20: Hiển thị giá trị lớn nhất của mảng `a` ra màn hình và đợi người dùng nhấn phím bất kỳ để kết thúc chương trình.
Chương trình này sử dụng thuật toán duyệt tuyến tính (linear search) để tìm giá trị lớn nhất trong mảng. Độ phức tạp của thuật toán này là O(n), với n là số phần tử trong mảng.
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
44988 -
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
34460 -
Đã trả lời bởi chuyên gia
30241 -
Hỏi từ APP VIETJACK27169
-
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
21825
