Networks Business Online Việt Nam & International VH2

Tin học 11 Bài tập và thực hành 4 | Hay nhất Giải bài tập Tin học 11

Đăng ngày 09 September, 2022 bởi admin

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 kinh nghiệm là vấn đáp thắc mắc, 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 kim chỉ nan 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, nghiên cứu và phân tích, đề xuất kiến nghị thuật toán giải bài toán sao cho chương trình chạy nhanh hơn .

Quảng cáo

+ Làm quen với tài 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à khám phá 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 những giá trị khác nhau của n dưới đây .
Qua đó nhận xét về thời hạn chạy chương trình .

Trả lời:

Quảng cáo

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ả:

Quảng cáo

Giải bài tập Tin học 11 | Để học tốt Tin học 11
b ) Khai báo thêm biến nguyên Dem và bổ trợ vào chương trình những câu lệnh thiết yếu để biến Dem tính số lần thực thi tráo đổi trong thuật toán. Đưa hiệu quả ra màn hình hiển thị .

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ả:

Giải bài tập Tin học 11 | Để học tốt Tin học 11

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 thành phần. Hãy biết chương trình tạo mảng B [ 1 .. n ] trong đó B [ i ] là tổng của I thành phần tiên phong trong A .
Trả lời :
Có 2 cách :
Cách 1 là duyệt lần lượt những 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 1 và 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à :
Giải bài tập Tin học 11 | Để học tốt Tin học 11

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à
Giải bài tập Tin học 11 | Để học tốt Tin học 11
Nhận thấy sử dụng cách 2 hoàn toàn có thể làm giảm đáng kể số lượng phép toán cần triển khai. Tuy vận tốc máy tính rất nhanh nhưng cũng có số lượng giới hạn. Vì thế ta nên tìm cách viết sao cho chương trình thực thi 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:

Giới thiệu kênh Youtube VietJack

Ngân hàng trắc nghiệm lớp 11 tại khoahoc.vietjack.com

Đã có app VietJack trên điện thoại thông minh, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi trực tuyến, Bài giảng …. không lấy phí. Tải ngay ứng dụng trên Android và iOS .

Nhóm học tập facebook miễn phí cho teen 2k5: fb.com/groups/hoctap2k5/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Theo dõi chúng tôi không lấy phí trên mạng xã hội facebook và youtube :

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

Source: https://vh2.com.vn
Category : Tin Học