Giải Bài 9: Làm việc với dãy số Tin học 8

51

Câu 1 Trang 78 SGK Tin học 8

Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình.dụng biến mảng trong chương trình

Lời giải : 

Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh, giúp tiết kiệm rất nhiều thời gian và công sức viết chương trình.

Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả.


Câu 2 Trang 78 SGK Tin học 8

Các khai báo biến mảng sau đây trong Pascal đúng hay sai:

a) var X: Array[10,13] Of Integer;

b) var X: Array[5..10.5] Of Real;

c) var X: Array[3.4..4.8] Of Integer;

d) var X: Array[10..1] Of Integer;

e) var X: Array[4..10] Of Real;

Lời giải

 

a) Sai. Phải thay dấu phẩy bằng hai dấu chấm;

 

b) Sai, vì chỉ số đầu và chỉ số cuối mảng phải là số nguyên;

 

c) Sai, vì chỉ số đầu và chỉ số cuối mảng phải là số nguyên;

 

d) Sai, vì giá trị đầu của chỉ số mảng phải nhỏ hơn hoặc bằng chỉ số cuối;

 

e) Đúng.


Câu 3 trang 78 SGK Tin học lớp 8

Phát biểu : “Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất. “

Phát biểu đó đúng hay sai?

Lời giải:

Đúng. vì thực chất của mảng là nhóm những phần tử có cùng một kiểu thành một biến duy nhất có các chỉ số từ 1 cho đến n với n là độ dài của mảng


Câu 4 trang 78 SGK Tin học lớp 8

Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện được không?

var N: integer;

A: array[1..N] of real;

Lời giải :

Không. Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải được xác định trong phần khai báo chương trình.


Câu 5 Trang 78 SGK Tin học 8

Viết chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của 1 dãy số.Độ dài của dãy cũng được nhập từ bàn phím

Lời giải : 

uses crt;

var n,i:integer;

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

begin

clrscr;

write(‘nhap so phan tu cua day:’);readln(n);

for i:=1 to n do

begin

write(‘a[‘,i,’]=’);readln(a[i]);

end;

writeln(‘day so da nhap:’);

for i:=1 to n do write(a[i]:2);

readln;

end.


Câu 6 trang 78 SGK Tin học lớp 8

Viết chương trình sử dụng biến mảng để giải quyết bài toán nêu ở ví dụ 1.

Lời giải : 

uses crt;

var x:array[1..100] of real;

n,i:byte;

dlc,xtb:real;

BEGIN

clrscr;

write(‘Nhap so ho gia dinh= ‘);readln(n);

xtb:=0;

for i:=1 to n do

begin

write(‘Muc thu nhap cua ho gia dinh thu ‘,i,’= ‘);

readln(x[i]);

xtb:=xtb+x[i];

end;

xtb:=xtb/n;

writeln(‘——————————————————-‘);

writeln(‘=> Thu nhap trung binh cua cac ho: ‘);

writeln(xtb:16:2);

writeln(‘——————————————————-‘);


Câu 7 trang 78 SGK Tin học lớp 8

Độ lệch chuẩn là một khái niệm rất quan trọng trong đánh giá dữ liệu thống kê.
Giả sử ta có bộ dữ liệu thống kê gồm n phần tử có giá trị tương ứng là x1, x2, …, xn. Kí hiệu xTB là giá trị trung bình của x1, x2, …, xn. Khi đó độ lệch chuẩn của bộ dữ liệu trên được tính theo công thức

(sqrt {{{sumnolimits_{i = 1}^n {{{left( {{x_i} – {x_{tb}}} right)}^2}} } over n}})

(căn bậc hai của tổng các bình phương độ lệch từng phần tử so với giá trị trung bình chia cho số phần tử).

Hãy viết chương trình tính độ lệch chuẩn của dữ liêu thống kê về mức thu nhập của các hộ gia đình nêu ở Ví dụ 1(SGK tin học 8, trang73).

Lưu ý: Giá trị độ lệch chuẩn phản ánh mức độ thu nhập của các hộ gia đình trong 1 địa phương nêu ở ví dụ 1, nếu giá trị độ lệch chuẩn lớn thì mức độ phân hóa giàu nghèo của địa phương càng rõ rệt (độ chênh lệch về mức thu nhập của người giàu và người nghèo lớn).

Lời giải :

BEGIN

xtb:=xtb/n;

writeln(‘——————————————————-‘);

writeln(‘=> Thu nhap trung binh cua cac ho: ‘);

writeln(xtb:16:2);

writeln(‘——————————————————-‘);

writeln(‘=> Do lech tung ho so voi thu nhap trung binh: ‘);

for i:=1 to n do

writeln(‘Ho ‘,i,’: ‘,x[i]-xtb:10:2);

dlc:=0;

for i:=1 to n do

dlc:=dlc+sqr(x[i]-xtb);

dlc:=sqrt(dlc/n);

writeln(‘——————————————————-‘);

writeln(‘=> Do lech chuan ve muc thu nhap cuatung ho gia dinh: ‘);

writeln(dlc:16:2);

writeln(‘——————————————————-‘);

readln

END.