(SKKN 2022) 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

23 23 0
(SKKN 2022) 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

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 [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 .3 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 [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 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 tố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” [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 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 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 ngơn ngữ lập trình tốt cho người học C++ “bàn chân sắt” 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 [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 toán để diễn đạt cho học sinh Làm thấy hiệu quả, học sinh tiếp thu tốt Đó để tơi 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, chun 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 yê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ố toá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: [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 [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 ngun 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 [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) Ngôn Kiểu Biểu nguyên Biểu ngữ Kiểu nguyên trongdiễn PythonBiểu không sốđối ký tự mà phụ diễn diễn(int) Biểu diễngiới hạn Kiểu Hàm Kiểu kết lập thuộc vào nhớ máy Tốn trongtính C++ Python số trình Khihọc gán giá trị số nguyên cho biến biến tự động Pascal y Python Lũy thừagán xkiểu số nguyên x**y Thực Theo kiểu Pow(x,y) nguyên đối số # gán cho biến a số nguyên có giá trị 5.5 ➔ a nhận giá trị a 2= int(5.5) x Sqr(x) b = 120 sqrt(x) x x**2 math.sqrt(x) Căn bậc sqrt(x) Thực Thực hai nguyên Kiểu thực x Giá trị abs(x) abs(x) abs(x) Thực Theo kiểu tuyệt đối # gán cho a số thực có giá trị ➔ a nhận giá trị nguyên 5.0 a = đối số float(5) Lôgarit lnx ln(x) ln(x) math.log(x) Thực Thực tự nhiên b = 3.14 Luỹ thừa ex exp(x) exp(x) exp(x) Thực Thực Kiểu thực (float) Python có giới hạn tối đa 15 chữ số phần số e thập phân Sin sinx sin(x) sin(x) sin(x) Thực Thực Khi gán giá trị số thực cho biến biến tự động Cos cos(x) cos(x) Thực Thực gáncosx kiểu số thực cos(x) 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 toán:  Biểu thức: [8] Biểu thức kết hợp phép toán tố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  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 Thủ tục Trong ngôn ngữ Pascal Read(ds biến); Readln (ds biến); Nhập liệu từ bàn Ví dụ: Read(a,b); phím Đưa kết hình Write();Writeln(); Ví dụ: Write(Chao cac ban); Trong ngơn ngữ C++ -Dùng dấu thăng # đầu dịng thích dịng -Dùng ba dấu nháy đơn ''' nháy kép thích nhiều dịng Trong ngôn ngữ Python input() cin >> biến >> >> Ví dụ: biến n; # nhập giá trị cho a (mặc định kiểu xâu) Ví dụ: a = input() cin>>x>>y; # nhập giá trị cho c có kiểu số nguyên c= int(input('Nhap c: ')) print() 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ú 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 Có phải em mùa thu Hà Nội Có phải em mùa thu Hà Nội [15] 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 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 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 Độ 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 dài xâu 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" Đổi nga son"; // ket qua: a = a.upper() ký tự Ví dụ: TRUONG THPT NGA print(a) hoa ch:= 'a'; SON Kết quả: int l=s.size(); ch:= upcase(ch) for(int i=0;ich = 'A' s[i]=toupper(s[i]); HÀ NỘI cout

Ngày đăng: 05/06/2022, 10:16

Hình ảnh liên quan

+ Bảng chữ cái tiếng Anh. - (SKKN 2022) 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

Bảng ch.

ữ cái tiếng Anh Xem tại trang 6 của tài liệu.

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

Tài liệu liên quan