Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
634,5 KB
Nội dung
1. Nêu cấu trúc của vòng lặp for ? Vòng lặp for có cấu trúc như sau: For <biến đếm>:=<giá trò đầu> to <giá trò cuối> do <câu lệnh>; 2.Viết chương trình tính tổng S là tổng các số tự nhiên từ 1 đến 10 program baitap; var S,i:byte; begin S:=0; for i:=1 to 10 do S:=S+i; writeln(‘S=',S); readln end. Bài toán: Tìm số nguyên n sao cho tổng các số từ 1 tới n là số nhỏ nhất lớn hơn 1000 Các em có thể giải bài toán này bằng những câu lệnh mình đã học không? BAØI 8: 1. Các hoạt động lặpvớisốlầnchưabiết trước Ví Dụ 1:SGK/67 Xảy ra 2 tình huống: Tình huống 1: Bạn Long gọi cho Trang nhưng không có người nhấc máy và bạn Long quyết đònh gọi thêm 2 lần nữa, nếu không có người nhấc máy sẽ kết thúc cuộc gọi không gọi nữa. Tức là, bạn Long đã xác đònh (hay biết trước) sốlần mình phải gọi điện là 2 lần. 1. Các hoạt động lặpvớisốlầnchưabiết trước Ví Dụ 1:SGK/67 Tình huống 2: Lần khác bạn Long quyết đònh sẽ gọi đến khi nào có người bắt máy mới thôi bạn Long sẽ lặp đi lặp lại công việc: nhấc máy, quay số, gọi cho Trang, Long không biết trước sốlần Long sẽ phải gọi. lặpvớisốlần không xác đònh. Điều kiện ngưng việc lặp: có người bắt máy 1. Các hoạt động lặpvớisốlầnchưabiết trước Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…), ta sẽ được các kết quả T1=1, T2=1+2, T3=1+2+3, …tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? 1. Các hoạt động lặpvớisốlầnchưabiết trước THUẬT TOÁN: Kí hiệu S là tổng cần tìm, ta có thuật toán sau: Bước 1: S 0, n 0. Bước 2: Nếu S<= 1000, n n+1; ngược lại, chuyển tới bước 4. Bước 3: S S+n và quay lại bước 2. Bước 4: In kết quả S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán. SÔ ÑOÀ KHOÁI: 1. Các hoạt động lặpvớisốlầnchưabiết trước Nhận xét: Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặpvớisốlầnchưabiết trước (While… do) [...]...2 Ví dụ về lệnh lặpvớisốlầnchưabiết trước: Trong Pascal câu lệnh lặp vớisốlầnchưabiết trước có dạng: While do Trong đó: - Điều kiện thường là một phép so sánh - Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép 2 Ví dụ về lệnh lặp vớisốlầnchưabiết trước: * Câu lệnh này được thực hiện như sau: B.1: Kiểm... lệnh sẽ bò 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 2 Ví dụ về lệnh lặp vớisốlầnchưabiết trước: *Một số ví dụ: VD2: Tìm số nguyên n sao cho tổng từ 1 tới n là số nhỏ nhất lớn hơn 1000 Các em hãy dựa vào thuật toán đã xây dựng cho ví dụ 2 ở trên để viết chương trình 2 Ví dụ về lệnh lặp vớisốlầnchưabiết trước: Chương trình như sau: program... có phải là trường hợp lặp vớisốlầnchưabiết trước hay không: Đ 1.Sửa lỗi một đoạn văn bản sau khi đánh máy Đ 2.Đếm số bước đi từ nhà tới trường Đ 3.Đếm số giây một học sinh giải một bài toán S 4.Tìm số n sao cho n là số nguyên dương lớn nhất nhỏ hơn 100 Đ 5.Đếm số xe máy chạy ngang qua một đoạn đường trong một ngày S 6.Tính tổng n số nguyên dương với n nhập từ bàn phím Đ 7.Đếm số lá có trên một cây... VD4: Hãy cho biết chương trình sau chạy như thế nào? program VD4; var tieptuc:char; ten:string; begin tieptuc:='c'; while tieptuc='c' do begin write('nhap ten cua ban: '); readln(ten); writeln('chao ban ',ten); write('Tiep tuc ? c/k: '); readln(tieptuc); end; VD4: Hãy cho biết chương trình sau chạy như thế nào? Đây là chương trình lặp đi lặp lại việc nhập tên và xuất ra câu chào, việc lặp kết thúc . động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước (While… do) 2. Ví dụ về lệnh lặp với số lần chưa biết. thôi bạn Long sẽ lặp đi lặp lại công việc: nhấc máy, quay số, gọi cho Trang, Long không biết trước số lần Long sẽ phải gọi. lặp với số lần không xác