Lập trình đơn giản
Trang 1GIỚI THIỆU SGK
PHẦN I LẬP TRÌNH ĐƠN GIẢN
Trang 2Rèn luyện phong cách tư duy công nghệ
Trang 3Yêu cầu về kiến thức
Biết khái niệm về bài toán, thuật toán, các cách
mô tả thuật toán bằng cách liệt kê các bước
Biết chương trình là mô tả của một thuật toán
Trang 4Yêu cầu về kiến thức
Biết khái niệm về các cấu trúc điều khiển:
Trang 5Yêu cầu về kỹ năng
Mô tả được thuật toán đơn giản bằng cách liệt kê các
Thực hiện được khai báo mảng, truy cập phần tử mảng,
sử dụng các phần tử của mảng trong biểu thức tính toán
Trang 6Yêu cầu về thái độ
Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải các bài tập
Trang 7Nội dung
Gồm 16 bài: 09 bài lí thuyết + 07 bài thực hànhDạy trong 34 tiết, 02 tiết/bài, riêng Bài 5 (Từ bài toán đến chương trình) dạy trong 4 tiết
7
Trang 8Cấu trúc
Bài 1 Máy tính và chương trình máy tính
Bài 2 Làm quen với chương trình và ngôn ngữ lập trình
Bài thực hành 1 Làm quen với Turbo Pascal
Bài 3 Chương trình máy tính và dữ liệu
Bài thực hành 2 Viết chương trình để tính toán
Bài 4 Sử dụng biến trong chương trình
Bài thực hành 3 Khai báo và sử dụng biến
Bài 5 Từ bài toán đến chương trình
Trang 9Cấu trúc
Bài 6 Câu lệnh điều kiện
Bài thực hành 4 Sử dụng lệnh điều kiện if then
Bài 7 Câu lệnh lặp
Bài thực hành 5 Sử dụng lệnh lặp for do
Bài 8 Lặp với số lần chưa biết trước
Bài thực hành 6 Sử dụng lệnh lặp while do
Bài 9 Làm việc với dãy số
Bài thực hành 7 Xử lí dãy số trong chương trình
Trang 10Những điểm cần lưu ý
SGK trình bày kiến thức, kĩ năng chung về lập
trình: dạy lập trình nói chung, từ khái quát đến
cụ thể, không phải là dạy ngôn ngữ lập trình cụ thể Pascal
Chỉ sử dụng ngôn ngữ Pascal để minh hoạ,
không nhằm mục đích giới thiệu các thành phần, kiểu dữ liệu, cú pháp, ngữ nghĩa của các câu lệnh
và các đặc trưng khác của Pascal một cách đầy
đủ như là cẩm nang về lập trình
Trang 11Những điểm cần lưu ý
Nhấn mạnh việc xác định bài toán và xây dựng thuật toán là bước quan trọng nhất trong việc
Nội dung chọn lọc phù hợp yêu cầu làm quen với các kĩ thuật lập trình cơ bản, ngắn gọn, dễ hiểu
Định hướng kiến thức từ dễ tới khó, tạo khả năng tiếp cận các ngôn ngữ lập trình khác nhau
11
Trang 12Các ví dụ và chương trình Pascal có thể chưa phải là những chương trình đã được viết một
cách gọn nhất hoặc tối ưu nhất, nhưng phù hợp với sự phát triển tư duy của học sinh
Trang 13 Gây hứng thú cho học sinh
Các ví dụ và bài tập trong những bài trước chưa cần đến kiến thức về thuật toán
13
Trang 14Cấu trúc của các bài lý thuyết
Cấu trúc nhất quán:
Bắt đầu bằng những ví dụ trong cuộc sống hàng ngày, dẫn dắt đến cách thức giải quyết các vấn đề đời thường bằng cách viết chương trình
Tiếp theo trình bày các thành phần cơ bản hoặc
cấu trúc tương ứng của ngôn ngữ lập trình nói
chung ở mức tổng quát nhất có thể, nhưng vẫn
đảm bảo học sinh có thể hiểu được
Khi sử dụng Pascal để minh họa, không cố gắng trình bày cú pháp và ngữ nghĩa của các câu lệnh Pascal một cách đầy đủ và chi tiết (dành lại cho bài thực hành)
Cuối cùng là các ví dụ minh họa
Trang 15Cấu trúc của các bài lý thuyết
Cấu trúc nhất quán:
Cuối mỗi bài có phần ghi nhớ
Phần câu hỏi và bài tập
15
Trang 16Cấu trúc của các bài thực hành
Cấu trúc nhất quán:
Mục tiêu
Các bước thực hiện (thường khá chi tiết)
Không chỉ ôn luyện, củng cố, thực hành các kiến thức đã học mà còn giới thiệu kiến thức mới, cụ thể là những kiến thức lí thuyết, nhưng gắn liền với ngôn ngữ lập trình Pascal
Mục Tổng kết cuối mỗi bài thực hành tóm tắt các
kiến thức, kĩ năng cơ bản
Trang 17Câu hỏi và bài tập
Nhằm để học sinh ôn luyện kiến thức đã học
Trang 18Định hướng tổ chức dạy học
Tìm hiểu bài toán, xây dựng thuật toán và viết
chương trình: không nhất thiết phải có máy tính
Trang 19Bài 1 Máy tính và chương trình máy tính
Con người ra lệnh cho máy tính như thế nào?
Trang 20Bài 1 - Mục tiêu
Biết con người chỉ dẫn cho máy tính thực hiện
công việc thông qua lệnh
Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiện nhiều thao tác liên tiếp
Trang 21Lưu ý Bài 1
Lấy thêm những ví dụ gần gũi
Khái niệm về lệnh: có thể mô tả lệnh với nhiều mức độ chi tiết khác nhau
Nhấn mạnh việc điều khiển máy tính thực hiện
tự động công việc phức hợp bằng chương trìnhKhái niệm ngôn ngữ máy và ngôn ngữ lập trình
(tránh diễn đạt cụ thể ngôn ngữ lập trình bậc
cao)
21
Trang 22Lưu ý Bài 1 (tiếp)
Hai bước để tạo chương trình (không phải là quy trình phần mềm!)
Ưu điểm của ngôn ngữ lập trình so với ngôn ngữ máy
Lưu ý không định nghĩa chính xác, chỉ nên mô tả
Trang 23Bài 2 Làm quen với chương trình và
Trang 24Biết cấu trúc chương trình bao gồm phần khai
báo và phần thân chương trình
Trang 25Lưu ý Bài 2
Mục tiêu: giới thiệu cho học sinh về một số
thành phần cơ bản của ngôn ngữ lập trình nói
chung, làm quen với một chương trình đơn giản, làm quen với TP để chuẩn bị cho bài thực hành 1Tiếp cận từ cụ thể đến khái quát, chưa cần chính xác đến từng chi tiết
Môi trường lập trình Turbo Pascal
Cần trình bày các ví dụ cụ thể về chương trình
25
Trang 27Lưu ý Bài thực hành 1
Cho học sinh làm quen với môi trường TP
Cho học sinh làm quen với cách thức soạn thảo chương trình trong môi trường TP
Các vấn đề về cài đặt TP, lỗi Divission by zero
và cách sửa
27
Trang 28Bài 3 Chương trình máy tính và dữ liệu
Dữ liệu và kiểu dữ liệu
Các phép toán với dữ liệu kiểu số
Các phép so sánh
Giao tiếp người - máy tính
Trang 29Bài 3 – Mục tiêu
Biết khái niệm kiểu dữ liệu
Biết một số phép toán cơ bản với dữ liệu số
Biểu thức số học và biểu thức so sánh
Biết khái niệm điều khiển tương tác giữa người với máy tính
29
Trang 31Lưu ý Bài 3 (tiếp)
Nên dành thời gian để hướng dẫn học sinh
chuyển một vài công thức toán học sang cách biểu diễn trong Pascal và ngược lại
31
Trang 32Hiểu phép toán div, mod
Hiểu thêm về các lệnh in dữ liệu ra màn hình và tạm ngừng chương trình
Trang 33Bài 4 Sử dụng biến trong chương trình
Biến là công cụ trong lập trình
Khai báo biến
Sử dụng biến trong chương trình
Hằng
33
Trang 34Bài 4 – Mục tiêu
Biết khái niệm biến, hằng
Hiểu cách khai báo, sử dụng biến, hằng
Biết vai trò của biến trong lập trình
Hiểu lệnh gán
Trang 35Lưu ý Bài 4
Đây là bài khó đối với học sinh
Lưu ý học sinh về sự giống nhau và khác của
biến và hằng trong toán học và trong tin học
Nên nêu ví dụ về bài toán không giải quyết được nếu không sự dụng biến
Giải thích lệnh gán X = X + 1
Có thể gán giá trị cho biến bằng lệnh nhập dữ
liệu (read hay readln)
Nhấn mạnh: biến dùng để lưu trữ các giá trị
Trang 36Kết hợp được giữa lệnh write(), writeln() với
read(), readln() để nhập dữ liệu cho biến
Sử dụng được lệnh gán giá trị cho biến
Hiểu cách khai báo và sử dụng hằng
Hiểu và thực hiện việc tráo đổi giá trị của hai
Trang 37Bài 5 Từ bài toán đến chương trình
Bài toán và xác định bài toán
Quá trình giải bài toán trên máy tính
Thuật toán và mô tả thuật toán
Một số ví dụ về thuật toán
37
Trang 38Bài 5 – Mục tiêu
Biết khái niệm bài toán, thuật toán
Biết các bước giải bài toán trên máy tính
Xác định được Input, Output của một bài toán đơn giản
Biết chương trình là thể hiện của thuật toán trên một ngôn ngữ cụ thể
Biết mô tả thuật toán bằng phương pháp liệt kê các bước
Hiểu thuật toán tính tổng của N số tự nhiên đầu
Trang 39Cần cho học sinh hiểu được xây dựng thuật toán
là bước quan trọng nhất để giải quyết bài toán
trên máy tính
Thuật toán là sáng tạo tư duy của con người,
không phải của máy tính
39
Trang 40Lưu ý Bài 5
Máy tính thực hiện một cách máy móc, vì thế
thuật toán cần phải mô tả ở mức đủ chi tiết để có lời giải đúng
Thứ tự các bước trong thuật toán là quan trọng
Nên đưa ra những ví dụ mô phỏng trực quan (sử dụng PowerPoint)
Lưu ý bước kiểm tra thuật toán
Mọi thuật toán trong bài này sẽ được sử dụng để viết chương trình trong các bài sau
Trang 41Lưu ý Bài 5
Thống nhất lại cách mô tả bằng p/p liệt kê:
Kí hiệu ← thường được sử dụng để chỉ phép gán
Các cụm từ “Nếu ”, “Nếu ; ngược lại ” được
sử dụng để chỉ hoạt động được thực hiện phụ
thuộc vào một điều kiện có được thỏa mãn hay
không Trong trường hợp sử dụng cụm từ “Nếu ”
và điều kiện không được thỏa mãn, bước hiện tại
bị bỏ qua và bước tiếp theo được thực hiện
Các cụm từ “quay lại bước ”, “chuyển tới bước ” được sử dụng để chỉ rõ bước cần thực hiện tiếp
theo sau khi hoàn thành bước hiện tại.
41
Trang 42Bài 6 Câu lệnh điều kiện
Hoạt động phụ thuộc vào điều kiện
Tính đúng sai của các điều kiện
Điều kiện và phép so sánh
Cấu trúc rẽ nhánh
Câu lệnh điều kiện
Trang 43Bài 6 – Mục tiêu
Biết sự cần thiết của cấu trúc rẽ nhánh, và cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc vào điều kiện
Trang 44Lưu ý Bài 6
Thứ tự tuần tự là thứ tự thực hiện thực hiện ngầm định của mọi chương trình
Nên xuất phát từ những hoạt động trong đời sống
để dẫn dắt HS đến sự cần thiết của cấu trúc rẽ
nhánh
Cấu trúc rẽ nhánh cho phép “phá vỡ” tính tuần tự trong quá trình thực hiện các lệnh của một
chương trình
Trang 45Nên dịch câu lệnh if then và if then esle
ra tiếng Việt để HS dễ nhớ ý nghĩa của câu lệnhViệc giới thiệu sơ đồ khối có thể giúp học sinh
dễ hình dung hơn
45
Trang 47Bài 7 Câu lệnh lặp
Các công việc được thực hiện nhiều lần
Câu lệnh lặp – Một lệnh thay cho nhiều lệnh
Ví dụ về câu lệnh lặp
Tính tổng và tích bằng câu lệnh lặp
47
Trang 48trước for do trong Pascal
Viết đúng được lệnh for do trong một số tình huống đơn giản
Hiểu lệnh ghép trong Pascal
Trang 49Lưu ý Bài 7
Có thể dẫn dắt tới cấu trúc lặp tương tự như cấu trúc rẽ nhánh, xuất phát từ những hoạt động
trong đời thường
Đối với câu lệnh lặp với số lần đã biết trước,
SGK chỉ hạn chế giới thiệu một dạng: for to, có thể giới thiệu for down nếu thích hợp
Lưu ý rằng biến đếm được tự động tăng lên một đơn vị và không nên sử dụng câu lệnh khác làm thay đổi giá trị của biến đếm
49
Trang 50Lưu ý Bài 7 (tiếp)
Khái niệm về câu lệnh ghép và khả năng xuất
hiện của câu lệnh ghép trong thân câu lệnh lặp
Có thể hướng dẫn học sinh lập bảng kết quả thực hiện chương trình qua từng vòng lặp
Trang 51Bài 8 Lặp với số lần chưa biết trước
Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình
Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào
đó được thoả mãn
Hiểu hoạt động của câu lệnh lặp với số lần chưa
biết trước while do trong Pascal
Sử dụng được câu lệnh lặp trước while do
51
Trang 52Bài 8 - Mục tiêu
Các hoạt động lặp với số lần chưa biết trước
Ví dụ về lệnh lặp với số lần chưa biết trước
Lặp vô hạn lần - Lỗi lập trình cần tránh
Trang 53Lưu ý Bài 8
Nên bắt đầu bằng một ví dụ về hoạt động lặp
không thực hiện được với cấu trúc lặp với số lần
đã biết trước
Nhấn mạnh việc kiểm tra điều kiện trước khi
thực hiện lệnh
Câu lệnh while do rất thường xuyên được sử
dụng trong các hoạt động tương tác với máy tính
Câu lệnh trong thân vòng lặp while do thường
là câu lệnh ghép với một câu lệnh làm thay đổi
Trang 54Bài 9 Làm việc với dãy số
Dãy số và biến mảng
Ví dụ về biến mảng
Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Trang 55Bài 9 – Mục tiêu
Biết được khái niệm mảng một chiều
Biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng
Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số
55
Trang 56Lưu ý Bài 9
SGK chỉ giới thiệu kiểu mảng đơn giản nhất:
kiểu số và có chỉ số nguyên
Có thể mở rộng giới thiệu mảng kiểu xâu
Nêu ví dụ về bài toán không giải được được nếu không sử dụng biến mảng (các ví dụ trong SGK)
Trang 57Trân trọng cảm ơn!
57