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
0 bình luận về “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”
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;
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.
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.