Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đây là câu trả lời đã được xác thực
Câu trả lời được xác thực chứa thông tin chính xác và đáng tin cậy, được xác nhận hoặc trả lời bởi các chuyên gia, giáo viên hàng đầu của chúng tô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;
Bước 6. Quay lại bước 3.
Hãy giúp mọi người biết câu trả lời này thế nào?
Input: n, dãy A.
Output: Số số có giá trị dương.
Thuật toán:
Bước 1: i ← 1; d ← 0.
Bước 2:
- Nhập A[i].
- Nếu A[i]>0 thì d ← d+1.
Bước 3: i ← i+1.
Bước 4: Nếu i<=n quay lại bước 2. Ngược lại chuyển đến bước 5.
Bước 5: Thông báo d và kết thúc thuật toán.
***Tham khảo thêm:
Hoạt động của thuật toán:
Bước 1: Gán i = 1; d = 0.
Bước 2:
- Nhập A[1] đến A[n].
- Sau mỗi lần nhập, chương trình sẽ kiểm tra: nếu số vừa nhập lớp hơn 0 thì giá trị d tăng thêm 1 đơn vị. (Đếm giá trị).
Bước 3: Sau mỗi vòng lặp, biến đếm tăng thêm 1 đơn vị.
Bước 4: Nếu i ≤ n (điều kiện đúng) thì quay lại thực hiện tiếp câu lệnh. Ngược lại (điều kiện sai) thì chuyển tới bước tiếp theo.
Bước 5: Thông báo số số có giá trị dương có trong dãy và kết thúc thuật toán.
Cách viết chương trình:
- Sử dụng mảng 1 chiều.
+ Cú pháp: var <tên biến mảng>: array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
+ Tên biến mảng tự đặt (tuân theo quy tắc đặt tên).
+ Chỉ số đầu và chỉ số cuối là kiểu số nguyên. Chỉ số đầu là giá trị 1, chỉ số cuối có thể là 100; 500; 1000;....
+ Trong bài, sử dụng kiểu dữ liệu là integer.
- Sử dụng lệnh lặp với số lần biết trước (có thể dùng lệnh lặp chưa biết trước).
+ Cú pháp: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ Giá trị đầu và giá trị cuối là kiểu số nguyên. Giá trị đầu là giá trị 1, giá trị cuối là n.
- Câu lệnh kiểm tra: if <tên mảng>[<biến đếm>]>0 then <giá trị đếm>:=<giá trị đếm>+1;
Viết chương trình:
program phuont;
uses crt;
var A: array[1..500] of integer;
i, n, d: integer;
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 d:=d+1;
end;
write('Co ', d, ' so co gia tri duong');
readln
end.
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
0
70
0
đáp án trên đã đúng chưa ạ
951
28862
1179
anh ơi muốn lên chuyên gia phải làm sao ạ? Anh chỉ hộ em với
951
28862
1179
em muốn lắm r nhưng k dc
1378
16651
1387
ad ơi cho em hỏi là em muốn làm thành viên biệt đội hăng hái nhưng ko bik lm thế nào ad có thể chỉ em ko ạ??
731
738
850
Các anh cho em xin xác thực nhé hehe
1277
4457
1249
vào nhóm ko ạ
5548
4854
3434
Em chào anh Tuệ ạ Em xin hỏi là em muốn tự khoá acc thì làm như thế nào ạ ?
33
210
44
Ad ơi xác thực cho em `1` câu đi ạ