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:

Lời giải


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