1. Trang chủ
  2. » Giáo án - Bài giảng

Chuyên đề :Câu lệnh if – then môn tin học 11

14 1,9K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 145,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong lập trình Pascal, phần kiến thức về Cấu trúc rẽ nhánh là phần kiến thức chương trình đơn giản bắt đầu chuyển sang các chương trình có cấu trúc phức tạp. Để chuẩn bị cho tư duy lập trình của các em bắt nhịp được tốt hơn khi chuyển sang phần kiến thức về Cấu trúc rẽ nhánh nên tôi viết chuyên đề này để giúp các em luyện tập và sử dụng Câu lệnh if – then một cách thành thạo và hiệu quả khi lập trình giải bài toán. Do sự hạn chế về thời gian và kiến thức nên chuyên đề này không tránh khỏi thiếu sót, mong quí thầy cô và các em học sinh có ý kiến đóng góp về số điện thoại 0367 127 411. Xin trân trọng cảm ơn

Trang 1

MỤC LỤC

Trang 2

GIỚI THIỆU

Tác giả chuyên đề

Chức vụ Đơn vị công tác

Tên chuyên đề

Cấu trúc rẽ nhánh

Sử dụng câu lệnh if – then để lập trình giải bài toán

Trang 3

Phần 1: ĐẶT VẤN ĐỀ

Trong lập trình Pascal, phần kiến thức về Cấu trúc rẽ nhánh là phần kiến thức chương trình đơn

giản bắt đầu chuyển sang các chương trình có cấu trúc phức tạp

Để chuẩn bị cho tư duy lập trình của các em bắt nhịp được tốt hơn khi chuyển sang phần kiến

thức về Cấu trúc rẽ nhánh nên tôi viết chuyên đề này để giúp các em luyện tập và sử dụng Câu lệnh if – then một cách thành thạo và hiệu quả khi lập trình giải bài toán.

Do sự hạn chế về thời gian và kiến thức nên chuyên đề này không tránh khỏi thiếu sót, mong quí thầy cô và các em học sinh có ý kiến đóng góp về số điện thoại 0367 127 411 Xin trân trọng cảm ơn!

Trang 4

Nhập a, b, c

Thông báo phương trình vô nghiệm rồi kết thúc

D b2 – 4ac

D < 0?

Đúng Sai

Tính và đưa ra nghiệm thực rồi kết thúc

Phần 2: NỘI DUNG

Chuyên đề:

Cấu trúc rẽ nhánh

Sử dụng câu lệnh if – then để lập trình giải bài toán

1 Rẽ nhánh

- Trong thực tế, có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn

- Ví dụ cho hai lời thoại ở hai thời điểm khác nhau của hai bạn Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin học như sau:

“Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc”

“Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu mưa thì sẽ gọi điện cho Châu để trao đổi”

- Lời thoại thứ nhất thuộc dạng thiếu: Nếu…thì…

- Lời thoại thứ hai thuộc dạng đủ: Nếu…thì…, nếu không thì…

- Trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được từ các bước trước đó Tương tự ta có cấu trúc rẽ nhánh thiếu và đủ

- ví dụ, để giải phương trình bậc hai:

ax2 + bx + c = 0, (a≠0)

o Trước tiên, ta tính biệt số Delta D = b2 – 4ac

o Kiểm tra, Nếu D < 0 thì đưa ra thông báo phương trình vô nghiệm rồi kết thúc

Ngược lại thì tính và đưa ra nghiệm thực rồi kết thúc

- Sơ đồ thuật toán:

Trang 5

điều kiện câu lệnh

Đúng Sai

điều kiện

Đúng Sai

2 Câu lệnh if - then

Dạng thiếu.

- Cú pháp:

if <điều kiện> then <câu lệnh>;

- Sơ đồ thuật toán:

Dạng đủ.

- Cú pháp:

if <điều kiện> then <câu lệnh 1>

else <câu lệnh 2>;

- Sơ đồ thuật toán:

- Trong đó:

+ Điều kiện là biểu thức logic

+ Câu lệnh; câu lệnh 1; câu lệnh 2 là một câu lệnh của Pascal

- Ví dụ 1:

if N > 0 then write(N, ' la so duong');

- Ví dụ 2:

if N mod 2 = 0 then write(N, ' la so chan') else write(N, ' la so le');

Trang 6

3 Câu lệnh ghép

- Trong trường hợp sau then hoặc sau else có nhiều thao tác cần dùng tới nhiều câu lệnh để mô tả

khi đó ta cần ghép dãy câu lệnh đó thành câu lệnh ghép

- Cú pháp:

begin

<các câu lệnh>;

end;

- Ví dụ: Kiểm tra giá trị Delta trong giải phương trình bậc hai như sau:

if D < 0 then write('Phuong trinh vo nghiem') else

begin

x1:= (-b-sqrt(D)/(2*a);

x2:= (-b+sqrt(D)/(2*a);

writeln('x1 = ', x1:4:2);

writeln('x2 = ', x2:4:2);

end;

Trang 7

nhập a, b

Thông báo giá trị Max rồi kết thúc

a>b?

4 Bài tập

ØBài tập 1: Nhập vào từ bàn phím hai số nguyên a, b Đưa ra màn hình giá trị lớn nhất trong hai

số nguyên đó

- Ví dụ:

Dữ liệu nhập vào từ bàn phím Dữ liệu in ra màn hình

- Xác định bài toán:

• Input: Hai số nguyên a, b

• Output: Giá trị lớn nhất của hai số

- Ý tưởng:

Cách 1: Sử dụng thêm biến Max

Kiểm tra nếu a > b thì Max  a

Ngược lại thì Max  b;

if a > b then Max: = a

else Max:= b;

Cách 2: Sử dụng thêm biến Max

Max  a;

Kiểm tra nếu b > a thì Max  b;

Sơ đồ thuật toán: Sử dụng câu lệnh if – then dạng thiếu:

Max: = a;

if b > a then Max:= b;

Trang 8

nhập a, b

Maxa

Maxb

Thông báo giá trị Max rồi kết thúc sai

đúng b>a?

nhập a, b

Thông báo giá trị b rồi kết thúc

a>b?

Thông báo giá trị a rồi kết thúc

Cách 3: Không sử dụng thêm biến thứ ba (Max).

Kiểm tra nếu a > b thì thông báo giá trị a rồi kết thúc

Ngược lại thì thông báo giá trị b rồi kết thúc;

if a > b then Write(a)

else Write(b);

- Chương trình mẫu:

Trang 9

Program TimMax;

var a, b: integer;

begin

write('Nhap a, b: '); readln(a, b);

if a>b then write(a) else write(b);

readln;

end.

Trang 10

nhập a, b

- Thông báo giá trị b.

- Thông báo hai giá trị a b.

- Rồi kết thúc

a>b?

- Thông báo giá trị b.

- Thông báo hai giá trị a b.

- Rồi kết thúc

ØBài tập 2: Nhập vào từ bàn phím hai số nguyên a, b Đưa ra màn hình theo yêu sau:

- Dòng thứ nhất in ra giá trị lớn nhất của hai số

- Dòng thứ hai in ra hai giá trị cách nhau bởi một ký tự trống theo thứ tự số nhỏ trước, số lớn sau

- Ví dụ:

Dữ liệu nhập vào từ bàn phím Dữ liệu in ra màn hình

2 6

- Xác định bài toán:

• Input: Hai số nguyên a, b

• Output: In ra hai dòng

o Dòng thứ nhất: Giá trị lớn nhất của hai số

o Dòng thứ hai: Hai giá trị theo thứ tự số nhỏ trước, số lớn sau

- Ý tưởng: Dựa trên ý tưởng cách 3 của bài tập 1, sử dụng câu lệnh if-then chứa câu lệnh ghép

Kiểm tra nếu a > b thì

- Dòng thứ nhất in ra giá trị a.

- Dòng thứ hai in ra hai giá trị lần lượt là b a

Ngược lại thì

- Dòng thứ nhất in ra giá trị b.

- Dòng thứ hai in ra hai giá trị lần lượt là a b

Sơ đồ thuật toán:

Sử dụng câu lệnh if – then dạng đủ chứa câu lệnh ghép:

Trang 11

writeln(a);

writeln(b, ' ' ,a);

end else begin

writeln(b);

writeln(a, ' ' , b);

end;

- Chương trình mẫu:

Program TimMax2;

var a, b: integer;

begin

write('Nhap a, b: '); readln(a, b);

if a>b then begin

writeln(a);

writeln(b, ' ' ,a);

end else begin

writeln(b);

writeln(a, ' ' , b);

end;

readln;

end.

ØBài tập 3: Nhập vào từ bàn phím một điểm số là số nguyên dương N (0 ≤ N ≤ 10) Đưa ra màn

hình:

- Hoặc thông báo: N là điểm chưa đạt - nếu giá trị N

- Hoặc thông báo: N là điểm đạt - nếu giá trị N

- Hoặc thông báo: N là điểm xuất sắc - nếu giá trị N

- Ví dụ:

Dữ liệu nhập vào từ bàn phím Dữ liệu in ra màn hình

Trang 12

nhập N

sai

đúng N>8? Thông báo N là điểm xuất sắc rồi kết thúc

N>4? Thông báo N là điểm đạt rồi kết thúc

đúng

Thông báo N là điểm chưa đạt rồi kết thúc

sai

o Hoặc N là điểm chưa đạt

o Hoặc N là điểm đạt

o Hoặc N là điểm xuất sắc

- Ý tưởng: Sử dụng cấu trúc rẽ nhánh lồng nhau

Kiểm tra nếu N > 8 thì

thông báo N là điểm xuất sắc rồi kết thúc

Ngược lại

Nếu N > 4 thì thông báo N là điểm đạt rồi kết thúc

Ngược lại thì thông báo N là điểm chưa đạt rồi kết thúc.

Sơ đồ thuật toán:

Sử dụng câu lệnh if – then lồng nhau:

if N > 8 then Write(N, ' la diem xuat sac')

else

if N > 4 then Write(N, ' la diem dat');

else write(N, ' la diem chua dat');

- Chương trình mẫu:

Program Danhgia;

var N: byte;

begin

write('Nhap diem thi: '); readln(N);

if N > 8 then write(N, ' la diem xuat sac')

else

if N > 4 then write(N, ' la diem dat')

else write(N, ' la diem chua dat');

Trang 13

5 Bài tập tự làm ở nhà.

ØBài tập 4: Nhập vào từ bàn phím Số nguyên dương N Đưa ra màn hình số nguyên dương K

nhỏ nhất mà K ≥ N và K chia hết cho 10

- Ví dụ:

Dữ liệu nhập vào từ bàn phím Dữ liệu in ra màn hình

- Xác định bài toán:

• Input: Số nguyên dương N

• Output: Số nguyên dương K nhỏ nhất mà K ≥ N và K chia hết cho 10

- Hướng dẫn : Sử dụng phép chia div – chia lấy nguyên hoặc phép chia mod – chia lấy dư để tính

giá trị K

ØBài tập 5: Viết chương trình giải và biện luận phương trình bậc nhất ax + b = 0.

Với a, b là hai số nguyên nhập vào từ bàn phím

(* Lưu ý: biện luận cả trường hợp với a = 0.)

- Ví dụ:

Dữ liệu nhập vào từ bàn phím Dữ liệu in ra màn hình

- Xác định bài toán:

• Input: Hai số nguyên a, b

• Output:

o Hoặc đưa ra nghiệm phương trình

o Hoặc thông báo phương trình có vô số nghiệm

o Hoặc thông báo phương trình vô nghiệm

- Hướng dẫn: Sử dụng cấu trúc rẽ nhánh lồng nhau

Xét điều kiện nếu a ≠ 0 thì

- Tính nghiệm x 

Trang 14

Qua chuyên đề này tôi đã giúp các em học sinh được tìm hiểu sâu hơn, chi tiết hơn về cách thức sử dụng câu lệnh if – then dạng đủ; câu lệnh if – then dạng thiếu; câu lệnh if – then lồng nhau vào lập trình giải một số bài toán

Kết luận:

 Học sinh biết cách mô tả thuật toán

 Học sinh có kỹ năng viết chương trình đơn giản

 Học sinh nắm được cú pháp về:

 Câu lệnh if – then dạng đủ;

 Câu lệnh if – then dạng thiếu;

 Câu lệnh ghép

Từ đó đưa ra hướng lập trình tối ưu cho bài toán

Ngày đăng: 22/07/2019, 17:30

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w