Bài 6 trang 79 SGK Tin học 11
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: ...
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