Viết chương trình nhập N phần tử các số nguyên A1, A2,…,AN. Đếm các phần từ thỏa điều kiện (36 < Ai < 99). Yêu cầu: Phân tích bài toán thành các thao tác nhỏ. Viết chương trình theo hướng lập trình cấu trúc (chương trình con)

2 câu trả lời

Phân tích bài toán:

input: N phần tử các số nguyên A1,A2,...AN

output: Đếm các phần từ thỏa điều kiện (36<Ai< 99)

b1: nhập n

b2: nhập mảng

b3: dùng for..do duyệt từng phần tử xem có thỏa mãn điều kiện hay không

b4: xuất kết quả

chương trình:

uses crt;

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

n,i,d: integer;

procedure nhap_dem;

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

i,n,d: integer;

begin

write ('nhap n: ');  readln (n);

for i:=1 to n do

begin

write ('nhap phan tu thu ',i,': ');  readln (a[i]);

if (a[i]>36) and (a[i]<99) then d:=d+1;

end;

end;

begin

clrscr;

nhap_dem;

writeln ('co ',d,' phan tu thoa man dieu kien');

readln;

end.

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

Input: Dãy A[1..n]

Output: Số lượng phần tử >36 và <99

Mô tả thuật toán:

Bước 1: Nhập dãy A[1..n]

Bước 2: cnt <- 0

Bước 3: i <- 1 to n

Nếu A[i] > 36 và A[i] < 99 thì cnt <- cnt + 1

Bước 4: Xuất cnt và kết thúc chương trình

Chương trình:

Program Mang;
Uses crt;
Var A: array[1..1000] of longint;
    n: longint;
Procedure Nhap;
Var i: longint;
Begin
        Write('Nhap n: '); Readln(n);
        For i:=1 to n do
        Begin
                Write('A[',i,'] = ');
                Readln(A[i]);
        End;
End;

Procedure xuli;
Var cnt, i: longint;
Begin
        cnt := 0;
        For i:=1 to n do
                If (A[i] > 36) and (A[i] < 99) then inc(cnt);
        Write(cnt);
End;


Begin
        Clrscr;
        Nhap;
        Xuli;
End.

Câu hỏi trong lớp Xem thêm