Nhập xuất và tính tổng các phần tử trong mảng.
Ví dụ: A: 1 5 6 7 4
Kết quả: Tong S = 23
Hướng dẫn: Để giải quyết bài toán cần phải đảm bảo các vấn đề:
- Nhập mảng, có thể xây dựng thành hàm để đóng gói và sử dụng lại. Các thao tác theo yêu cầu:
(1) Nhập số N.
(2) Tiến hành lặp (từ 0 đến N-1) và nhập cho các giá trị Ai trong mảng.
Lưu ý: N phải được vào truyền theo dạng tham biến (tức là &N)
- Xuất mảng. Công việc đơn giản là sử dụng voøng lặp từ 0 đến N-1 để in ra các giá trị Ai cho mảng. Sau đó, Writeln xuống dòng.
- Hàm tính tổng các phần tử cho một mảng A
o Khai báo và khởi tạo toång S là 0.
o Sử dụng một vòng lặp (từ 0 đến N-1 để duyệt qua tất cả các giá trị Ai) để tính cộng dồn giá trị của Ai vào tổng S.
- Viết thân chöông trình chính với nội dung dùng để kiểm tra kết quả thực hiện của hàm.
o Khai báo mảng A có tối đa 20 phần tử và biến N chỉ số lượng phần tử của A.
o Gọi hàm nhập mảng để nhập mảng A, với N phần tử.
o Gọi hàm xuất mảng A, với N phần tử.
o In giá trị của tổng các phần tử bằng cách truyền trực tiếp giá trị trả về của việc tính tổng cho Writeln(……)
o Gọi hàm Readln( ) trước khi kết thúc để dừng lại xem kết quả.
Chương trình:
{ 1. Cac khai bao cho chuong trinh }
Program Mang1C;
Uses crt;
Type Mang20 = array[1..20] of Integer;
Var N:Integer;
A:Mang20;
{ 2. Thu tuc nhap mang A voi N la so phan tu }
Procedure NhapMang1C(Var A : Mang20 ;Var N:Integer);
Var i: Integer;
Begin
Write( 'So luong phan tu:' ); Readln( N);
For i:=0 to N do
Begin
Write( 'Nhap phan tu thu ', i,'' ); Readln( A[i] );
End;
End;
{ 3. Thu tuc xuat mang A voi N la so phan tu }
Procedure XuatMang1C( Var A : Mang20;Var N :Integer );
Var i:Integer;
Begin
For i :=0 to N do
Write( A[i]:2 );
Writeln;
End;
{ 4. Chuong trinh con tinh tong cac phan tu trong mang }
Function TongMang1C( A : Mang20; N:Integer):longint;
Var i :Integer;
S :longint;
Begin
S := 0;
For i:=0 to N do
S := S + A[i] ;
TongMang1C:=S;
End;
{ 5. Than chuong trinh chinh }
BEGIN
NhapMang1C( A, N );
XuatMang1C( A, N );
Writeln(' Tong cac phan tu trong mang ', TongMang1C(A, N) );
Readln;
END.