Bài tập 2.2: Xây dựng chương trình nhập vào một số nguyên dương N sau đó tính tổng N số nguyên dương đầu tiên.. 34 Bài 6.12 Hãy xây dựng chương trình quản lý khách hàng gửi tiền tại một
Nhắc lại một số kiên thức lý thuyết cơ bản
- Phép toán số học: +, -, *, /, // (chia lấy phần nguyên)
- Phép toán logic: and, or, not
- Phép gán: Biến =
Cấu trúc rẽ nhánh if a) Cấu trúc rẽ nhánh if khuyết if (btđk ):
Công_việc b) Cấu trúc rẽ nhánh if…else if (btđk): công_việc1 khi btđk đúng; else: công_việc2 khi btđk sai; c) Cấu trúc rẽ nhánh if…elif else if (btđk1): công_việc_1 elif(btđk2): công_việc_2
elif(btđkn): công_việc_n else: công_việc_n1
Cấu trúc if được sử dụng trong các trường hợp có sự rẽ nhánh trong tiến trình thực hiện công việc, tuỳ thuộc vào từng tình huống cụ thể của bài toán mà lựa chọn loại cấu trúc rẽ nhánh thích hợp
Cấu trúc lặp a) Cấu trúc lặp while while(btđk):
Cấu trúc lặpwhileđược sử dụng trong các trường hợp cần giải quyết công việc lặp đi lặp lại nhiều lần b) Cấu trúc lặp for for in :
Cấu trúc lặpforđược sử dụng trong các trường hợp giải quyết công việc lặp đi lặp lại nhiều lần, đặc biệt thường dùng khi cần duyệt các kiểu dữ liệu danh sách
Trả lời các câu hỏi sau:
Khi nào sử dụng cấu trúc rẽ nhánh?
Khi nào sử dụng cấu trúc rẽ nhánh khuyết else?
Cách xác định số lượng nhánh khi xây dựng chương trình sử dụng cấu trúc rẽ nhánh ? if
Khi nào sử dụng cấu trúc rẽ lặp?
Khi nào nên sử dụng cấu trúc rẽ lặp for?
Bài tập mẫu
Bài tập 2.1: Xây dựng chương trình nhập vào m t s t bàn phím, ki m tra xem sộ ố ừ ể ố đó là số đó có chia hết cho 2 hay không và in kết quả ra màn hình
Xác định yêu cầu bài toán:
- Dữ liệu xu t ra: a chia hấ ết cho 2 hoặc a không chia h t cho 2 ế
- Cách làm: Xác định các biến vào/ra/trung gian trong bài toán gồm biến nhập vào a ki u s nguyên ể ố
Bước 1: Nhập một số nguyên t bàn phím (gi s ừ ả ử đặt tên là a)
Bước 2: Kiểm tra s a có chia h t cho 2 hay không (dùng toán t %, a chia ố ế ử hết cho 2 thì a chia 2 dư 0, ngược lại a chia 2 dư 1)
Bước 3: Dùng cấu trúc điều khi n ể if…else để ể ki m tra o N u sế ố a%2==0 thì in ra thông báo: đây là số chẵn o Ngược lại thì in ra thông báo: đây là số lẻ
Chương trình minh họa a=int(input('Nhập vào số a: ')) if if if if if a%2==0: print(a, 'là số chẵn' ) else else else else else: print(a, 'là số lẻ' )
Chương trình 2.1: Kiểm tra số a chẵn hay lẻ
Nhận xét: Các lỗi thường g p khi so n th o code ặ ạ ả
Thiếu chuyển đổi kiểu d u cho a sang ki u s nguyên ữ liệ ể ố
Viết sai toán tử kiểm tra b ng == thành = ằ
Thiếu dấu : để ắt đầ b u khối các lệnh con
Câu lệnh con không viết thụt lùi đầu dòng
Bài tập 2.2: Xây dựng chương trình nhập vào một số nguyên dương N sau đó tính tổng N số nguyên dương đầu tiên
Xác định yêu cầu bài toán
- Dữ liệu nhập vào: N nguyên dương
- Cách làm: o Bước 1: Nhập số nguyên dương N o Bước 2: Áp dụng cấu trúc lặp for để duyệt từ 1 N, tại mỗi lần duyệt cộng giá trị vào viết S o Bước 3: In kết quả ra màn hình
Chương trình minh họa n=int(input('Nhập và 'Nhập và 'Nhập và 'Nhập và 'Nhập vào số n o số n o số n o số n o số ngu gu gu gu guyên yên yên yên yên n: ' n: ' n: ' n: ' n: ')) s=0 for for for for for i in in in in in range(1,n+1,1): s+=i print(s)
Chương trình 2: Tính tổng n số nguyên dương đầu tiên2.
Nhận xét: Các lỗi thường g p khi so n th o code ặ ạ ả
Viết hàm range sai hoặc không cho đúng giá trị yêu cầu, như range(n), range(1,n,1)
Viết biểu thức lặp sai
Bài tập 2.3:Tìm n nhỏ nhất để S>a lớn hơn a, a nhập vào từ bàn phím Biết
Xác định yêu cầu bài toán
Dữ liệu nh p vào: Sậ ố thực a
Dữ liệu xu t ra: n thấ ỏa điều ki n ệ
Cách làm: o Bước 1: Nhập s ố thực a o Bước 2: Khởi gán giá trị cho biến lưu trữ s=0 và n=0 o Bước 3: Dùng c u trúc l p ấ ặ whileđể duyệt từ 1 N, t i mỗi vòng lặp tăng ạ n và c ng thêm 1/n vào biộ ến lưu trữ s, ki m tra n u s thể ế ỏa điều ki n>a ệ thì thoát khỏi vòng l p và in kặ ết quả ra màn hình
Chương trình minh họa a=float(input('Nhập vào số nguyên a: ' : ' : ' : ' : ')) n=0
8 s=0 while while while while while (sa2.
Nhận xét: Các lỗi thường g p khi so n th o codeặ ạ ả
Thiếu chuyển đổi kiểu dữ liệu cho a sang ki u s ể ố
Thiếu dấu : để ắt đầ b u khối các lệnh con
Hai câu lệnh con n+=1 và s+=1/n không th ng l ẳ ề trái
Chưa phân biệt rõ ràng kiểu dữ liệu số và kiểu dữ liệu chuỗi
Bài tập 2.4: Xây dựng chương trình ĐĂNG NHẬP cho phép người dùng nhập tên tài khoản và mật khẩu tối đa 3 lần Nếu tài khoản là fit và mật khẩu là123 thì hiển thị
“Đăng nhập thành công” Nếu cả 3 lần nhập thông tin tên tài khoản và mật khẩu chưa đúng thì hiển thị “Đăng nhập thất bại”
Xác định yêu c u bài toán ầ
Dữ u nh p vào: tk, mk liệ ậ
Dữ u xu t ra: liệ ấ “Đăng nhập thành công ” hoặc “Đăng nhập thất bại” Cách làm: Xác định các biến vào/ra/trung gian trong bài toán g m biồ ến nhập vào tk, mk ểu string; bi n trung gian ki ế dem để đếm s lố ần người dùng nhập tk, mk
Dùng l nh l p ệ ặ while ới điề v u ki n l p là dem=3 thì thoát, ệ ặ ứ công vi c l p g m: Nh p , ệ ặ ồ ậ tk mk; kiểm tra xem đăng nhập xem có thành công không? Cuối cùng là kiểm tra xem đã quá số ầ l n nh p sai trong gi i h n cho ậ ớ ạ phép là 3 hay chưa?
Bước 1: Sửdụng lệnh lặp với điều kiện lặp là dem