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
Giới thiệu kênh Youtube VietJack
Ngân hàng trắc nghiệm lớp 11 tại khoahoc.vietjack.com
- Hơn 75.000 câu trắc nghiệm Toán 11 có đáp án
- Hơn 50.000 câu trắc nghiệm Hóa 11 có đáp án chi tiết
- Gần 40.000 câu trắc nghiệm Vật lý 11 có đáp án
- Kho trắc nghiệm các môn khác
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn 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: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.
- Soạn Văn 11
- Soạn Văn 11 (bản ngắn nhất)
- Văn mẫu lớp 11
- Giải bài tập Toán 11
- Giải bài tập Toán 11 nâng cao
- Bài tập trắc nghiệm Đại số và Giải tích 11 (100 đề)
- Bài tập trắc nghiệm Hình học 11
- Đề kiểm tra Toán lớp 11 (40 đề)
- Giải bài tập Vật lý 11
- Giải bài tập Vật lý 11 nâng cao
- Bài tập trắc nghiệm Vật Lí 11 (70 đề)
- Giải bài tập Hóa học 11
- Giải bài tập Hóa học 11 nâng cao
- Chuyên đề Hóa học 11
- Bài tập trắc nghiệm Hóa 11 (70 đề)
- Giải bài tập Sinh học 11
- Bài tập trắc nghiệm Sinh học 11 (45 đề)
- Chuyên đề Sinh học 11
- Giải bài tập Địa Lí 11
- Giải bài tập Địa Lí 11 (ngắn nhất)
- Giải Tập bản đồ và bài tập thực hành Địa Lí 11
- Bài tập trắc nghiệm Địa Lí 11 (30 đề)
- Đề kiểm tra Địa Lí 11 (72 đề)
- Giải bài tập Tiếng anh 11
- Giải sách bài tập Tiếng Anh 11
- Giải bài tập Tiếng anh 11 thí điểm
- Giải bài tập Lịch sử 11
- Giải bài tập Lịch sử 11 (ngắn nhất)
- Giải tập bản đồ Lịch sử 11
- Bài tập trắc nghiệm Lịch Sử 11 (50 đề)
- Giải bài tập GDCD 11
- Giải bài tập GDCD 11 (ngắn nhất)
- Bài tập trắc nghiệm GDCD 11 (38 đề)
- Giải bài tập Tin học 11
- Giải bài tập Công nghệ 11