Bài 5. Từ bài toán đến chương trình

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Nguyễn Thị Thu

Hãy mô tả thuật toán giải các bài toán sau :

- Đếm số các số dương trong dãy số A = {a1,a2,...,an} cho trước.

- Tìm vị trí của số dương đầu tiên trong dãy số A = {a1,a2,...,an} cho trước, tính từ phải sang trái.

duong nguyenvan
19 tháng 11 2017 lúc 21:31

Bài 1:

Input: số nguyên N và dãy a1,...,an
output: số lượng số dương trong dãy.
Ý tưởng:
khởi gán dem=0
lần lượt chia các a[i] (i:1->N) cho 2
nếu ai chia hết cho 2 dư 0 thì dem=dem+1
diễn tả thuật toán
liệt kê:
b1: nhập số nguyên dương N và dãy a1, a2,..,an
b2: i<-1 , dem<-0
b3: i>N thì đưa ra biến dem rồi kthúc
b4: ai chia hết cho 2 thì dem<-dem+1
b5: i<-i+1, quay lại bc 3

duong nguyenvan
20 tháng 11 2017 lúc 20:08

Program bai1;

uses crt;

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

n,i,dem: integer;

begin

clrscr;

write('nhap so n ='); readln(n);

for i:= 1 to n do

begin

write('nhap a[',i,'] ='); readln(a[i]);

end;

dem:=0;

for i:= 1 to n do

if a[i] > 0 then dem:=dem+1;

write('co ',dem,' so duong trong day ');

readln;

end.

duong nguyenvan
20 tháng 11 2017 lúc 20:37
Bài 2: Tìm vị trí số dương đầu tiên trong dãy số A={a1, a2,…an} cho trước tính từ phải sang trái.

B1: Nhập dãy số
B2: Lần lượt kiểm tra các số trong dãy có phải là số dương hay không
B2-1: Nếu không phải là số dương thì kiểm tra số tiếp theo
B2-2: Ngược lại ở trên (nếu là số dương) thì thông báo vị trí số dương là vị trí hiện tại. Dừng xử lý.


Các câu hỏi tương tự
Nhung Ngô
Xem chi tiết
linh khánh
Xem chi tiết
Trương Mai Bảo Hân
Xem chi tiết
Vai Linh Pham
Xem chi tiết
hồng trương
Xem chi tiết
Hoàng Hải Yến
Xem chi tiết
Hoàng Hải Yến
Xem chi tiết
Lươn Thị Lẹo
Xem chi tiết
Nhật Liên Nguyễn
Xem chi tiết
Kisaragi Saya
Xem chi tiết