Bài 6 trang 79 SGK Tin học 11

Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤100) và dãy A gồm N số nguyên A1, A2 .. có giá trị tuyệt đối không lớn hơn 1000. Hãy đưa ra những thông tin sau:


Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤100) và dãy A gồm N số nguyên A1, A2 ...AN có giá trị tuyệt đối không lớn hơn 1000. Hãy đưa ra những thông tin sau:

a) Số lượng số chẵn và số lượng số lẻ

b) số lượng số nguyên tố trong dãy

Trả lời

Đối với với bài toán này thì phần kiểm tra số nguyên dương N(N<100) và dãy A gồn N số nguyên A1, A2 ...AN có giá trị tuyệt đối không lớn hơn 1000 giống như bài tập 5 đã nêu ờ trên. Chúng ta chi cần giải quyết thêm 2 vấn đề nữa, đó là đếm số lượng số chẵn, số lẻ và số lượng số nguyên tố trong dãy.

Chưntg trình:

progran baitap6_chuong4;

uses crt;

var                 

array[1..100] of integer;

if: boolean;

N, i„ l: integer; so_nt, so_chan: integer;

begin

for i := -1000 to 1000 do if i>0 then NT:= false;

so_chan:=0; so_nt:=0;

{Nhap vao)

repeat

write('So phan tu cua day A (N<=100), N= *);

readln(N);

until (N>0) and

(N<=100);

 for i:= 1 to N do

begin

{kiem tra cac phan tu cua day khi nhap vao}

repeat

write('A[',i,']= ');readln(A[i]);

if (a[i]>1000) or (a[i]<-1000) then

write('Moi nhap lai ");

until (a[i]>-1000) and (a[i]<1000); = if A[i] mod 2 =0 then so_chan:= so_chan + 1; if A[i] >1 then

begin

u: = 2 ;

while ((u<=sqrt (A[i])) and (A[i] mod u<>0))) do u: = u + 1; if u>sqrt(A[i]) then so_nt:= so_nt + 1;

end,

end;

{In ra man hinh}

writeln('So luong so chan:',so_chan);

writeln('So luong so le:',N - so_chan);

writeln(’So luong so nguyen tro:', so_nt);

readln

End.

Khi chạy chương trình, ta lần lượt nhập các phần tử của dãy A:

 Với N = 3 và các phần tử được nhập vào theo thứ tự:

A[1]=5

A[2]=7

A[3]=900

thì chương trình đưa ra thông báo:

So luong so chan: 1

So luong so le: 2

So luong so nguyen to: 2

- Với 5 và các phần tử được nhập vào theo thứ tự:

A[1]=12

A[2]=3 A[3]=5

A[4>10 A [5] =11

thì chương trinh đưa ra thông báo:

So luong so chan: 2

So luong so le: 3

So luong so nguyen to: 3

Kết quả của chương trình như hình 63 sau đây:

Trong trường hợp số phần tử nhập vào và giá trị các phần tử của dãy A không thỏa mãn điều kiện thì chương trình sẽ có thông báo mời nhập lại. Chẳng hạn, trong các trường hợp sau đây:

A[1] = 12

A [ 2] = 2000 thì chương trình đưa ra yêu cầu Moi nhap lai A[2]= 800 A[3 = 17

A [ 4] = -1500 thì chương trình đưa ra yêu cầu Moi nhap lai A[4]= -200 A[5] =31 A [ 6 = 5 A[7 = 350

Kết quả chương trình đưa ra thông báo (Hình 64):

So luong so chan: 4

So Luong so le: 3

So luong so nguyen to: 3