Để ôn luyện sâu kiến thức, các em cần tích cực giải các bài tập trong sách giáo khoa và sách bài tập từ đó tìm ra phương pháp giải hay cho các dạng bài tập, chuẩn bị tốt cho các kì thi sắp tới. Dưới đây là hướng dẫn giải bài tập Tin học lớp 11 SGK trang 79-80 (đầy đủ nhất) từ đội ngũ chuyên gia giàu kinh nghiệm chia sẻ miễn phí, hỗ trợ các em ôn luyện hiệu quả. Mời các em học sinh cùng quý thầy cô tham khảo dưới đây.
Giải bài tập Tin học 11 trang 50, 51 đầy đủ nhất
Tại sao mảng là kiểu dữ liệu có cấu trúc?
Trả lời:
Mảng là kiểu dữ liệu có cấu trúc bởi vì mảng (một chiều, hai chiều hay nhiều chiều) là kiểu có cấu trúc được đề cập tới sớm nhất trong các ngôn ngữ lập trình. Nó được xây dựng từ những kiểu dữ liệu dã có theo quy tắc khuôn dạng do ngôn ngữ lập trình cung cấp. Nó được dùng để chỉ định một nhóm đối tượng cùng một tính chất nào đó. Chẳng hạn, vectơ là một nhóm các số mà mỗi số ta có thể xác định chỉ cần biết chỉ số. Như vậy, để khai báo kiểu mảng phải chỉ ra kiểu dữ liệu chung của các phần tử và kiểu chỉ số.
Tại sao phải khai báo kích thước của mảng?
Trả lời:
Mảng là 1 tập hợp các phần tử được đánh số có thứ tự thường là từ 0 hoặc 1cho nên khi khai báo mảng ta cần khai báo thêm kích thước để máy có thể cấp phát đủ bộ nhớ chứa số lượng các phần tử.
Các phần tử của mảng có thể có những kiểu gì?
Trả lời:
Kiểu dữ liệu của mảng có thể là những kiểu dữ liệu chuẩn (integer,byte,real,…), kiểu dữ liệu có cấu trúc (string,kiểu bản ghi).
Tham chiếu đến phần tử của mảng bằng cách nào?
Trả lời:
Tham chiếu đến phần tử của mảng ta sử dụng tên mảng và chỉ số đặt trong cặp dấu ngoặc [ và ].
Ví dụ a[1]. (a là tên mảng ,1 là chỉ số ).
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...AN có giá trị tuyệt đối lớn hơn 1000. Hãy cho biết dãy A có phải là một cấp số cộng hay không và thông báo kết quả ra màn hình.
Trả lời:
Nếu dãy chỉ có một số hoặc hai số thì chắc chắn là cấp số cộng.
Nếu dãy có hơn hai số thì tính công sai là a[1]-a[0] sau đó duyệt cả mảng nếu có số nào vi phạm quy luật của cấp số cộng a[i] khác a[i-1]+d thì kết luận luôn không là cấp số cộng.
Nếu đến cuối dãy mà không có số nào vi phạm thì kết luận là cấp số cộng.
program csc;
uses crt;
var a:array[1..100] of integer;
i,n,d:integer;
t:boolean;
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;
if n<=2
then
write('la cap so cong ')
else
begin
d:=a[2]-a[1];
t:=true;
for i:=3 to n do
if a[i]<>a[i-1]+d
then
begin
t:=false;
break;
end;
if t
then
write('la cap so cong')
else
write('khong phai cap so cong ');
end;
readkey;
end.
Kết quả:
Trường hợp là cấp số cộng:
Trường hợp không là cấp số cộng:
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:
a) Duyệt toàn bộ mảng ,nếu số nào chia hết cho 2 thì là số chẵn còn lại là số lẻ. Ta dùng một biến để đếm số chẵn . Sau đó lấy số phần tử trừ đi số phần tử chẵn
program csc;
uses crt;
var a:array[1..100] of integer;
i,d,n:integer;
begin
clrscr;
write('nhap so phan tu cua day ');
readln(n);
d:=0;
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n do
if a[i] mod 2=0
then
d:=d+1;
writeln('so so chan la ',d,' so so le la ',n-d);
readkey;
end.
b) Số lượng số nguyên tố trong dãy
Duyệt toàn bộ các số trong dãy với mỗi số ta kiểm tra xem số này có chia hết số nào từ 2 đến a[i]-1 của nó không ?. Nếu không thì kết luận là số nguyên tố.
program csc;
uses crt;
var a:array[1..100] of integer;
i,d,n,j:integer;
t:boolean;
begin
clrscr;
write('nhap so phan tu cua day ');
readln(n);
d:=0;
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n do
begin
t:=true;
for j:=2 to a[i]-1 do
begin
if (a[i] mod j=0) and (a[i]<>2)
then
begin
t:=false;
break;
end;
end;
if t=true
then
d:=d+1;
end;
writeln('so cac so nguyen to trong day la ',d);
readkey;
end.
Kết quả
:
Dãy F là dãy Phi-bo-na-xi nếu:
F0=0, F1 = 1, Fn = Fn-1 + Fn-2 với N ≥ 2
Viết chương trình nhập từ bàn phím số nguyên dương N và đưa ra màn hình số hạng thứ N của dãy Phi-bo-na-xi. Chương trình của bạn thực hiện với giá trị lớn nhất của N là bao nhiêu?
Trả lời:
Sử dụng 2 biến để lưu giá trị hiện tại của 2 số fibonaci. Mỗi lần sinh ra số fibonaci mới ta sẽ gán lại giá trị mới cho 2 biến này bằng đoạn code;
F1:=F0+F1;
F0:=F1-F0;
program csc;
uses crt;
var n,i:integer;
f0,f1:integer;
begin
clrscr;
write('nhap so n:');
readln(n);
f0:=0;
f1:=1;
for i:=2 to n do
begin
f1:=f0+f1;
f0:=f1-f0;
end;
write('so fibonaci thu n la :',f1);
readkey;
end.
Chương trình chạy tối đa đến N=23 với số fibonaci là 28657 . Nếu lên đến số 24 sẽ vượt quá phạm vi của biến kiểu integer.
Bài 8 (trang 79 sgk Tin học lớp 11):
Bài 9 (trang 80 sgk Tin học lớp 11):
Bài 10 (trang 80 sgk Tin học lớp 11):
Bài 11 (trang 80 sgk Tin học lớp 11):
►►Tải free đầy đủ hướng dẫn giải từ bài 1 đến bài 11 Tin học 11 trang 79-80 file word, pdf tại đường link dưới đây:
Hy vọng tài liệu sẽ hữu ích cho các em học sinh và quý thầy cô giáo tham khảo và đối chiếu đáp án chính xác.
►Ngoài ra các em học sinh và thầy cô có thể tham khảo thêm nhiều tài liệu hữu ích hỗ trợ ôn luyện thi môn toán như đề kiểm tra học kì, 1 tiết, 15 phút trên lớp, hướng dẫn giải sách giáo khoa, sách bài tập được cập nhật liên tục tại chuyên trang của chúng tôi.