Tải bản đầy đủ (.docx) (8 trang)

Bài tin học dựa trên cấu trúc lặp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (127.06 KB, 8 trang )

Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

I. ĐẶT VẤN ĐỀ
1. Lý do chọn đề tài.
Trong đời sống hiện nay, Tin học là một môn học đóng vai trò rất quan trọng vì bộ
môn này liên quan đến hầu hết các lĩnh vực trong cuộc sống. Trong đó, Pascal là một
phần nhỏ của bộ môn này, là một chương trình lập trình cơ bản dành cho những học sinh
mới bắt đầu làm quen với việc học lập trình. Vì thế, em chọn đề tài “Cấu trúc lặp trong
pascal” để nghiên cứu nhằm cung cấp cho các bạn kiến thức liên quan đến phần này và
một số bài tập tự luyện dành cho các bạn nghiên cứu.
Như chúng ta đã biết, Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng
mệnh lệnh, được nhà khoa học Niklaus Wirth phát triển vào những năm 1970 là ngôn ngữ
đặc biệt thích hợp cho kiểu lập trình có cấu trúc. Cho đến nay, Pascal vẫn được sử dụng
để giảng dạy về lập trình trong nhiều trường trung học và đại học trên thế giới. Đó là
ngôn ngữ cho phép mô tả thuật toán thuận tiện.
Nghiên cứu về cấu trúc lặp có thể giúp chúng ta tìm ra phương pháp giải nhanh các
bài tập toán học hay và khó, nắm nền tảng kiến thức cơ bản cho quá trình học Pascal.
Đồng thời chuyên đề còn là cơ hội để em tìm hiểu sâu sắc hơn về bộ 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ầu của cấu trúc lặp trong biểu diễn thuật toán.
- Hiểu cấu trúc lặp với số lần biết trước và chưa biết trước.
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.
- Biết cách sử dụng đúng dạng lệnh for, while trong ngôn ngữ lập trình Pascal.
- Biết sử dụng lệnh for… fo, while ...do để giải một số bài toán đơn giản.
- Vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể;
- Viết đúng các 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 cách sử dụng câu lệnh repeat – until và biết cách sử dụng nhuần nhuyễn.
- Nâng cao kiến thức bản 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 cơ bản cho các bạn mới bắt đầu làm quen với pascal...
2. Nội Dung.
2.1. Lặp.
Trong một số thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần. Một
trong các đặc trưng của máy tính là có khả năng thực hiện hiệu quả các thao tác lặp. Cấu
trúc lặp mô tả thao tác lặp và có hai dạng là lặp với số lần biết trước và lặp với số lần
chưa biết trước.
 Xét các bài toán:
Bài toán 1.

S= +

+ +........ +
1


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

Bài toán 2.

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 for – do với hai dạng
tiến và lùi như sau:
 Dạng lặp tiến:


For < biến đếm>:=< giá trị đầu> to <giá trị cuối> do <
câu lệnh>;
 Dạng lặp lùi:

For < biến đếm>:=< giá trị cuối> dowto < giá trị đầu>
do < câu lệnh>;
Trong đó:

+ Biến đếm thường là biến 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. Giá trị đầu phải
nhỏ hơn hay bằng giá trị cuối.
Hoạt động của lệnh for – do:
+ Ở dạng lặp tiến: câu lệnh viết sau từ khóa do được thực hiện tuần tự, với biến
đếm lần lượt 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 do được thực hiện tuần tự, với biến đếm
lần lượt 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 mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần.
Xét ví dụ:
Ví dụ 1: Viết chương trình in ra tất cả các ước của một số n (Với n được nhập từ bàn
phím)
a. Hướng dẫn: - Cho biến i chạy từ 1 đến n. Nếu n chia hết cho i thì in ra i

2


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII


Kết quả:

c. Nhận xét: Chương trình trên có hai điểm yếu
- In dư một dấu phẩy ở cuối dãy các ước.
- Khi n = 0 thì không in một số nào trong khi mọi số đều là ước của 0.
Ví dụ 2: Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập). Sao
cho 15 số lẻ được in trên một dòng.
a. Hướng dẫn:
- Cho j =0.
- Cho biến i chạy từ 1 đến n.
- Nếu i chẵn ( i chia 2 dư 0) thì in ra số n và tăng dem lên 1

3


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

- Nếu dem chia hết cho 15 thì thực hiện xuống dòng (Dùng Writeln)

b. Kết quả:

c.
Nhận xét: Lệnh writeln không có tham số cho phép xuống hàng. Nếu có nhận xét trong
30 số thì có 15 số lẻ, ta có thể không cần thêm biến đếm mà chỉ 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 và câu lệnh While – do
Để mô tả cấu trúc lặp, Pascal dùng câu lệnh While – do có dạng:


While < điều kiện> do < câu lệnh>;
Trong đó:
 While, do là các từ khóa.
 Đ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.
- Hoạt động của 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 thì thoát khỏi vòng lặp, chuyển sang lệnh tiếp theo.
 Nếu điều kiện lặp đúng thì chuyển sang bước 2.
+ Bước 2: Thực hiện khối các lệnh lặp.
+ Bước 3: Quay lại bước 1.
4


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

Việc thực hiện lệnh While – do được thể hiện qua sơ đồ



Lưu ý:

 Trong khối các lệnh lặp bắt buộc phải có lệnh thay đổi biến chỉ số ﴾để thay đổi

giá trị <điều kiện>﴾.
 Các câu lệnh trong vòng lặp thường được lặp lại nhiều lần, vì vậy để tăng tính hiệu
quả của chương trình thì những thao tác không cần lặp lại nên đưa ra ngoài vòng
lặp.

 Khi đang thực hiện chương trình, nếu gặp hiện tượng lặp vô hạn có thể nhấn phím
Pause (tạm dừng) để xem rõ hiện tượng này. Muốn cho việc thực hiện lặp tiếp
diễn thì nhấn phím Enter. Để ngắt việc thực hiện lặp vô hạn, nhấn đồng thời hai
phím Ctrl + Break, rồi gõ Turbo để trở về màn hình soạn thảo, tiếp theo nhấn
phím F9 để dịch nốt phần còn lại của chương trình. Cũng có khi phải nhấn tổ hợp
phím Ctrl + Alt + Del để xóa bỏ việc thực hiện tiếp chương trình trong môi
trường Windows.
Ví dụ 3: Viết chương trình tính n! với n! được định nghĩa như sau: -n! = 1 với n = 0 - n!
= 1.2.3...n (Tích của n số từ 1 đến n)

5


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

a. Hướng dẫn

b. Kết quả:
c.

Nhận xét: Tiết kiệm được một biến i để chạy nhưng làm thay đổi n nên khi xuất ra chỉ có
thể xuất mộ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 của nhiều số (Chưa biết bao nhiêu số).
Nhập số 0 để kết thúc quá trình nhập.

6



Chuyên đề Cấu trúc lặp trong 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.
7


Chuyên đề Cấu trúc lặp trong Pascal

Kiểm tra HKII

[2] />[3] />[4]
/>[5] />[6] />[7] />[8] />[9] />[10] />
8



×