NHẬP MÔN TƯ DUY TÍNH TOÁN. Bài 2: Ngôn ngữ lập trình python

35 45 0
NHẬP MÔN TƯ DUY TÍNH TOÁN. Bài 2: Ngôn ngữ lập trình python

Đ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

NHẬP MƠN TƯ DUY TÍNH TỐN Bài 2: Ngơn ngữ lập trình python Tóm tắt nội dung trước  Khái niệm “tư tính tốn”: phân rã tốn, nhận mẫu, trừu tượng hóa, thiết kế thuật giải  Khái niệm “thuật tốn”  Đặc tính: máy móc, hữu hạn, tổng quát, đắn rõ ràng (dữ liệu đầu vào / kết đầu ra)  Ba cấu trúc bản: tuần tự, rẽ nhánh, lặp lại  Ba cách mơ tả thuật tốn  Lưu đồ Nassi–Shneiderman  Sơ đồ khối  Mã giả TRƯƠNG XUÂN NAM Nội dung Giới thiệu ngôn ngữ python Cách thực câu lệnh, chương trình Biến, khai báo chuỗi, khối lệnh Nhập liệu xuất liệu Kiểu liệu phép tốn liên quan Vài ví dụ minh họa Bài tập TRƯƠNG XUÂN NAM Phần Giới thiệu ngôn ngữ python TRƯƠNG XUÂN NAM Giới thiệu ngôn ngữ python  Python lần đầu giới thiệu vào tháng 12/1989  Tác giả Guido van Rossum (Hà Lan)  Sinh năm 1956  Hiện làm cho Google  Python kế thừa từ ngôn ngữ ABC  Python giới thiệu năm 2000  Hỗ trợ unicode  Mã python phổ biến  Python phát hành năm 2008  Hiện có phiên 3.7  Python 4? Năm 2023 (dự kiến) TRƯƠNG XUÂN NAM Giới thiệu ngôn ngữ python  Là ngôn ngữ có mã nguồn mở  Là ngơn ngữ kịch (scripting programming language)     Thích hợp với DevOps (người viết code người vận hành) Khai báo biến tự nhiên, phong phú động Nhiều phép tính cấp cao cung cấp sẵn Thường thơng dịch thay biên dịch • Biên dịch: dịch tồn thành mã máy thực thi • Thơng dịch: dịch lệnh, xong lệnh chạy lệnh  Những người cuồng python (pythonista) cho ngôn ngữ sáng tiện dụng đến mức ta dùng cho khâu lập trình (chứ khơng phải viết script) TRƯƠNG XUÂN NAM Giới thiệu ngôn ngữ python      Vừa hướng thủ tục, vừa hướng đối tượng Hỗ trợ module hỗ trợ gói (package) Xử lý lỗi ngoại lệ (exception) Kiểu liệu động mức cao Có khả tương tác với module viết ngôn ngữ lập trình khác  Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) TRƯƠNG XUÂN NAM Ưu điểm ngơn ngữ python  Có ngữ pháp đơn giản, dễ đọc  Viết mã ngắn gọn chương trình tương đương viết C, C++, C#, Java,…  Có thư viện chuẩn module ngoài, đáp ứng gần nhu cầu lập trình  Có khả chạy nhiều tảng (Windows, Linux, Unix, OS/2, Mac, Amiga, máy ảo NET, máy ảo Java, Nokia Series 60,…)  Có cộng đồng lập trình lớn, hệ thống thư viện chuẩn, mã nguồn chia sẻ nhiều TRƯƠNG XUÂN NAM Nhưng python có nhược điểm  Chương trình chạy chậm  Giao tiếp với thư viện viết ngơn ngữ khác tương đối khó khăn  Yếu hỗ trợ tính tốn di động  Cách viết khối lệnh dễ gây nhầm lẫn cho người bắt đầu lập trình  Gỡ lỗi địi hỏi kinh nghiệm  Kém hỗ trợ sở liệu TRƯƠNG XUÂN NAM Phần Cách thực câu lệnh, chương trình TRƯƠNG XN NAM 10 Chuỗi thơ (raw string)  Vấn đề: dễ nhầm lẫn chuỗi có dấu gạch chéo (\)  Chẳng hạn viết tên file "c:\teamview"  Python cho phép bỏ qua chuỗi thoát cách đánh dấu chữ r vào trước chuỗi, định dạng gọi chuỗi thô  Cú pháp: r'nội dung chuỗi' TRƯƠNG XUÂN NAM 21 Khối lệnh  Python sử dụng khoảng trắng để phân biệt khối lệnh age = int(input("Bạn tuổi? ")) print("Ồ bạn đã", age, "tuổi rồi!") if age>=18: print("Đủ tuổi bầu") if age>100: print("Có vẻ sai sai!") else: print("Nhỏ quá")  Chú ý:  Không quy định số lượng khoảng trắng phải sử dụng  Các lệnh khối phải sử dụng số khoảng trắng  Sử dụng tab space được, phải thống TRƯƠNG XUÂN NAM 22 Phần Nhập liệu xuất liệu TRƯƠNG XUÂN NAM 23 Xuất liệu  Sử dụng hàm print để in liệu hình >>> print(42) 42 >>> print("a = a = 3.564 >>> print("a = a = 3.564 >>> print("a", a b >>> print("a", ab >>> print(192, 192.168.178.42 >>> print("a", a:-)b ", a) \n", a) "b") "b", sep="") 168, 178, 42, sep=".") "b", sep=":-)") TRƯƠNG XUÂN NAM 24 Nhập liệu  Sử dụng hàm input để nhập liệu từ bàn phím name = input("Tên bạn gì? ") print("Xin chào bạn " + name + "!") age = input("Bạn tuổi? ") print("Ồ, bạn " + age + " tuổi rồi!")  Có thể kết hợp chuyển kiểu muốn tường minh age = int(input("Bạn tuổi? ")) print("Ồ bạn %d tuổi rồi!" % age) TRƯƠNG XUÂN NAM 25 Phần Kiểu liệu phép toán liên quan TRƯƠNG XUÂN NAM 26 Kiểu số  Python cho phép viết số nguyên theo số hệ số thơng dụng lập trình A B C D = = = = 1234 0xAF1 0o772 0b1001 # # # # hệ hệ hệ hệ cơ cơ số số số số 10 16  Sử dụng hàm phù hợp để chuyển đổi từ số nguyên thành string hệ số 10, 16, K L M N = = = = str(1234) hex(1234) oct(1234) bin(1234) # # # # chuyển chuyển chuyển chuyển thành thành thành thành TRƯƠNG XUÂN NAM str str str str ở ở hệ hệ hệ hệ cơ cơ số số số số 10 16 27 Kiểu số  Từ python 3, số ngun khơng có giới hạn số chữ số  Số thực (float) python viết theo dạng thông thường dạng khoa học X = 12.34 Y = 314.15279e-2 # dạng số nguyên phần mũ 10  Python hỗ trợ kiểu phức, với chữ j đại diện cho phần ảo A = 3+4j B = 2-2j print(A+B) # in (5+2j) TRƯƠNG XUÂN NAM 28 Phép toán  Python hỗ trợ nhiều phép toán số, logic, so sánh, phép toán bit phép kiểm tra tập  Các phép tốn số thơng thường: +, -, *, %, **  Python có phép chia: • Chia (/): • Chia nguyên (//): 10/3 10//3 # 3.3333333333333335 # (nhanh phép /)  Các phép logic: and, or, not • Python khơng có phép xor logic, trường hợp muốn tính phép xor thay phép so sánh khác (bool(a) != bool(b))  Các phép so sánh:  Các phép toán bit:  Phép kiểm tra tập (in, not in): =, !=, == &, |, ^, ~, in [1, 2, 3] TRƯƠNG XUÂN NAM 29 Phần Vài ví dụ minh họa TRƯƠNG XUÂN NAM 30 Giải phương trình bậc a = float(input("A = ")) b = float(input("B = ")) c = float(input("C = ")) delta = b*b-4*a*c Nhập a,b,c kiểu số thực tính delta if delta==0: print("Nghiem kep: x = ", str(-b/2/a)) if delta0: print("X1 = " + str((-b+delta**0.5)/2/a)) print("X2 = " + str((-b-delta**0.5)/2/a)) TRƯƠNG XUÂN NAM Biện luận trường hợp delta Các khối lệnh viết thụt vào so với khối cha Tính bậc phép lũy thừa 0.5 31 Tính n! def giaithua(n): Định nghĩa hàm với tham số n gt = for i in range(2, n+1): gt = gt * i Vòng lặp cho i chạy từ đến n return gt Trả kết a = int(input("Nhập giá trị n: ")) print("N! =", giaithua(a)) Nhập số n nguyên Gọi hàm tính in kết TRƯƠNG XN NAM 32 Tính UCLN (thuật tốn euclid) a = int(input("A = ")) b = int(input("B = ")) Nhập số nguyên a b while (b > 0): Vòng lặp chừng b > if (a > b): Xử lý a > b a, b = b, a % b else: Xử lý a

Ngày đăng: 02/09/2020, 11:13

Tài liệu cùng người dùng

Tài liệu liên quan