GIỚI THIỆU SGK PHẦN I. LẬP TRÌNH ĐƠN GIẢN Mục tiêu Cung cấp một số kiến thức và kĩ năng ban đầu.

Download Report

Transcript GIỚI THIỆU SGK PHẦN I. LẬP TRÌNH ĐƠN GIẢN Mục tiêu Cung cấp một số kiến thức và kĩ năng ban đầu.

GIỚI THIỆU SGK
PHẦN I. LẬP TRÌNH ĐƠN GIẢN
Mục tiêu
Cung cấp một số kiến thức và kĩ năng ban đầu về
ngôn ngữ lập trình
Nhận thức được chương trình được tạo để điều
khiển máy tính
Giải được một số bài toán đơn giản trên máy tính
bằng cách vận dụng thuật toán đơn giản, dữ liệu
chuẩn trên ngôn ngữ lập trình bậc cao cụ thể
Rèn luyện phong cách tư duy công nghệ
2
Yê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
trên một ngôn ngữ lập trình cụ thể
Có kiến thức sơ bộ về ngôn ngữ lập trình Pascal,
cấu trúc chung và các thành phần của chương
trình
Biết một số kiểu dữ liệu chuẩn, phép toán, biểu
thức số học, biểu thức quan hệ, khái niệm về
biến, lệnh gán và các câu lệnh vào/ra đơn giản
3
Yê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:



Cấu
Cấu
Cấu
biết
trúc tuần tự
trúc rẽ nhánh
trúc lặp (lặp với số lần biết trước và chưa
trước)
Biết kiểu mảng và biến có chỉ số, biết cách khai
báo mảng, truy cập các phần tử của mảng
Hiểu thuật toán của một số bài toán thường gặp
như: tìm số lớn nhất, số nhỏ nhất; kiểm tra 3 số
cho trước có phải là độ dài 3 cạnh của tam giác
không
4
Yê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
bước
Viết được chương trình TP đơn giản, khai báo đúng
biến và câu lệnh vào/ra
Viết và sử dụng đúng các lệnh điều kiện dạng thiếu và
dạng đầy đủ
Viết và sử dụng lệnh lặp với số lần biết trước và chưa
biết trướ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
Yê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
Nội dung
Gồm 16 bài: 09 bài lí thuyết + 07 bài thực hành
Dạ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
Cấ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
Cấ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
Nhữ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
10
Nhữ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
viết chương trình (thời lượng bài 5 tăng gấp đôi!)
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
Những điểm cần lưu ý
Đối với HS THCS, việc trình bày về ngôn ngữ
lập trình cần thông qua một ngôn ngữ lập trình cụ
thể là cần thiết
Lý do chọn Pascal để minh họa: ngôn ngữ lập
trình cấu trúc, trong sáng, có tính sư phạm cao,
phổ biến, phù hợp với giáo viên, dễ cài đặt
Cá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
12
Những điểm cần lưu ý
Thứ tự trình bày kiến thức, lý do trình bày nội
dung thuật toán trong Bài 5
Thuật toán và mô tả thuật toán là vấn đề khó
nhất
 Sử dụng ký hiệu phép gán
 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
Cấ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
14
Cấ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
Cấ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
16
Câu hỏi và bài tập
Nhằm để học sinh ôn luyện kiến thức đã học
trong bài.
Những bài nâng cao dưới dạng hoạt động của
học sinh
Có phân bố thời lượng riêng để giải các câu hỏi
và bài tập
17
Đị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
(có thể trên giấy)
Bố trí thực hành ngay sau phần lý thuyết tương
ứng, tận dụng thời gian sử dụng máy tính.
Tăng cường hoạt động, học sinh tự tìm hiểu,
khám phá
Tổ chức hoạt động nhóm
18
Bà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?
Ví dụ: rô-bốt nhặt rác
Viết chương trình - ra lệnh cho máy tính làm việc
Chương trình và ngôn ngữ lập trình
19
Bà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
một cách tự động
Viết chương trình là viết các lệnh để chỉ dẫn máy
tính thực hiện các công việc hay giải một bài
toán cụ thể
Biết vai trò của ngôn ngữ lập trình và chương
trình dịch
20
Lư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ình
Khá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
Lư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ả
22
Bài 2. Làm quen với chương trình và
ngôn ngữ lập trình
Ví dụ về chương trình
Ngôn ngữ lập trình gồm những gì?
Từ khoá và tên
Cấu trúc chung của chương trình
Ví dụ về ngôn ngữ lập trình
23
Bài 2 – Mục tiêu
Biết ngôn ngữ lập trình gồm các thành phần cơ
bản là bảng chữ cái và các quy tắc để viết
chương trình, câu lệnh
Biết các từ khóa dành riêng cho mục đích sử
dụng nhất định
Biết tên trong ngôn ngữ lập trình là do người lập
trình đặt ra và phải tuân thủ các quy tắc của ngôn
ngữ lập trình
Biế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
24
Lư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 1
Tiế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
Bài thực hành 1
Thực hiện được thao tác khởi động/kết thúc TP,
làm quen với màn hình soạn thảo TP
Thực hiện được các thao tác mở các bảng chọn
và chọn lệnh.
Soạn thảo được một chương trình Pascal đơn
giản.
Biết cách dịch, sửa lỗi trong chương trình, chạy
chương trình và xem kết quả.
Biết sự cần thiết phải tuân thủ quy định của ngôn
ngữ lập trình
26
Lư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
Bà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
28
Bà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
Lưu ý Bài 3
Chỉ hạn chế giới thiệu một vài kiểu dữ liệu
thường dùng nhất
Quy tắc viết các biểu thức số học trong Pascal và
thứ tự ưu tiên khi tính toán
Nhấn mạnh giá trị của biểu thức so sánh là
ĐÚNG hoặc SAI
Các phép toán với số nguyên: div, mod
30
Lư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
Bài thực hành 2
Chuyển được biểu thức toán học sang biểu diễn
trong Pascal;
Biết được kiểu dữ liệu khác nhau thì được xử lý
khác nhau.
Hiể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.
32
Bà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
Bà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
34
Lư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ị
trung gian (được nhập vào hay được tính toán)
35
Bài thực hành 3
Hiểu về các kiểu dữ liệu chuẩn: kiểu số nguyên,
kiểu số thực
Thực hiện được khai báo đúng cú pháp, lựa chọn
được kiểu dữ liệu phù hợp cho biến
Kế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
biến.
36
Bà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
Bà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
tiên, tìm số lớn nhất của một dãy số
38
Lưu ý Bài 5
Đây là nội dung rất quan trọng, được dành thời
lượng gấp đôi
Có thể sử dụng lại ví dụ về robot ở Bài 1 để dẫn
dắt đến khái niệm bài toán trong tin học
Cầ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
Lư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
Các cách mô tả: liệt kê và sơ đồ khối
40
Lư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
Bà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
42
Bà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.
Hai dạng: Dạng thiếu và dạng đủ
Biết mọi ngôn ngữ lập trình đều có câu lệnh để
thể hiện cấu trúc rẽ nhánh
Hiểu cú pháp, hoạt động của các câu lệnh điều
kiện dạng thiếu và dạng đủ trong Pascal
Viết được câu lệnh điều kiện trong Pascal
43
Lư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
44
Lưu ý Bài 6
Hai dạng cấu trúc rẽ nhánh: dạng thiếu và dạng
đầy đủ
Trong lập trình, điều kiện thường được thể hiện
bằng phép so sánh
Nê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ệnh
Việc giới thiệu sơ đồ khối có thể giúp học sinh
dễ hình dung hơn
45
46
Bà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
Bài 7. Mục tiêu
Biết nhu cầu cần có cấu trúc lặp 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 để chỉ
dẫn máy tính thực hiện lặp một công việc nào đó
Hiểu hoạt động của câu lệnh lặp với số lần biết
trướ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
48
Lư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
Lư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
50
Bà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
Bà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
52
Lư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
điều kiện
53
Bà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ố
54
Bà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
Lư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)
56
Trân trọng cảm ơn!
57