Tin học 11 Bài tập và thực hành 4
Tin học 11 Bài tập và thực hành 4
Để học tốt Tin học lớp 11, nội dung bài học là trả lời câu hỏi, giải bài tập Tin học 11 Bài tập và thực hành 4 hay nhất, ngắn gọn. Bên cạnh đó là tóm tắt lý thuyết ngắn gọn và bộ câu hỏi trắc nghiệm Tin học 11 bài Bài tập và thực hành 4 có đáp án.
1. Mục đích, yêu cầu
+ Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chương trình chạy nhanh hơn.
+ Làm quen với dữ liệu có cấu trúc và bài toán sắp xếp.
2. Nội dung
Bài 1(trang 65 sgk Tin 11):
a) Hãy tìm hiểu và chạy thử chương trình thuật toán sắp xếp dãy số nguyên bằng thuật toán tráo đổi với các giá trị khác nhau của n dưới đây .
Qua đó nhận xét về thời gian chạy chương trình.
Trả lời:
program sapxep;
uses crt;
const Nmax=250;
var
N,i,j,t:integer;
A:array[1..Nmax] of integer;
begin
clrscr;
randomize;
write('nhap so luong phan tu cua day N=');
readln(N);
for i:=1 to N do
begin
A[i]:=random(300)-random(300);
end;
for i:=1 to N do
write(A[i]:5);
writeln;
for j:=N downto 2 do
for i:=1 to j-1 do
if A[i]>A[i+1] then
begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
end;
writeln('day da duoc sap xep la ');
for i:=1 to N do write(A[i]:4);
readln;
end.
Kết quả:
b) Khai báo thêm biến nguyên Dem và bổ sung vào chương trình những câu lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi trong thuật toán. Đưa kết quả ra màn hình.
Trả lời:
program sapxep;
uses crt;
const Nmax=250;
var
N,i,j,t,dem:integer;
A:array[1..Nmax] of integer;
begin
clrscr;
randomize;
write('nhap so luong phan tu cua day N=');
readln(N);
for i:=1 to N do
begin
A[i]:=random(300)-random(300);
end;
dem:=0;
for i:=1 to N do
write(A[i]:5);
writeln;
for j:=N downto 2 do
for i:=1 to j-1 do
if A[i] > A[i+1] then
begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
dem:=dem+1;
end;
writeln('day da duoc sap xep la ');
for i:=1 to N do write(A[i]:4);
writeln;
writeln('so lan thuc hien trao doi la ',dem);
readln;
end.
Kết quả:
Bài 2 (trang 66 sgk Tin 11): Hãy đọc và tìm hiểu những phân tích để viết chương tình giải bài toán :
Cho mảng A gồm n phần tử. Hãy biết chương trình tạo mảng B[1..n] trong đó B[i] là tổng của I phần tử đầu tiên trong A.
Trả lời:
Có 2 cách:
Cách 1 là duyệt lần lượt các phần từ của mảng B. Đến vị trí I ta sẽ duyệt từ 1 đến I của mảng A rồi cộng dồn vào B[i]
Cách 2 là ta nhận thấy B[j]=B[j-1]+A[j] nếu j khác 1và B[j]=A[1] nếu j=1.
Cách 1:
program sapxep;
uses crt;
const Nmax=250;
var
N,i,j,t,dem:integer;
A:array[1..Nmax] of integer;
B:array[1..Nmax] of integer;
begin
clrscr;
randomize;
dem:=0;
write('nhap so luong phan tu cua day N=');
readln(N);
for i:=1 to N do
begin
A[i]:=random(300)-random(300);
B[i]:=0;
end;
for i:=1 to N do
for j:=1 to i do
begin
B[i]:=B[i]+A[j];
dem:=dem+1;
end;
writeln('dem=',dem);
readln;
end.
Kết quả:
Số lần thực thi phép cộng là:
Cách 2:
program sapxep;
uses crt;
const Nmax=250;
var
N,i,j,t,dem:integer;
A:array[1..Nmax] of integer;
B:array[1..Nmax] of integer;
begin
clrscr;
randomize;
dem:=0;
write('nhap so luong phan tu cua day N=');
readln(N);
for i:=1 to N do
begin
A[i]:=random(300)-random(300);
B[i]:=0;
end;
B[1]:=A[1];
for i:=2 to N do
begin
B[i]:=B[i-1]+A[i];
dem:=dem+1;
end;
writeln('dem=',dem);
readln;
end.
Kết quả:
Số lần thực thi phép cộng là
Nhận thấy sử dụng cách 2 có thể làm giảm đáng kể số lượng phép toán cần thực hiện. Tuy tốc độ máy tính rất nhanh nhưng cũng có giới hạn. Vì thế ta nên tìm cách viết sao cho chương trình thực hiện càng ít phép toán càng tốt.
Xem thêm các bài giải bài tập Tin học lớp 11 hay, chi tiết khác:
- Bài 11: Kiểu mảng
- Bài tập và thực hành 3
- Bài tập và thực hành 4
- Bài 12: Kiểu xâu
- Bài tập và thực hành 5
- Bài 13: Kiểu bản ghi
- Giải bài tập Tin học 11 trang 79,80
TÀI LIỆU CLC DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11
Bộ giáo án, bài giảng powerpoint, đề thi file word có đáp án 2026 tại https://tailieugiaovien.com.vn/
Hỗ trợ zalo: VietJack Official
Tổng đài hỗ trợ đăng ký: 084 283 45 85
Công cụ giáo viên (2048.VN)
Tạo- trộn đề thi miễn phí từ file PDF, Word, Giao bài nhanh chóng, Hoàn toàn Free
- Soạn văn 11 (hay nhất)
- Soạn văn 11 (ngắn nhất)
- Soạn văn 11 (siêu ngắn)
- Giải sgk Toán 11
- Giải Tiếng Anh 11 Global Success
- Giải sgk Vật Lí 11
- Giải sgk Hóa học 11
- Giải sgk Sinh học 11
- Giải sgk Lịch Sử 11
- Giải sgk Địa Lí 11
- Giải sgk Giáo dục KTPL 11
- Giải sgk Tin học 11
- Giải sgk Công nghệ 11
- Giải sgk Hoạt động trải nghiệm 11
- Giải sgk Giáo dục quốc phòng 11
- Giải sgk Âm nhạc 11

