Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII I ĐẶT VẤN ĐỀ Lý chọn đề tài Trong đời sống nay, Tinhọc môn học đóng vai trò quan trọng môn liên quan đến hầu hết lĩnh vực sống Trong đó, Pascal phần nhỏ môn này, chương trình lập trình dành cho học sinh bắt đầu làm quen với việc họclập trình Vì thế, em chọn đề tài “Cấu trúclặp pascal” để nghiên cứu nhằm cung cấp cho bạn kiến thức liên quan đến phần số tập tự luyện dành cho bạn nghiên cứu Như biết, Pascal ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, nhà khoa học Niklaus Wirth phát triển vào năm 1970 ngôn ngữ đặc biệt thích hợp cho kiểu lập trình có cấutrúc Cho đến nay, Pascal sử dụng để giảng dạy lập trình nhiều trường trung học đại học giới Đó ngôn ngữ cho phép mô tả thuật toán thuận tiện Nghiên cứu cấutrúclặp giúp tìm phương pháp giải nhanh tập toán học hay khó, nắm tảng kiến thức cho trình học Pascal Đồng thời chuyên đề hội để em tìm hiểu sâu sắc môn Tin học, xây dựng thêm niềm yêu quý môn học 1.2 Mục tiêu - Hiểu nhu cầucấutrúclặp biểu diễn thuật toán - Hiểu cấutrúclặp với số lần biết trước chưa biết trước - Mô tả thuật toán số toán đơn giản có sử dụng lệnh lặp - Biết cách sử dụng dạng lệnh for, while ngôn ngữ lập trình Pascal - Biết sử dụng lệnh for… fo, while để giải số toán đơn giản - Vận dụng đắn loại cấutrúclặp vào tình cụ thể; - Viết lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước - Hiểu cách sử dụng câu lệnh repeat – until biết cách sử dụng nhuần nhuyễn - Nâng cao kiến thức thân, từ hình thành thêm tính ham thích môn học - Cung cấp nguồn tài liệu cho bạn bắt đầu làm quen với pascal Nội Dung 2.1 Lặp Trong số thuật toán có thao tác phải thực lặplặp lại số lần Một đặc trưng máy tính có khả thực hiệu thao tác lặpCấutrúclặp mô tả thao tác lặp có hai dạng lặp với số lần biết trước lặp với số lần chưa biết trước Xét toán: Bài toán S= + + + + Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII Bài toán S= + + + + 2.1 Lặp với số lần biết trước Để mô tả cấutrúclặp với số lần biết trước, pascal dùng câu lệnh for – với hai dạng tiến lùi sau: Dạng lặp tiến: For < biến đếm>:=< giá trị đầu> to < câu lệnh>; Dạng lặp lùi: For < biến đếm>:=< giá trị cuối> dowto < giá trị đầu> < câu lệnh>; Trong đó: + Biến đếm thường biến kiểu nguyên + Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ hay giá trị cuối Hoạt động lệnh for – do: + Ở dạng lặp tiến: câu lệnh viết sau từ khóa thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng 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 thực tuần tự, với biến đếm nhận giá trị liên tiếp giảm dần từ giá trị cuối đến giá trị đầu + Tương ứng với giá trị biến đếm, câu lệnh sau thực lần Xét ví dụ: Ví dụ 1: Viết chương trình in tất ước số n (Với n nhập từ bàn phím) a Hướng dẫn: - Cho biến i chạy từ đến n Nếu n chia hết cho i in i Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII Kết quả: c Nhận xét: Chương trình có hai điểm yếu - In dư dấu phẩy cuối dãy ước - Khi n = không in số số ước Ví dụ 2: Viết chương trình in số lẻ nhỏ n ( Với n nhập) Sao cho 15 số lẻ in dòng a Hướng dẫn: - Cho j =0 - Cho biến i chạy từ đến n - Nếu i chẵn ( i chia dư 0) in số n tăng dem lên Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII - Nếu dem chia hết cho 15 thực xuống dòng (Dùng Writeln) b Kết quả: c Nhận xét: Lệnh writeln tham số cho phép xuống hàng Nếu có nhận xét 30 số có 15 số lẻ, ta không cần thêm biến đếm mà cần kiểm tra biến i để xuống hàng 2.3 Lặp với số lần chưa biết trước câu lệnh While – Để mô tả cấutrúc lặp, Pascal dùng câu lệnh While – có dạng: While < điều kiện> < câu lệnh>; Trong đó: While, từ khóa Điều kiện biểu thức logic Câu lệnh câu lệnh đơn ghép - Hoạt động câu lệnh while do: + Bước 1: Kiểm tra điều kiện lặp: Nếu điều kiện lặp sai thoát khỏi vòng lặp, chuyển sang lệnh Nếu điều kiện lặp chuyển sang bước + Bước 2: Thực khối lệnh lặp + Bước 3: Quay lại bước Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII Việc thực lệnh While – thể qua sơ đồ • Lưu ý: Trong khối lệnh lặp bắt buộc phải có lệnh thay đổi biến số ﴾để thay đổi giá trị ﴾ Các câu lệnh vòng lặp thường lặp lại nhiều lần, để tăng tính hiệu chương trình thao tác không cần lặp lại nên đưa vòng lặp Khi thực chương trình, gặp tượng lặp vô hạn nhấn phím Pause (tạm dừng) để xem rõ tượng Muốn cho việc thực lặp tiếp diễn nhấn phím Enter Để ngắt việc thực lặp vô hạn, nhấn đồng thời hai phím Ctrl + Break, gõ Turbo để trở hình soạn thảo, nhấn phím F9 để dịch nốt phần lại chương trình Cũng có phải nhấn tổ hợp phím Ctrl + Alt + Del để xóa bỏ việc thực tiếp chương trình môi trường Windows Ví dụ 3: Viết chương trình tính n! với n! định nghĩa sau: -n! = với n = - n! = 1.2.3 n (Tích n số từ đến n) Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII a Hướng dẫn b Kết quả: c Nhận xét: Tiết kiệm biến i để chạy làm thay đổi n nên xuất xuất câu chung chung “Giai thua cua n la:” Ví dụ 4: Viết chương trình cho phép tính tổng nhiều số (Chưa biết số) Nhập số để kết thúc trình nhập Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII a Hướng dẫn b Kết quả: TÀI LIỆU THAM KHẢO [1] Tinhọc 11 Hồ Sĩ Đàm (chủ biên) 2016 Chuyên đề Cấutrúclặp Pascal Kiểm tra HKII [2] https://hoc24.vn/ly-thuyet/bai-10-cau-truc-lap.3255/ [3] http://giaoan.violet.vn/present/show/entry_id/2111901 [4] http://thptdoanket-tanphu.edu.vn/bvct/thptdoanket-tanphu-truong-doan-ket-truongdoan-ket-tan-phu/287/bai-tap-trac-nghiem-cau-truc-lap-sgk-tin-hoc-11.html [5] http://linhtv.violet.vn/entry/show/entry_id/4894731 [6] http://violet.vn/ngocsinh80/entry/show/entry_id/6511327 [7] https://diendan.hocmai.vn/threads/bai-tap-pascal-cau-truc-lap.339110/ [8] https://sites.google.com/site/tinhoc9nptbinh/bai-tap/dang-cau-truc-lap-xac-dinh [9] https://www.youtube.com/watch?v=uLquJmnbPPM [10] http://tuhocit.vn/lap-trinh-c-29-bai-tap-cau-truc-lap-do-while/ ...Chuyên đề Cấu trúc lặp Pascal Kiểm tra HKII Bài toán S= + + + + 2.1 Lặp với số lần biết trước Để mô tả cấu trúc lặp với số lần biết trước, pascal dùng câu lệnh... điều kiện lặp: Nếu điều kiện lặp sai thoát khỏi vòng lặp, chuyển sang lệnh Nếu điều kiện lặp chuyển sang bước + Bước 2: Thực khối lệnh lặp + Bước 3: Quay lại bước Chuyên đề Cấu trúc lặp Pascal... kết thúc trình nhập Chuyên đề Cấu trúc lặp Pascal Kiểm tra HKII a Hướng dẫn b Kết quả: TÀI LIỆU THAM KHẢO [1] Tin học 11 Hồ Sĩ Đàm (chủ biên) 2016 Chuyên đề Cấu trúc lặp Pascal Kiểm tra HKII [2]