Cách Khai báo trực tiếp một mảng A có chứa tối đa 100 số nguyên có giá trị tuyệt đối không quá 200

Tham chiếu đến phần tử của mảng bằng cách nào?

Đề bài

Tham chiếu đến phần tử của mảng bằng cách nào ?

Lời giải chi tiết

- Tham chiếu đến phần tử của mảng có 2 kiểu : 

** Với mảng 1 chiều: 

- Cách tham chiếu đến mảng: A[i] với i là chỉ số phân tử trong mảng. 

Ví dụ: Vẫn xét mảng 10 20 30 5 6 7 

A[1]=10; A[2]=20; A[3]=30; A[4]=50; A[5]=6; A[7]=7 

- Cách khai báo mảng: Có 2 cách khai báo: 

Khai báo trực tiếp:

Thường thì cách khai báo trực tiếp được dùng nhiều hơn vì nó ngắn gọn. 

var :array[kiểu chỉ số] of ; 

Ví dụ: 

a:array[1..100] of integer; 

b,c:array[1..250] of integer; 

Khai báo gián tiếp: 

type =array[kiểu phần tử] of ; 

var :; 

Ví dụ: 

type mang=array[1..100] of integer; 

var a,b,c:mang; 

**Với mảng 2 chiều : 

- Tham chiếu: Vì mảng 2 chiều là bảng nên sẽ cần chỉ số hàng và chỉ số cột: A[i,j] với i là chỉ số hàng, j là chỉ số cột. 

- Khai báo: Tương tự như mảng 1 chiều nhưng thêm chỉ số cột.

Loigiaihay.com

Program BTT;Uses crt;Var A: array[1..100] of longint;    n,i,s,k: longint;Begin        Clrscr;        Write['Nhap n: ']; Readln[n];        Write['Nhap k: ']; Readln[k];        s:=0;        For i:=1 to n do        Begin                Write['A[',i,'] = '];                Readln[A[i]];                If abs[A[i]]>300 then                        While abs[A[i]]>300 do                        Begin                                Write['Nhap lai A[',i,'] = '];                                Readln[A[i]];                        End;                If A[i] mod k = 0 then s:=s+A[i];        End;        Write['Tong = ',s];        Readln

End.

1. Pascal Nhập xuất và tính tổng các phần tử trong mảng

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

+ Khai báo và khởi tạo toång S là 0.

+ 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.

+ 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.

+ Gọi hàm nhập mảng để nhập mảng A, với N phần tử.

+ Gọi hàm xuất mảng A, với N phần tử.

+ 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[……]

+ Gọi hàm Readln[ ] trước khi kết thúc  để dừng lại xem kết quả.

Chương trình:

2. Một số bài tập tính tổng với mảng 1 chiều

Bài toán 1: Nhập vào mảng 1 chiều từ bàn phím chỉ chứa được 100 phần tử có giá trị kiểu nguyên. Tính tổng các giá trị là số chẵn sau đó in ra màn hình.

Bài tập này mình cũng đã hướng dẫn trong mảng 1 chiều về cách tìm số chẵn. Cách làm như sau, xây dựng Function TongChan[Var A:Arr100;Var N:Integer]:Integer; Trong đó A:Arr100 là mảng 1 chiều có kích thước 100 phần tử và N là số phần tử của mảng mà bạn đưa vào. 

1. Tạo biến S:=0 để lưu tổng chẵn ban đầu bằng 0.

2. Duyệt từ phần tử A[i] đầu tiên đến A[N] kiểm tra nếu chia dư cho 2 bằng 0 => chẵn thì S:=S+A[i].

Đơn giản chỉ có vậy thôi và dưới đây là Function của bài tập này.

Nếu như bạn muốn tính tổng các số lẻ có trong mảng 1 chiều chỉ cần sửa đoạn If[A[i] mod 2 = 0] then thành If[A[i] mod 2 = 1] then là sẽ thành hàm tính tổng các số lẻ.

Bài toán 2: Cho người dùng nhập mảng 1 chiều biết mảng chỉ chứa được 100 phần tử số nguyên dương. Hãy tính tổng của mảng đều chia hết cho 4 và in kết quả ra màn hình.

Bài tập tương tự như bài ở trên các bạn chỉ cần thay đoạn If[A[i] mod 2 = 0] then thành If[A[i] mod 4 = 0] then là đã có thể sử dụng lại chương trình.

Nếu như có các bài toán tương tự bắt chúng ta tính tổng của các số chia hết cho 3, cho 5, cho 6 cho 7,… thì chúng ta làm sao đây? không thể ngồi viết hàng loạt các chương trình con để tính cho từng bài tập được mà các bạn chỉ cần tạo ra một chương trình con duy nhất có thể sử dụng cho tất cả các trường hợp như sau.

Chương trình đây đủ cho các bạn

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

Tạo mảng A gồm n [\[n\le100\]] số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300.Viết chương trình tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước. 

Các câu hỏi tương tự

Video liên quan

Chủ Đề