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.
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.
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 10 - Năm thứ nhất ở cấp trung học phổ thông, năm đầu tiên nên có nhiều bạn bè mới đến từ những nơi xa hơn vì ngôi trường mới lại mỗi lúc lại xa nhà mình hơn. Được biết bên ngoài kia là một thế giới mới to và nhiều điều thú vị, một trang mới đang chò đợi chúng ta.
Nguồn : ADMIN :))Copyright © 2021 HOCTAP247