Simulacrum, từ simulacrum Latin, là một sự bắt chước, giả mạo hoặc hư cấu. Khái niệm này được liên kết với mô phỏng, đó là hành động mô phỏng .Một...
Tin học 11 Bài 10: Cấu trúc lặp | Hay nhất Giải bài tập Tin học 11
Tin học 11 Bài 10: Cấu trúc lặp
Tin học 11 Bài 10: Cấu trúc lặp
Để 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 10 : Cấu trúc lặp hay nhất, ngắn gọn. Bên cạnh đó là tóm tắt triết lý ngắn gọn và bộ câu hỏi trắc nghiệm Tin 11 Bài 10 có đáp án .
1. Lặp
Với a là số nguyên và a > 2, xét những bài toán sau đây :
Bài toán 1. Tính và đưa két quả ra màn hình tổng
Quảng cáo
Bài toán 2. Tính và đưa kết quả ra màn hình tổng.
Quảng cáo
Với cả hai bài toán, cách để tính tổng S có những điểm tương đương .
+ Xuất phát, S được gán giá trị 1 / a
+ Sau mỗi lần lặp giá trị tổng S được cộng thêm một giá trị 1 / ( a + N ) N = 1,2,3, ..
Việc cộng này sẽ được lặp lại một số ít lần .
Đối với bài toán 1, số lần lặp sẽ là 100. Bài toán sẽ dừng sau khi thực thi việc cộng 100 lần .
Đối với bài toán 2, số lần lặp sẽ chưa biết trước nhưng việc cộng vào sẽ kết thúc khi :
1 / ( a + N ) < 0.0001
Quảng cáo
Nói chung, trong một số ít thuật toán có những thoa tác phải lặp lại một số ít lần. Một trong những đặc trưng của máy tính là có năng lực triển khai hiệu suất cao những thao tác lặp. Cấu trúc lặp miêu tả thao tác lặp và có 2 dạng là :
+ Lặp với số lần biết trước .
+ Lặp với số lần chưa biết trước .
2. Lặp với số lần biết trước và câu lệnh for-do.
Có 2 thuật toán để giải bài toán 1 như sau :
Cách 1:
Bước 1: Gán cho S:=1/a ; gán cho N=0;
Bước 2: Tăng giá trị N lên 1. N:=N+1;
Bước 3: Nếu N > 100 thì chuyển đến bước 5;
Bước 4: S:=S+1/(a+N); quay lại bước 2 (Thao tác lặp ở đây).
Bước 5: Đưa S ra màn hình rồi kết thúc.
Cách 2:
Bước 1: Gán cho S:=1/a ; gán cho N=101;
Bước 2: Giảm giá trị N xuống 1. N:=N-1;
Bước 3: Nếu N<1 thì chuyển đến bước 5;
Bước 4: S:=S+1/(a+N); quay lại bước 2 (Thao tác lặp ở đây).
Bước 5: Đưa S ra màn hình rồi kết thúc.
Ở cách 1 ta triển khai cộng xuôi :
Dù cách nào thì cũng vẫn phải lặp 100 lần .
Trong Pascal câu lệnh dùng để diễn đạt lặp với số lần biết trước là câu lệnh lặp for-do với hai dạng tiến và lùi .
– Dạng tiến :
for
– Dạng lùi :
for
Trong đó:
– Biến đếm: Là biến đơn, thường có kiểu nguyên.
– Giá trị đầu, Giá trị cuối: là các biểu thức cùng kiểu với biến đếm và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện.
Cơ chế hoạt động của câu lệnh for-do:
– Ở dạng lặp tiến, câu lệnh viết sau từ khóa do được triển khai tuần tự, mỗi lần triển khai thì biến đếm nhận giá trị tăng liên tục từ giá trị đầu đến giá trị cuối .
– Ở dạng lặp lùi, câu lệnh viết sau từ khóa do được triển khai tuần tự, mỗi lần triển khai thì biến đếm nhận giá trị giảm liên tục từ giá trị đầu đến giá trị cuối .
Ví dụ:
Chương trình tính bài toán 1 dưới dạng tiến.
program Tongtien; uses crt; var S:real; a,n: integer; begin clrscr; writeln('hay nhap gia tri cua a '); readln(a); S:=1.0/a; for N:=1 to 100 do S:=S+1.0/(a+N); writeln('Tong S la:',S:8:4); readln; end.
Chương trình tính bài toán 1 dưới dạng lùi.
program Tonglui; uses crt; var S:real; a,n: integer; begin clrscr; writeln('hay nhap gia tri cua a '); readln(a); S:=1.0/a; for N:=100 downto 1 do S:=S+1/(a+N); writeln('Tinh tong lui-Tong S la:',S:8:4); readln; end.
Kết quả:
Ví dụ 2: Viết chương tình thực hiện việc nhập từ bàn phím hai số nguyên dương M và N (M
Phân tích: Thực hiện việc lặp tiến hoặc lùi trong khoảng M và N. Giả sử ta có biến đếm I sẽ nhận giá trị lần lượt từ M đến N (trong đếm tiến) và từ N giảm dần về M (trong đếm lùi). Với mỗi giá trị của I ta sẽ kiểm tra nếu I chia hết cho 3 hoặc I chia hết cho 5 thì ta sẽ cộng nó vào tổng (Tổng ban đầu được gán là 0). Cuối cùng ta in ra tổng rồi kết thúc bài toán.
Code:
program tongchiahet3va5; uses crt; var S:integer; M,N,i: integer; begin clrscr; writeln('hay nhap gia tri cua M va N '); readln(M,N); S:=0; for i:=M to N do if(i mod 3=0) or (i mod 5=0) then S:=S+i; writeln('Tong cua cac so chia het cho 3 hoac 5 trong doan M N la ',S); readln; end.
Kết quả:
3. Lặp với số lần chưa biết .
Sử dụng giải pháp lặp với số lần chưa biết ta hoàn toàn có thể thiết kế xây dựng cách giải bài toán 2 như sau :
Bước 1: S:=1/a; N:=0;
Bước 2: Nếu 1/(a+N)<0.0001 thì chuyển đến bước 5;
Bước 3: Tăng giá trị N lên 1. N:=N+1;
Bước 4: S:=S+1/(a+N); rồi quay lại bước 2.
Bước 5: Đưa S ra màn hình rồi kết thúc.
Như vậy việc lặp không biết trước sẽ chỉ kết thúc khi mọt điều kiện kèm theo cho trước không được thỏa mãn nhu cầu .
Trong Pascal miêu tả cấu trúc lặp với số lần chưa biết trước như sau :
While<điều kiện> do
Trong đó :
– Điều kiện là biểu thức logic .
– Câu lệnh là một câu lệnh đơn hoặc ghép .
Chương trình tính bai toán 2:
program baitoan2; uses crt; var S:integer; a,N: integer; begin clrscr; writeln('hay nhap gia tri cua a '); readln(a); S:=0; S:=S+1.0/a; N:=0; while not (1/(a+N)<0.0001) do begin N:=N+1; S:=S+1.0/(a+N); end; writeln('Tong S la ',S:8:4); readln; end.
Kết quả:
Ví dụ 2: Tìm ước chung lớn nhất của hai số nguyên dương M và N.
Có nhiều giải thuật tìm ước chung lớn nhất của 2 số. Sau đây là một thuật toán .
Bước 1: Nhập M,N;
Bước 2: Nếu M=N thì lấy giá trị chung này làm ước chung lớn nhất rối chuyển đến bước 5.
Bước 3: Nếu M>N thì M:=M-N ngược lại N:=N-M;
Bước 4: Quay lại bước 2.
Bước 5: Đưa ra kết quả ước chung lớn nhất rồi kết thúc.
Chương trình:
program ucln; uses crt; var M,N:integer; begin clrscr; writeln('Nhap gia tri M va N :'); readln(M,N); while M<>N do if M>N then M:=M-N else N:=N-M; writeln('uoc chung lon nhat la ',M); readln; end.
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 cảm ứng, 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 tính tiền. 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 tính tiền 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