Đề cương ôn tập học kì II Tin học Lớp 8 - Năm học 2012-2013 - Trường THCS Nguyễn Thị Minh Khai
Bạn đang xem nội dung tài liệu Đề cương ôn tập học kì II Tin học Lớp 8 - Năm học 2012-2013 - Trường THCS Nguyễn Thị Minh Khai, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐỀ CƯƠNG ÔN TẬP HK II- MÔN TIN HỌC 8 NĂM HỌC: 2012-2013 -------------- PHẦN PASCAL: Bài 7: CÂU LỆNH LẶP Câu 1: Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày ( đánh răng, học bài, nấu ăn, nhặt rau.....) Câu 2: Hãy cho biết tác dụng của câu lệnh lặp với số lần biết trước. -Tác dụng : một lệnh thay cho nhiều lệnh với số lần biết trước - Thuận tiện và hữu ích trong việc tránh phải viết lặp đi lặp lặp lại nhiều lần một lệnh nào đó. Câu 3: Nêu cú pháp về câu lệnh lặp ? Trả lời: For := to do ; Trong đó: For, to, do : là các từ khóa Biến đếm là biến kiểu nguyên giá trị đầu, giá trị cuối: là các giá trị nguyên câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là một vòng lặp. Số vòng lặp được biết trước và bằng : giá trị cuối - giá trị đầu +1 Câu 4:Khi thực hiện câu lệnh lặp, máy tính kiểm tra một điều kiện. Với lệnh lặp : For := to do của Pascal, điều kiện cần phải kiểm tra là gì? Trả lời:Khi thực hiện, ban đầu biến đếm sẽ nhận giá trị đầu, sau mỗi vòng lặp, biến đếm sẽ tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối. Bài tập: 1/ Tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím. ( Xem ví dụ 5/59 SGK) 2/Viết chương trình tính N! với N là số tự nhiên nhập từ bàn phím (Xem ví dụ 6/59+60 SGK) 3/ Các bài tập 4,5 /61 4/Mô tả thuật toán để tính tổng sau ( bài 6/61 SGK) Hướng dẫn: 5/Bài 1 SGK trang 62 ( viết CT in ra màn hình bảng nhân 1 số từ 1 đến 9) 6) Viết chương trình tính tổng Trả lời: Thuật toán: INPUT: Số tự nhiên n OUTPUT : Bước 1: Nhập n Bước 2: S 0; i 0 Bước 3: i i+1 Bước 4: Nếu i <= n, S S+1/i và quay lại bước 3 Ngược lại (i>n) thông báo kết quả và kết thúc thuật toán Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC Câu 1: Nêu một vài ví dụ với lần lặp với số lần chưa biết trước ? Trả lời: -Nhập một số hợp lệ, ví dụ số nguyên trong khoảng từ 0 đến 10, vào máy tính. Nếu số nhập vào không hợp lệ thì yêu cầu nhập lại -Rút tiền dần từ sổ tiết kiệm cho đến khi số dư còn lại ít hơn 50 nghìn đồng. -Nhập một số từ bàn phím và tính tổng cho đến khi lần đầu tiên nhận được tổng lớn hơn 1000 thì kết thúc. ...( HS tự tìm thêm) sai Điều kiện Câu 2: Cú pháp While do ; Trong đó: đúng Điều kiện thường là một phép so sánh Câu lệnh Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép Câu lệnh lặp này được thực hiện như sau: +)Kiểm tra điều kiện +)Nếu điều kiện sai, câu lệnh sẽ bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1 Câu 3: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước ? Trả lời:Sự khác biệt: a) Câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. b) Lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực c) Lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thoả mãn, câu lệnh mới được thực hiện. Bài tập: -Bài 3,4,5 / Trang 71 SGK - Bài 1( SGK/72) Viết chương trình sử dụng lệnh lặp While...do để tính trung bình n số thực x1,; x2;.....xn các số n và x1,; x2;.....xn được nhập vào từ bàn phím. - Bài 2:(SGK/73) Viết chương trình nhập một số tự nhiên n được nhập từ bàn phím , và in ra màn hình số đó có phải là số nguyên tố không ? BÀI 9: LÀM VIỆC VỚI DÃY SỐ Câu 1: Dữ liệu kiểu mảng là gì? Trả lời:Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu. Câu 2: Cách khai báo mảng trong Pascal ? Var Tên mảng : array[.. ] of Trong đó: Chỉ số đầu ≤ chỉ số cuối : và là hai số nguyên Kiểu dữ liệu: có thể là integer hoặc real, byte,longint Array và of : là các từ khóa Câu 3: Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình ? Trả lời: Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dễ dàng hơn, tiết kiệm được thời gian. (Có thể sử dụng lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và sử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả) Câu 4:2,3,4,5/79 SGK Hướng dẫn: 2/ Các khai báo biến mảng sau đấy trong Pascal đúng hay sai ? sai, vì có dấu , cần thay bằng dấu .. sai, chỉ số đầu ,cuối phải là số nguyên sai sai, vì chỉ số đầu lớn hơn số cuối đúng 3/ Phát biểu đó đúng 4/ sai , vì gtln và gtnn của chỉ số mảng phải được xác định trong phần khai báo chương trình. 5/ Cho học sinh tiến hành hoạt động nhóm viết chương trình Program nhapdayso; Var i,n: integer; A: array[1..100] of real; Begin Writeln(‘Nhap so phan tu cua day so n= ’,n) For i:=1 to n do begin Write( ’ a[’,i,’]= ’); readln(a[i]); End; Readln; End. Bài tập 1/(SGK trang 80) Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt giỏi, khá, trung bình, yếu. Bài tập 2/(SGK trang 81) Nhập hai loại điểm Toán và ngữ văn, sau đó in ra màn hình điểm TB của mỗi bạn trong lớp. Bài tập 3/(SGK trang 78) Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất. ĐỀ THI HỌC KÌ 2 NĂM HỌC 2011-2012 ĐỀ 1 TRẮC NGHIỆM: 1/ Các khai báo biến mảng M sau đây, khai báo nào đúng ? a) M: array(1:100) of byte b) M: array [1;100] of byte c) M: array[1,100] of byte d) M: array [ 1..100 ] of byte 2/Các câu lệnh Pascal sau, câu nào viết đúng : a) For i:=10 to 1 do x:=x+1 b) For i:=1 to 10 do x:=x+1 c) For i:=10 do 1 to x:=x+1 d) For i:=1 do 10 to x:=x+1 3/ Cho khai báo M:array[1..5] of integer chọn lệnh gán đúng: a)M[4]:= -6 b) M[6]:= 6 c) M[5] :=“ ten” d)M[3]:=4.2 4.Khi nào thì câu lệnh For..to..do kết thúc ? a) Khi biến đếm nhỏ hơn giá trị cuối b)Khi biến đếm bằng giá trị cuối c)Khi biến đếm lớn hơn giá trị đầu d)Khi biến đếm lớn hơn giá trị cuối 5.Trong đoạn lệnh sau : x:=10 ; y:=1 ;While x 5 do y:=y+1 câu đúng trong các câu sau là: a)Sau chương trình, biến y có giá trị 6 b)Câu lệnh sau do không thực hiện c) Lệnh y:=y+1 lặp 5 lần d) số lần lặp là vô tận 6.Phần mềm Yenka dùng để : a)Quan sát hình không gian b)Luyện gõ phím nhanh c)Tìm hiểu thời gian d) Học vẽ hình 7/Hoạt động nào sau đây lặp với số lần nhất định và biết trước: a) Gọi điện thoại cho đến khi có người nhấc máy b)Học cho đến khi thuộc bài c)Nhặt từng cọng rau cho tới khi xong d)Mỗi ngày đánh răng 2 lần 8/Trong phần mềm GEOOGEBRA công cụ dùng để : a) Vẽ tia đi qua 2 điểm b)Vẽ đường thẳng đi qua 2 điểm c)Vẽ đoạn thẳng với kích thước cho trước d)vẽ đoạn thẳng 9/Khi viết câu lệnh lặp theo cú pháp for I:=X to Y do Write (*) để câu lệnh Write(*) thực hiện ít nhất một lần thì phát biểu nào sau đây sai ? a) Y chỉ cần bằng X b) Y phải lớn hơn X c)A phải lớn hơn Y d) Y lớn hơn bằng X 10/Sau câu lệnh lặp For i:=2 to 9 do write (‘ Cam Ranh’) chữ Cam Ranh được viết ra màn hình mấy lần a) 7 lần b) 8 lần c) 9 lần d) 2 lần 11/Đoạn lệnh sau đây a:=1 ; While a<5 do begin Write(a) ; a:=a+1 ; end; cho kết quả gì ? a) In ra các số từ 1 đến 4 b)In ra vô hạn số 1 c)In ra tổng từ 1đến 4 d)In ra các số từ 1đến 5 12/ Sau đoạn chương trình Sum:=0 ; while sum < 5 do sum:=sum+1 giá trị của sum bằng bao nhiêu? a)5 b)10 c)15 d)0 TỰ LUẬN: Câu 1: Hãy chỉ ra lỗi của các lệnh sau: a) for i:=100 to 1 do writeln(‘A’) b)for i:=1.5 to 10.5 do writeln(‘A’) c)x:=10; while x:=10 do x:=x+5 d)x:=10; while x=20 do x=x+5 Câu 2: Hãy viết lại thuật toán sau bằng ngôn ngữ Pascal: Bước 1: S Bước 2: Nếu , chuyển tới bước 4 Bước 3: và quay lại bước 2 Bước 4: Thông báo S và kết thúc thuật toán Câu 3: Dùng ngôn ngữ Pascal viết chương trình nhập số nguyên N tính và in ra giá trị trung bình các số nguyên liên tiếp từ 1 đến N, in ra các số chẵn nằm trong khoảng từ 1đến N. ĐÁP ÁN: 1/a) Giá trị đầu lớn hơn giá trị cuối b)Biến đếm có giá trị số thực c)Điều kiện là lệnh gán d)Câu lệnh sai dấu 2/ Be gin S:=10; X:=0.5; While S 5.2 do s:=s –x ; Write(s); end. 3) Var I,N,S : interger; R : real; Begin Write(‘Nhap so nguyen n= ‘); readln(N); For I:=1 to N do S:=S+I; R:=S/N; For I:=1 to N –1 do if I mod 2 =0 then Write(I:5); Readln; End. ĐỀ 2 Tự luận: Câu 1: Hãy chỉ ra lỗi của các câu lệnh sau: for i:=1 to 10 ; do X:=x+1; While i:=1 do T:=10; I:=1; while i<10 do sum := sum+i; I:= i+1; Var A: array[1,20] of Real; Câu 2: Hãy viết lại thuật toán sau bằng ngôn ngữ Pascal Bước 1: 1 Bước 2: Nếu i>k, chuyển tới bước 4 Bước 3: và quay lại bước 2 Bước 4: thông báo S và kết thúc thuật toán Câu 3: Viết chương trình tính tổng . Với n là số nguyên dương nhập từ bàn phím. Đáp án: 1/ a) thừa dấu ; trước do b)ĐK là lệnh gán c)Thiếu begin và end trước hai lệnh sau do d) giữa các phần tử là dấu .. 2/ Begin S:=0; i:=1; While i<= 100 do Begin S:=s+i; i:=i+1; end; Write(s); end; 3/ var I,N: integer; S: real; Begin Write(‘ nhap so nguyen n = ‘); readln(N); S:=0; For i:=1 to N do S:=s+1/i; Writeln(‘ Tong can tim la :’ ,S:6:2); readln; end. XEM CÁC BÀI : -QUAN SÁT HÌNH KG VỚI PHẦN MỀM YENKA; TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUNTIMES HỌC VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA ; LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT TRẮC NGHIỆM: 1/ Biến A có kiểu mảng, đoạn chương trình For I:=1 to 5 do sum :=sum +A[i] ; cho kết quả gì ? a) Cộng dồn 5 phần tử của mảng A b)In ra màn hình 5 phần tử của mảng A b) Nhập trị cho 5 phần tử trong mảng A d) In ra màn hình 5 số nguyên đầu tiên 2/Các câu lệnh Pascal sau, câu lệnh nào viết đúng ? a) For i:=5 do 1 to Write(i) b)For i:=1 do 5 to Write(i) c)For i:=5 to 1 do Write(i) d)For i:=1 to 5 do Write(i) 3. Cho khai báo a:array [1..5] of integer ; chọn lệnh gán đúng: a) a[5]:=’A’ b)a[3]:=5.1 c)a[4]:= -5 d)a[6]:=5 4.Phần mềm Geogebra dùng để : a) 5.Khi viết câu lệnh lặp theo cú pháp for I:=A to B do write(*) ; để câu lệnh write(‘*’) thực hiện một lần thì phát biểu nào sau sai? a) B phải nhỏ hơn A b) B phải lớn hơn bằng A c) B chỉ cần bằng A d) B phải lớn hơn A 6.Trên thanh công cụ chuẩn của phần mềm vẽ hình GEOGEBRA, công cụ . dùng làm gì ? a)Xóa bỏ tên của điểm được chọn b)Thêm tên vào một điểm c)Thêm một điểm mới có tên điểm d)Xóa bỏ một điểm được chọn 7. Trong đoạn lệnh sau : x:=5; while x <= 3 do y:=y+1; câu đúng trong các câu sau là: a) câu lệnh sau do không thực hiện b) lệnh y:=y+1 lặp 5 lần c) số lần lặp là vô hạn d)Sau chương trình, biến y có giá trị 3 8. Đoạn lệnh sau max:=a[1];for i:=2 to 100 do if a[i]< max then max:=a[i]; write(max); cho kết quả là: a)Tổng các phần tử b) Phần tử lớn nhất c)Phần tử nhỏ nhất d)Phần tử trung bình 9.Đoạn chương trình s:=0; for i:=1 to 10 do s:=s+i; write (s); kết quả in trên màn hình là: a)101 b)55 c)11 d)100 10.Sau khi thực hiện đoạn chương trình for i:=0 to 10 do wrie(‘A’); giá trị của i là: a) Không xác định b)0 c)10 d)11 11. Đoạn chương trình sau đây a:=1 ; k:=4 ; whlie a< k do be gin write(a); a:=a+1;end; cho kết quả gì? a)In ra tổng từ 1 đến 4 b) In ra các số từ 1đến 4 c) In ra các số từ 1đến 3 d) In ra vô hạn số 1 12. Sau đoạn chương trình S:=1;While S<=5 do S:=S+2; giá trị của S bằng bao nhiêu ? a) 15 b)1 c)7 d)5 Tự luận: Câu 1: Hãy chỉ ra lỗi của các câu lệnh sau: for i:=1 to 10 ; do X:=x+1; While i:=1 do T:=10; I:=1; while i<10 do sum := sum+i; I:= i+1; Var A: array[1,20] of Real; Câu 2: Hãy viết lại thuật toán sau bằng ngôn ngữ Pascal Bước 1: 1 Bước 2: Nếu i>k, chuyển tới bước 4 Bước 3: và quay lại bước 2 Bước 4: thông báo S và kết thúc thuật toán Câu 3: Viết chương trình dùng câu lệnh lặp While ... do để tính tổng . Với n là số nguyên dương nhập từ bàn phím. Đáp án: 1/ a) thừa dấu ; trước do b)ĐK là lệnh gán c)Thiếu begin và end trước hai lệnh sau do d) giữa các phần tử là dấu .. 2/ Begin S:=0; i:=1; While i<= 100 do Begin S:=s+i; i:=i+1; end; Write(s); end; 3/ var I,N: integer; s: real; Begin Write(‘ nhap so nguyen n = ‘); readln(N); For i:=1 to N do S:=s+1/i; Write(S:5:1); readln; end; I. Trắc nghiệm Chọn câu đúng: Câu 1: Trong vòng lặp For := to do ; củaPascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào +1 -1 Một giá trị bất kỳ Một giá trị khác không Câu 2: Câu lệnh pascal nào sau đây là hợp lệ? For i:=100 to 1 do writeln(‘A’); For i:= 1 to 10 do writeln(‘A’); For i:=1.5 to 10.5 do writeln(‘A’); For i= 1 to 10 do writeln(‘A’); Câu 3: Lệnh lặp nào sau đây là đúng? For i:=1 to 10; do x:=x+1; For i:=10 to 1 do x:=x+1; For i:=1 to 10 do x:=x+1; For i=1 to 10 do x:=x+1; Câu 4: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu Interger; Real; String Tất cả các kiểu trên đều được Câu 5: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giá trị in ra màn hình của j là? 4 6 8 10 Câu 6: Để tính tổng S=1+1/2 +1/3 + 1/4 1/n; em chọn đoạn lệnh: for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2)=0 then S:=S + i Else S:= S + I; for i:=1 to n do S:=S + 1/i; for i:=1 to n do if ( i mod 2)0 then S:=S + 1/i Else S:=S-1/i; Câu 7: Để tính tổng S=1+3 + 5 + + n; em chọn đoạn lệnh: for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2) 0 then S:=S + i; for i:=1 to n do if ( i mod 2)=0 then S:=S + i else S:= S + I; for i:=1 to n do if ( i mod 2)=0 then S:=S + i; Câu 8: Vòng lặp while ..do là vòng lặp: Biết trước số lần lặp Chưa biết trước số lần lặp Biết trước số lần lặp nhưng giới hạn là <=100 Biết trước số lần lặp nhưng giới hạn là >=100 Câu 9: Đoạn lệnh sau đây So:=1; While so<10 do writeln(so); So:=so+1; Sẽ cho kết quả gì? In ra các số từ 1 đến 9 In ra các số từ 1 đến 10 Không phương án nào đúng In vô hạn các số 1, mỗi số trên một dòng Câu 10: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp S:=0; n:=0; While S< =10 do n:=n+1; s:=s+n; 9 lần 10 lần 11 lần Vô hạn lần Câu 11: Câu lệnh lặp whiledo có dạng đúng là: x:=10; While x:=10 do x:=x+5; x:=10; While x:=10 do x=x+5; x:=10; While x=10 do x=x+5; x:=10; While x=10 do x:=x+5; Câu 12: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình? Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân Viết số 1 rồi viết số 3.5 Chỉ viết số 3.5 mà thôi Không thực hiện được vì giá trị của biến đếm có kiểu thứ tự là Real Câu 13: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp S:=0; n:=0; While S< =10 do Begin n:=n+1; s:=s+n; end; 4 lần 6 lần 5 lần 10 Câu 14: Câu lệnh nào sau đây lặp vô hạn lần s:=5; i:=0; While i<=s do s:=s + 1; s:=5; i:=1; While i<=s do i:=i + 1; s:=5; i:=1; While i> s do i:=i + 1; s:=0; i:=0; While i<=n do if (i mod2)=1 then S:=S + I else i:=i+1; Câu 15: Hãy tìm hiểu đoạn chương trình sau đây. Không cần viết chương trình, hãy cho biết lệnh Writeln in ra màn hình giá trị của i, j, k là bao nhiêu? i:=1; j:=2; k:=3; Trả lời While i<=6 do i:=i+1; j:=j+1; k:=k+j; I= Space:=’ ’; J= Write(I,space,j,space,k); K= Câu 16: Hãy tìm hiểu đoạn chương trình sau đây. Không cần viết chương trình, hãy cho biết lệnh Writeln in ra màn hình giá trị của i, j, k là bao nhiêu? i:=1; j:=2; k:=3; TRẢ LỜI While i<=6 do I= Begin i:=i+1; j:=j+1; k:=k+j; end; J= Space:=’ ’; K= Write(I,space,j,space,k); Câu 17: Hãy tìm hiểu đoạn chương trình sau đây. Sau khi đoạn chương trình này được thực hiện, giá trị của x bằng bao nhiêu? X:=0; Tong:=0; While tong<=20 do Begin Writeln(tong); Tong:=tong+1; End. X:=tong; 20 21 Không xác định 0 Câu 18: Để tính tổng S=1+1/3 + 1/5 + +1/ n; em chọn đoạn lệnh: for i:=1 to n do if ( i mod 2)=1 then S:=S + 1/i; for i:=1 to n do if ( i mod 2) =0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i else S:= S + 1/; for i:=1 to n do if ( i mod 2)=0 then S:=S + i; Câu 19: Để tính tổng S=1+2+3+ 4+ 5 + + n; em chọn đoạn lệnh: s:=0; i:=0; While i<=n do S:=S + 1; s:=0; i:=0; While i<=n do If (I mod 2)= 1 Then S:=S + i; s:=0; i:=0; While i<=n do begin S:=S + i; i:=i+1; End; s:=0; i:=0; While i<=n do begin if (i mod2)=1 Then S:=S + i Else i:=i+1; End; Câu 20: Hãy xác định đúng sai cho những phát biểu dưới đây Nội dung Đúng Sai Không nên thay đổi giá trị của biến đếm trong câu lệnh lặp For do, ví dụ câu lệnh lặp sau đây là không nên sử dụng For i:=1 to n do i:=i+2; Trong câu lệnh lặp for biến đếm:=giá trị đầu to giá trị cuối do câu lệnh; Nếu giá trị đầu < giá trị cuối thì chương trình dịch sẽ báo lỗi để ta chỉnh sữa lại Câu lệnh lặp For do rất thuận tiện và hữu ích trong việc tránh phải viết lặp đi lặp lại nhiều lần một câu lệnh nào đó. Chẳng hạn để in ra các số nguyên hơn kém nhau 1 đơn vị từ 1 đến 15 ta chỉ viết 1 câu lệnh sau For i:=1 to 15 do writeln(i:3:1); Mọi câu lệnh lặp Whiledo đều có thể thay thế một cách thích hợp bởi câu lệnh For..do II. Tự luận Bài 1. Điền vào chỗ trống để được câu đúng: 1. Câu lệnh điều kiện có hai dạng: 2. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh: 3. Câu lệnh lặp với số lần chưa biết trước trong Pascal là: Bài 2. Viết chương trình tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím. program Tinh_tong; var N,i: integer; S: longint; begin write(‘Nhap so N = ‘); readln(N); S:= 0; for i:= 1 to N do S:= S+i; writeln(‘Tong cua’, N, ‘so tư nhien dau tien S = ‘, S); readln end. Bài 3. Ta kí hiệu N! là tích N số tự nhiên đầu tiên. Viết chương trình tính N! = 1.2.3. ... N program Tinh_Giai_Thua; var N,i:integer; P:longint; begin write(‘Nhap so N = ‘); readln(N); P:= 1; for i:= 1 to N do P:= P*i; writeln( N, ‘! = ‘, P); readln end. Bài 4. Viết chương trình tính tổng các số lẻ từ 1 đến n. program tinh_tong; uses crt; var S, n, i: integer; begin clrscr; write(‘nhap so nguyen n=’); readln(n); S:= 0; for i:= 1 to n do if i mod 20 then S:= S+i; writeln(‘tong S=,’ S); readln; end. Bài 5. Viết chương trình xuất ra màn hình tổng bình phương những số lẻ từ 1 đến N. Với N là số tự nhiên được nhập vào từ bàn phím. (tương tự như bài 4) Bài 6. Viết chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không. Thuật toán: Bước 1: Nhập số tự nhiên N từ bàn phím. Bước 2: Nếu N£ 1 thông báo N không phải là số nguyên tố, rồi chuyển đến bước 4. Bước 3: Nếu N > 1: 3.1. i¬2; 3.2. Trong khi N mod i 0, i¬ i+1; 3.3. Nếu i = N thì thông báo N là số nguyên tố, ngược lại thông báo N không phải là số nguyên tố. Bước 4: Kết thúc thuật toán. Uses Crt; Var n,i:integer; Begin Clrscr; write('Nhap vao mot so nguyen: '); readln(n); If n<=1 then writeln('N khong la so nguyen to') else begin i:=2; while (n mod i0) do i:=i+1; if i=n then writeln(n,' la so nguyen to!') else writeln(n,' khong phai la so nguyen to!'); end; readln End. Bài 7. Viết chương trình xuất ra màn hình những số nguyên tố nhỏ hơn 100. Program CAC_SO_NGUYEN_TO; Var i, t: integer; Begin Clrscr; Writeln(‘Cac so nguyen to nho hon 100:’); For t:=2 to 100 do Begin i:= 2; while (t mod i 0) do i:=i+1; If i=t then Write(t:5); end; readln End. BGH Nhóm GV GV duyệt
File đính kèm:
- bo de on tap mon tin 8.doc