Skkn một số giải pháp giúp học sinh tiếp cận nhanh ngôn ngữ lập trình c++ và python

24 103 2
Skkn một số giải pháp giúp học sinh tiếp cận nhanh ngôn ngữ lập trình c++ và 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

A SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA TRƯỜNG THPT NGA SƠN *** SÁNG KIẾN KINH NGHIỆM MỘT SỐ GIẢI PHÁP GIÚP HỌC SINH TIẾP CẬN NHANH NGÔN NGỮ LẬP TRÌNH C++ VÀ PYTHON Họ và tên Phạm Thị Nhung Chức vụ Giáo vi[.]

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA TRƯỜNG THPT NGA SƠN *** SÁNG KIẾN KINH NGHIỆM MỘT SỐ GIẢI PHÁP GIÚP HỌC SINH TIẾP CẬN NHANH NGÔN NGỮ LẬP TRÌNH C++ VÀ PYTHON Họ tên: Phạm Thị Nhung Chức vụ: Giáo viên SKKN thuộc môn: Tin học THANH HÓA NĂM 2022 skkn [1] MỤC LỤC MỞ ĐẦU 1.1 LÍ DO CHỌN ĐỀ TÀI 1.2 MỤC ĐÍCH NGHIÊN CỨU 1.3 ĐỐI TƯỢNG NGHIÊN CỨU 1.4 PHƯƠNG PHÁP NGHIÊN CỨU NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 CƠ SỞ LÝ LUẬN CỦA SÁNG KIẾN KINH NGHIỆM 2.2 THỰC TRẠNG CỦA VẤN ĐỀ 2.3 CÁC GIẢI PHÁP ĐÃ SỬ DỤNG ĐỂ GIẢI QUYẾT VẤN ĐỀ 2.3.1 So sánh tương quan ngơn ngữ lập trình C++, Python Pascal.4 2.3.2 Minh họa thuật toán số toán bản, đặc trưng 16 2.3.3 Ưu điểm ngơn ngữ C++, Python qua vài ví dụ cụ thể 18 2.4 HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM 20 KẾT LUẬN VÀ KIẾN NGHỊ 20 skkn [2] MỞ ĐẦU 1.1 LÍ DO CHỌN ĐỀ TÀI Ứng dụng tin học giai đoạn trở thành phần tất yếu đời sống xã hội đại Vì có vai trị quan trọng nên tất nước giới nước ta có sách đầu tư cho tin học để không bị lạc hậu công nghệ Bởi vậy, môn tin học trường THPT, đặc biệt kiến thức lập trình chiếm vị trí quan trọng Trong đó, phải kể đến công tác bồi dưỡng học sinh giỏi nhà trường Là khởi nguồn việc đào tạo nhân tài cho đất nước Trong năm gần Bộ giáo dục đào tạo có sách thay đổi mạnh mẽ chương trình giáo dục, từ giáo dục tiếp cận nội dung trọng tiếp cận lực người học, nghĩa từ chỗ quan tâm đến việc học sinh học đến chỗ quan tâm học sinh vận dụng qua việc học Điều địi hỏi phương pháp dạy học giáo viên phải thay đổi theo, người giáo viên phải áp dụng phương pháp, kĩ thuật tích cực để xây dựng nên chuyên đề nhằm giúp học sinh trở thành chủ thể trình nhận thức, đảm bảo kết đầu theo yêu cầu Nhận thức tầm quan trọng, ảnh hưởng to lớn mơn Tin học nói riêng lĩnh vực cơng nghệ thơng tin nói chung lĩnh vực khác phát triển xã hội Tôi nghĩ thân giáo viên dạy mơn Tin học phải có trách nhiệm cho học sinh hiểu yêu thích môn này, tạo cho học sinh hứng khởi, niềm đam mê học hỏi, sáng tạo để phát triển ngành Tin học ngày cao hơn, xa hơn, mang lại nhiều ứng dụng thiết thực Trong năm gần đây, ngơn ngữ lập trình Pascal dần thay ngơn ngữ lập trình C++ python Để học sinh tiếp cận ngơn ngữ lập trình dễ dàng mà không thấy lạ lồng ghép so sánh nội dung có tính chất tương đồng Chẳng hạn: bảng chữ cái, phép toán, biểu thức , cú pháp khai báo cho loại cấu trúc ngôn ngữ với ngơn ngữ pascal qua ví dụ minh họa thuật toán Làm vậy, em dễ nắm bắt ngơn ngữ lập trình qua ngơn ngữ lập trình sở pascal Vì tơi định chọn đề tài: “Một số giải pháp giúp học sinh tiếp cận nhanh ngơn ngữ lập trình C++ Python” skkn [3] 1.2 MỤC ĐÍCH NGHIÊN CỨU - Giúp học sinh phát triển khả tư duy, sáng tạo, kỹ tiếp nhận kiến thức Chủ động học giải tập cách hiệu để lĩnh hội kiến thức cách tốt 1.3 ĐỐI TƯỢNG NGHIÊN CỨU - Học sinh khối THPT Trường THPT Nga Sơn 1.4 PHƯƠNG PHÁP NGHIÊN CỨU - Thực tiễn giảng dạy học sinh khối 11; - Tham khảo SGK, SGV Tin học 11 tài liệu hướng dẫn học lập trình C++ Python; - Tài liệu tập huấn thay sách giáo khoa Sở GD ĐT Thanh Hóa NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 CƠ SỞ LÝ LUẬN CỦA SÁNG KIẾN KINH NGHIỆM Bản thân giáo viên giảng dạy môn Tin học trường THPT Nga Sơn, Với chất lượng học sinh đầu vào thấp, khơng có phương pháp giảng dạy phù hợp khơng đạt kết mong muốn Trên thực tế, khơng có câu trả lời xác cho câu hỏi “Đâu là ngơn ngữ lập trình tốt để bắt đầu?” Mỗi ngơn ngữ có điểm cộng điểm trừ, sáng tạo để thỏa mãn nhu cầu, mục đích người dùng Dù khơng sử dụng rộng rãi C, Java Python, Pascal lựa chọn hàng đầu để bước bước vào thế giới lập trình Python lựa chọn phổ biến mơn lập trình Nhiều người khẳng định tính sư phạm mạnh mẽ Python, nhờ vào cú pháp đơn giản linh hoạt Chính điểm mạnh giúp Python tên danh sách những ngôn ngữ lập trình tốt cho người học C++ “bàn chân sắt” trong giới lập trình Với mức độ chuyên sâu đa dạng, C++ ứng dụng nhiều tảng, có di động Người học hiểu quy trình Pointer – cơng cụ mạnh mẽ C++ giúp coder truy xuất tác vụ nhớ nhanh chóng; quản lý cấu trúc nhớ Stack & Heap, quy trình biên soạn code lập trình hệ thống Với C++, người học đủ điều kiện để khám phá ngôn ngữ khác dễ dàng Chính lý vậy, xu sử dụng ngôn ngữ lập trình Python, C++ làm ngơn ngữ chủ đạo để minh họa cho thuật tốn lập trình skkn [4] Để học sinh tiếp cận ngôn ngữ lập trình C++ Python cách nhanh hiệu từ ngôn ngữ sở em học Pascal Tôi thực sau: Trong tiết giảng đưa so sánh tương đồng ngơn ngữ lập trình Cách dùng cấu trúc, kiểu liệu thích hợp để giải tốn cụ thể ngơn ngữ Tơi áp dụng vào tốn để diễn đạt cho học sinh Làm thấy hiệu quả, học sinh tiếp thu tốt Đó để viết đề tài 2.2 THỰC TRẠNG CỦA VẤN ĐỀ Pascal ngôn ngữ lập trình mà học sinh tiếp cận, dùng để minh họa cho giải thuật Trong năm gần đây, ngơn ngữ lập trình Pascal khơng cịn trọng, chí cịn khơng sử dụng diễn đàn, thi lập trình Xu hướng dùng ngơn ngữ mới, có tính sáng tạo, chuyên nghiệp, ứng dụng cao lĩnh vực đời sống kinh tế xã hội C++, Python… Python ngôn ngữ lựa chọn đưa vào minh họa cho thuật toán cấp THPT năm học tới Đứng trước thực trạng vậy, giáo viên giảng dạy môn Tin học THPT với tảng sở học sinh Pascal, tơi có suy nghĩ, trăn trở làm để học sinh từ bỏ thói quen, từ bỏ lối mịn lâu Tôi xây dựng giảng với lồng ghép ngơn ngữ lập trình, nhằm giúp cho học sinh độc lập cách học, cách tiếp cận tri thức mới, nhìn nhận vấn đề cách tích cực hơn, sáng tạo giúp cho em u thích nhiều môn học thông qua giảng cụ thể 2.3 CÁC GIẢI PHÁP ĐÃ SỬ DỤNG ĐỂ GIẢI QUYẾT VẤN ĐỀ Bằng kiến thức Tin học kinh nghiệm thân công tác giảng dạy môn Tin học, với xu hướng bỏ ngôn ngữ lập trình Pascal thay ngơn ngữ lập trình phù hợp Để đạt hiệu công tác giảng dạy thực qua giải pháp đây:  So sánh tương quan ngơn ngữ lập trình C++, Python Pascal  Minh họa thuật toán số tốn bản, đặc trưng  Ưu điểm ngơn ngữ C++, Python qua vài ví dụ cụ thể  Để thực ý tưởng nêu đề tài, áp dụng giải pháp qua tiết học Tôi tổ chức thực giải pháp sau: 2.3.1 So sánh tương quan ngơn ngữ lập trình C++, Python Pascal 2.3.1.1 Về bảng chữ  Trong Pascal bảng chữ bao gồm: skkn [5] + Bảng chữ tiếng Anh A B C D E F G H I J K L M N O P Q R S T U V W X Y Z abcdefghijklmnopqrstuvwxyz + 10 chữ số thập phân Ả Rập: + Các kí tự đặc biệt: + - * / = < > , ; : ‘ # ^ $ @ & ( ) { } [ ] _ dấu cách  Trong C++ bảng chữ bao gồm: Là tập kí tự dùng để viết chương trình Khơng phép dùng kí tự ngồi kí tự quy định bảng chữ Ngơn ngữ lập trình C++ xây dựng bảng chữ bao gồm kí tự sau: - Các chữ in thường in hoa bảng chữ tiếng Anh: a z, A Z - 10 chữ số: - Các kí tự đặc biệt: + - * / = < > [ ] , ;! # ^ $ %& ( ) : ‘ _ dấu cách  Trong Python bảng chữ gồm kí tự sau: - Các chữ bảng mã Unicode - Các chữ số: - Các kí tự đặc biệt: + / = < > [ ] # &… 2.3.1.2 Các kiểu liệu chuẩn Kiểu nguyên Tên kiểu Shortint Byte yte Ngơn ngữ lập trình Pascal Integer Word longword Int64 Qword Kiểu thực Tên kiểu Single Real Double Extended Kiểu kí tự Kiểu Charnh lưu trữ giá trị Bộ nhớ lưu trữ giá trị 1 byte Phạm vi giá trị -128→ 127 0→ 255 byte byte byte -32768→ 32767 0→ 65535 ongInt -2147483648→ 2147483647 4294967295 byte byte byte -9223372036854775808 9223372036854775807 18446744073709551615 Phạm vi giá trị 1.5 x 10 -45→ 3.4 x 10+38 2.9 x 10-39→ 1.7 x 10+38 5.0x10 -324→ 1.7x10+308 3.4x10 -4932→ 1.1x10+4932 Bộ nhớ lưu trữ giá trị byte byte byte 10 byte Phạm vi giá trị Bộ 256 kí tự mã ASCII byte skkn [6] Kiểu logic Kiểu Phạm vi giá trị Bộ nhớ lưu trữ giá trị boolean true false byte 1.Kiểu nguyên Ngơn ngữ lập trình C++ 2.Kiểu thực Kiểu kí tự Một giá trị kiểu kí tự char chiếm byte (8 bit) biểu diễn kí tự thuộc mã ASCII Ví dụ, kí tự A có mã ASCII 65, kí tự a có mã ASCII 97, kí tự có mã ASCII 48, kí tự dấu cách có mã ASCII 32 Có hai kiểu kí tự: [signed] char unsigned char skkn [7] Kiểu logic Một giá trị kiểu bool chiếm byte biểu diễn giá trị false (0) true (1 hay số khác 0) Kiểu nguyên Kiểu nguyên (int) Python không giới hạn số ký tự mà phụ thuộc vào nhớ máy tính Khi gán giá trị số nguyên cho biến biến tự động gán kiểu số nguyên # gán cho biến a số nguyên có giá trị 5.5 ➔ a nhận giá trị a = int(5.5) b = 120 Kiểu thực # gán cho a số thực có giá trị ➔ a nhận giá trị 5.0 a = float(5) b = 3.14 Ngôn Kiểu thực (float) Python có giới hạn tối đa 15 chữ số phần ngữ thập phân lập trình Khi gán giá trị số thực cho biến biến tự động Python gán kiểu số thực Kiểu kí tự Python khơng có kiểu char Pascal Một ký tự (kiểu char pascal) coi xâu có độ dài Python Kiểu xâu (str) hay cịn gọi kiểu chuỗi khơng giới hạn độ dài Tuy nhiên, Python cung cấp hàm chr() ord() để lấy vị trí ký tự bảng mã Unicode ngược lại Chương trình cho thấy mã chữ Â bảng mã unicode 194 print(ord('Â')) print(chr(194)) Kết quả: 194 Â Kiểu logic Kiểu logic (bool) Python có giá trị True False Ngồi ra, Python cịn có kiểu liệu: complex; list, tuple, range; dict; set, frozenset; bytes, bytearray, memoryview 2.3.1.3 Phép toán, biểu thức, câu lệnh gán  Phép tốn: Phép tốn Trong tốn học Trong ngơn ngữ Pascal skkn Trong ngôn ngữ C++ Trong ngôn ngữ Python [8] + (cộng) Các phép - (trừ) toán số x (nhân) học / (chia) mod (lấy phần dư) Chia lấy phần nguyên < (nhỏ hơn) ≤ (nhỏ bằng) Các phép > (lớn hơn) + * / mod Div < + * / % / < + * / % // < toán quan ≥ (lớn bằng) hệ >= >= >= = (bằng) ≠ (khác)  (phủ định) Các phép  (hoặc) tốn lơgic  (và) = not or and == != ! || && == != not or and Hàm Lũy thừa Biểu Biểu diễn diễn Biểu diễn Biểu diễn Toán trong C++ Python học Pascal xy x2 Pow(x,y) Sqr(x) x**y Kiểu đối số Kiểu kết Thực nguyên Theo kiểu đối số x**2 Căn bậc Thực sqrt(x) sqrt(x) math.sqrt(x) Thực hai nguyên Giá trị Thực Theo kiểu abs(x) abs(x) abs(x) tuyệt đối nguyên đối số Lôgarit lnx ln(x) ln(x) math.log(x) Thực Thực tự nhiên Luỹ thừa ex exp(x) exp(x) exp(x) Thực Thực số e Sin sinx sin(x) sin(x) sin(x) Thực Thực Cos cosx cos(x) cos(x) cos(x) Thực Thực  Biểu thức: Biểu thức kết hợp phép toán toán hạng để diễn đạt cơng thức tốn học Khi viết biểu thức dùng dấu ngoặc trịn ( ) để thể trình tự tính tốn biểu thức Mỗi biểu thức có giá trị nói chung có giá trị xem biểu thức Như vậy, hằng, biến xem biểu thức skkn [9]  Câu lệnh gán Trong ngơn ngữ Pascal := Ví dụ: d:=b*b- 4*a*c;  Chú thích Trong ngơn ngữ Pascal Trong ngôn ngữ C++ Trong ngôn ngữ Python = Ví dụ: d=b*b- 4*a*c; = Ví dụ: d=b**2 - 4*a*c Trong ngơn ngữ C++ Trong ngôn ngữ Python - Giúp người đọc chương Các đoạn thích trình nhận biết ý nghĩa đặt cặp dấu /* */ chương trình dễ viết thích hơn; dịng theo sau - Chú thích khơng ảnh cặp dấu // hưởng đến nội dung chương trình nguồn - Đoạn thích đặt cặp dấu { } (* *) 2.3.1.4 Các thủ tục chuẩn vào/ra đơn giản Trong ngôn ngữ Python input() cin >> biến >> >> Ví dụ: Nhập biến n; # nhập giá trị cho a (mặc liệu Ví dụ: Read(a,b); định kiểu xâu) từ bàn Ví dụ: a = input() phím cin>>x>>y; # nhập giá trị cho c có kiểu số nguyên c= int(input('Nhap c: ')) Đưa print() Write();Writeln(); Cout>tên biến xâu; Nga Sơn ") Ví dụ: cin>>s; - Nếu xâu chuỗi kí tự có chứa kí tự trống cú skkn [14] Nhập xuất Các phép so sánh pháp nhập xâu sau: getline(cin, tên biến xâu) - Ví dụ: getline(cin, s) - Xuất xâu: couts.substr(0,6) = “Truong” Trong Python ta sử dụng thao tác cắt xâu để gán cho biến khác Ví dụ: a = "Có phải em mùa thu Hà Nội" n = a[11:25] print(n) Kết quả: mùa thu Hà Nội Pos(S1, S2) Tìm vị trí xuất S1 S2 Ví dụ: S1= ‘THPT’ Tìm S2=’Truong THPT kiếm Nga Son’ Pos(S1, S2) = xâu s1.find(s2,vt) Thực hiện: Tìm xâu s2 xâu s1 kể từ vị trí vt xâu s1 Ví dụ: s1= “Truong THPT Nga Son”, s2= “Nga Son" => s1.find(s2,vt) => vt =12 Chú ý: Nếu khơng tìm thấy kết trả -1 Python cung cấp hàng find() để thực tìm kiếm trả vị trí (chỉ số) tìm thấy Khơng tìm thấy trả -1 Ví dụ: a = "Có phải em mùa thu Hà Nội" n = 'Hà Nội' k = a.find(n) print(k) Kết quả: 19 Length(st) Cho độ dài xâu St Ví dụ: st:=“ Truong THPT Nga Son” Length(st)=19 .size() .length() Thực hiện: lấy chiều dài xâu s Ví dụ: s1=“ Truong THPT Nga Son” s1.size()=19 Độ dài xâu Đổi ký tự hoa Độ dài xâu (len) Để biết độ dài (số ký tự) xâu ta dùng hàm len() Ví dụ: a = "Có phải em mùa thu Hà Nội" n = len(a) print(n) Kết quả:25 Upcase(ch) Cho chữ toupper upper viết hoa tương ứng với Ví dụ: a = "Có phải em mùa thu chữ thường ch string s="truong thpt Hà Nội" nga son"; // ket qua: a = a.upper() TRUONG THPT NGA Ví dụ: print(a) SON ch:= 'a'; Kết quả: int l=s.size(); ch:= upcase(ch) for(int i=0;ich = 'A' s[i]=toupper(s[i]); skkn [16] Đổi ký tự thường 2.3.1.9 Chương trình Trong ngơn ngữ Pascal Procedure Thutuc[(Các tham số)]; [Khai báo Const, Type, Var] Begin End; Function Ham[(Các tham số)]:; [Khai báo Const, Type, Var] Begin Ham:=; End; cout

Ngày đăng: 02/02/2023, 08:46

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

Tài liệu liên quan