Viết thuật toán: cho dãy a gồm n số nguyên a1 a2 ...an . kiểm tra xem có số nào bằng 0 hay ko? Giúp mình với nhé mọi người ơi

2 câu trả lời

Program FNG;
Uses crt;
Var A: array[1..1000] of longint;
    n,i,d: longint;
Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);
        d:=0;
        For i:=1 to n do
        Begin
                Write('A[',i,'] = ');
                Readln(A[i]);
                If A[i]=0 then inc(d);
        End;
        If d<>0 then Write('Co ',d,' so 0')
        Else Write('Khong co so 0');
        Readln
End.

Xác định bài toán

Input: Dãy A gồm N số nguyên a1, a2..., aN ;

Output: Số số hạng trong dãy A có giá trị lớn hơn 0.

Ý tưởng: Tìm kiếm tuần tự được thực hiện một cách tự nhiên. Ta dùng biến đếm k để đếm số số hạng trong dãy A có giá trị lớn hơn 0. Bắt đầu từ i = 0 và mỗi lần tăng i lên 1, ta lần lượt so sánh ai > 0?, nếu ai > 0 thì tăng k lên 1, tiếp tục quá trình cho đến khi i > N thì đưa ra kết quả k và kết thúc.

Cách liệt kê

Bước 1. Nhập N, các số hạng a1, a2..., aN

Bước 2. i = 0, k= 0,

Bước 3. Nếu ai > 0 thì k = k+1;

Bước 4. i = i + 1

Bước 5: Nếu i > N thì đưa ra giá trị k, rồi kết thúc;

Bước 6. Quay lại bước 3.