MỤC ĐÍCH – YÊU CẦU • Về kiến thức: - Biết các bước cơ bản khi tiến hành giải bài toán trên máy tính: xác định bài toán, xây dựng và lựa chọn thuật toán, lựa chọn cấu trúc dữ liệu, viết c
Trang 1§5. NGÔN NGỮ LẬP TRÌNH
I MỤC ĐÍCH – YÊU CẦU
• Về kiến thức: Học sinh hiểu được ngôn ngữ bậc thấp và ngôn ngữ bậc cao là gì ? Và quá
trình dịch một chương trình sang ngôn ngữ máy để thực hiện Chương trình là cách mô tả thuật toán bằng ngôn ngữ lập trình để máy tính hiểu và thực hiện
• Về kĩ năng: Áp dụng một số ngôn ngữ lập trình để viết chương trình cho bài toán đơn giản
• Về thái độ: Hiểu rõ các khái niệm và thực hiện việc sử dụng ngôn ngữ lập trình
II CHUẨN BỊ:
• GV: SGK, SGV
• HS: Sách giáo khoa
• PP: Thuyết trình, diễn giải, đàm thoại
III HOẠT ĐỘNG DẠY HỌC
1 Ổn định lớp: ( )
2 Kiểm tra bài cũ: ( )
1/ Thuật toán là gì ?
2/ Trình bày các tính chất của thuật toán ?
3/ Hãy dùng diễn tả giải thuật bằng lưu đồ để tính chu vi và diện tích của hình chữ nhật
3 Nội dung:
Hoạt động của GV Hoạt động của HS Nội dung ghi bài
Để yêu cầu máy tính xử lý cho
ta một thông tin nào đó, ta cần
đưa thông tin đó vào máy Khi
đó máy tính có thể hiểu và
thực hiện trực tiếp được dưới
dạng mã nào ?
Gọi thêm một học sinh
khác bổ sung
Thông tin đưa vào dưới
dạng dữ liệu hoặc chương
trình Chương trình là một
chuỗi các câu lệnh, các câu
lệnh này được viết bằng kí
hiệu của một ngôn ngữ nào đó
Ngôn ngữ dùng để viết chương
trình cho máy tính gọi là
NNLT Các em vào phần 1
“Ngôn ngữ máy”
NNLT có 2 loại:
+ NNLT bậc thấp
+ NNLT bậc cao
Các em hãy cho biết ngôn
ngữ máy thuộc NNLT bậc thấp
hay bậc cao
Gọi học sinh khác phát
biểu
Máy tính xử lí trực tiếp được ở dạng mã nhị phân
Máy tính xử lí trực tiếp được ở dạng mã hexa
Ngôn ngữ lập trình bậc cao Học sinh trả lời câu hỏi
1 Ngôn ngữ máy:
Là NNLT bậc thấp Ngôn ngữ máy sử dụng những
kí hiệu của mã nhị phân hoặc mã hexa để viết chương trình đưa vào cho máy tính xử lý Máy tính sẽ hiểu và xử lý trực tiếp trên ngôn ngữ này
2 Hợp ngữ:
Tuần: …… Tiết: …… Ngày Soạn:
………
Trang 2Để thuận tiện hơn trong việc
lập trình so với ngôn ngữ máy
người ta sử dụng hợp ngữ
Để tính giá trị của biểu
thức e = (a + b) * (c + d) ta cần
có dữ liệu là gì ?
Máy tính được thiết kế và
làm việc trên cơ sở hệ nhị
phân CT viết bằng ngôn ngữ
máy chỉ chứa các kí hiệu 0 và
1 Cho nên cần phải dịch các
câu lệnh sang mã máy hay mã
nhị phân
Vận dụng tư tưởng dịch từ
ngôn ngữ này sang ngôn ngữ
khác Các nhà tin học đã dựa
trên nguyên lý máy tính điều
khiển tự động bằng chương
trình để sáng tạo ra các NNLT
gần với ngôn ngữ tự nhiên đó
là NNLT bậc cao
Khi sử dụng ngôn ngữ bậc
cao để viết chương trình vậy
cần phải làm gì để máy tính
hiểu và xử lí được
Dịch ngôn ngữ như thế nào ?
Các em có biết ngôn ngữ lập
trình nào không ?
Gọi học sinh khác cho biết
thêm ngôn ngữ lập trình
Cần có giá trị của a,b,c,d
Cần phải dịch ngôn ngữ
Dịch ngôn ngữ bậc cao sang ngôn ngữ máy
Ngôn ngữ lập trình Pascal
Học sinh chưa biết ngôn ngữ lập trình khác
Là NNLT bậc thấp Hợp ngữ bao gồm tên các câu lệnh và các qui tắc viết các câu lệnh để máy tính hiểu được
Ví dụ: tính e = (a + b) * (c + d)
- Input a (Nhập giá trị cho a từ bàn phím)
- Load a (Đọc giá trị a vào thanh ghi tổng)
- Add d (Cộng giá trị ở thanh ghi tổng A với giá trị d)
- Print e (Hiển thị giá trị e ra màn hình)
3 Ngôn ngữ bậc cao:
Là NNLT dùng những
kí hiệu gần với ngôn ngữ tự nhiên hơn để viết câu lệnh Có các ưu điểm sau:
+ Các câu lệnh của NNLT gần với ngôn ngữ tự nhiên
+ Cung cấp các phương tiện trợ giúp để giải các bài toán khoa học, kỹ thuật hoặc quản lý tuỳ theo từng lĩnh vực ứng dụng
VD: Ngôn ngữ Fortran, Cobol, Pascal, C, C++, Java,
4 Củng cố:
1/ Ngôn ngữ lập trình là gì ? 2/ Chương trình dịch dùng để dịch các ngôn ngữ khác sang ngôn ngữ máy để máy tính hiểu và xử lí được
3/ Ngôn ngữ bậc cao được phát triển vì tạo môi trường làm việc dễ dàng hơn cho con người
5 Dặn dò:
- Các em học bài và xem bài tập trong
SBT Tìm hiểu thêm một số ngôn ngữ khác
- Xem trước bài “Giải bài toán trên máy
Trà Vinh, ngày …… tháng…… năm …………
Tổ trưởng duyệt
Trang 3§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
I MỤC ĐÍCH – YÊU CẦU
• Về kiến thức: - Biết các bước cơ bản khi tiến hành giải bài toán trên máy tính: xác định bài
toán, xây dựng và lựa chọn thuật toán, lựa chọn cấu trúc dữ liệu, viết chương trình, hiệu chỉnh, đưa ra kết quả và hướng dẫn sử dụng
• Về kĩ năng: Xác định bài toán và lựa chọn thuật toán tối ưu đối với một bài toán
• Về thái độ: Hiểu rõ các bước khi giải một bài toán trên máy tính
II CHUẨN BỊ:
• GV: SGK, SGV
• HS: Sách giáo khoa
• PP: Đặt vấn đề, gợi ý, đàm thoại
III HOẠT ĐỘNG DẠY HỌC
1 Ổn định lớp: ( )
2 Kiểm tra bài cũ: ( )
1/ Em hiểu thế nào là ngôn ngữ lập trình ?
2/ Chương trình dịch dùng để làm gì ?
3/ Vì sao phải phát triển các ngôn ngữ bậc cao?
3 Nội dung:
Hoạt động của GV Hoạt động của HS Nội dung ghi bài
Ở các bài trước các em đã
biết được xây dựng thuật toán
và sử dụng ngôn ngữ để viết
chương trình Khi đó để có
kết quả bài toán giải trên
máy tính thường được tiến
hành qua các bước nào ?
Bây giờ ta tiến hành từng
bước giải bài toán trên máy tính
Để xác định bài toán cần
xét các yếu tố nào ?
Sau khi xác định Input
và Output ta tiến hành chọn
thuật toán
Ở bài trước các em đã xây
dựng thuật toán tìm nghiệm
của pt tổng quát ax2+bx+c=0
Vậy thuật toán đó có thể áp
dụng tính chu vi và diện tích
hình chữ nhật không ?
Gọi học sinh khác cho
nhận xét
Như vậy cần lựa chọn
thuật toán
Để giải BT trên máy tính được tiến hành các bước:
-B1: Xác định bài toán
- B2: Lựa chọn hoặc thiết kế thuật toán
- B3: Viết chương trình
- B4: Hiệu chỉnh
- B5: Viết tài liệu
Xét 2 yếu tố: Input và Output
Thuật toán đó có thể áp dụng tính chu vi và diện tích hình chữ nhật
Thuật toán không thể áp dụng
1 Xác định bài toán
Mỗi bài toán được đặc tả bởi 2 thành phần: Input và Output Từ đó có thể lựa chọn thuật toán và ngôn ngữ lập trình một cách thích hợp, hiệu quả
Tuần: …… Tiết: …… Ngày Soạn:
………
Trang 4Vậy một thuật toán có thể
giải mấy dạng bài toán
Ngược lại một bài toán có thể
được xây dựng bởi nhiều
thuật toán không ?
Thuật toán tối ưu là:
- Dễ quan sát, thời gian thực
hiện nhanh
-Độ chính xác cao
Mô phỏng việc thực hiện
thuật toán
+ Lần duyệt 1:
M M N
+ Lần duyệt 2:
N N M
+ Lần duyệt 3:
M M N
UCLN(5,3)=1
Sau khi có thuật toán thì
cần chuyển thuật toán đó
sang chương trình Ta xét tiếp
phần “Viết chương trình”
Theo các em hiểu thì có thể
dùng cùng lúc nhiều NNLT để
viết một chương trình không ?
Khi viết chương trình có
thể chọn bất kì một NNLT,
nhưng cần chọn một ngôn ngữ
như thế nào ?
Chương trình viết xong có
thể chưa chính xác nên cần
kiểm thử lại bằng một số giá
trị đặc trưng
Nếu kiểm thử sai cần chỉnh
sửa lại Sau đó có kiểm thử
lại nữa không ?
Sau khi chương trình đã
hoàn chỉnh ta cần viết tài liệu
để mô tả chương trình và
cách sử dụng chương trình
Mỗi thuật toán chỉ giải một dạng bài toán nào đó
Xây dựng được bởi nhiều thuật toán
Giá trị M lớn hơn giá trị N Giá trị N lớn hơn giá trị M Giá trị M lớn hơn giá trị N
Học sinh trả lời câu hỏi
Cần chọn một ngôn ngữ thích hợp bài toán, thuật toán
Cần phải kiểm thử tiếp
2 Lựa chọn hoặc thiết kế thuật toán
a) Lựa chọn thuật toán Mỗi thuật toán chỉ giải một dạng bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán Cần chọn một thuật toán tối ưu nhất để giải bài toán
VD: Cho dãy số đã được sắp xếp thì khi áp dụng thuật toán tìm kiếm nhị phân sẽ nhanh hơn thuật toán tìm kiếm tuần tự (ít thao tác hơn)
b) Diễn tả thuật toán VD: Tìm UCLN của hai số nguyên dương M, N
* Xác định bài toán
- Input: Hai số nguyên dương M, N
- Output: UCLN(M,N)
* Thuật toán
Cách liệt kê
- Bước 1: Nhập M,N
- Bước 2: Nếu M=N thì lấy giá trị
chung làm UCLN rồi chuyển đến bước 5
- Bước 3: Nếu M >N thì M <- M –N
rồi quay lại bước 2
- Bước 4: N <- N-M rồi quay lại bước
2
- Bước 5: Đưa ra kết quả UCLN rồi
kết thúc
3 Viết chương trình
Là lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán Khi viết chương trình cần chọn một ngôn ngữ lập trình nào đó, nhưng phải tuân theo đúng qui định ngữ pháp của ngôn ngữ đó
4 Hiệu chỉnh
Khi viết chương trình xong, cần kiểm thử bằng một số bộ Input đặc trưng Nếu có sai xót, phải sửa chương trình rồi thử lại Quá trình này gọi là hiệu chỉnh
VD: Để kiểm thử tính đúng đắn của chương trình tìm UCLN của
Trang 5* M=5, N=3 ⇒ UCLN(M,N)=1
* M=8, N=4 ⇒ UCLN(M,N)=4
5 Viết tài liệu
Tài liệu phải mô tả chi tiết bài toán, thuật toán, chương trình và hướng dẫn sử dụng
4 Củng cố: ( )
1/ Khi giải bài toán trên máy tính cần có bước: Xác định bài toán, lựa chọn hoặc thiết kế thuật toán, viết chương trình, hiệu chỉnh và viết tài liệu
2/ Một thuật toán chỉ có thể giải một dạng bài toán nhưng một bài toán có thể có nhiều thuật toán
3/ Công việc hiệu chỉnh thực hiện khi kiểm tra chương trình có xảy ra lỗi
5 Dặn dò: ( )
- Các em về học bài và làm bài tập ở SBT
- Xem trước bài “Phần mềm máy tính”
Trà Vinh, ngày …… tháng…… năm …………
Tổ trưởng duyệt
Trang 6§7. PHẦN MỀM MÁYTÍNH
I MỤC ĐÍCH – YÊU CẦU
• Về kiến thức: - Biết khái niệm phần mềm máy tính
- Phân biệt được phần mềm hệ thống và phần mềm ứng dụng
II CHUẨN BỊ:
• GV: SGK, SGV
• HS: Sách giáo khoa
• PP: Thuyết trình, đàm thoại, diễn giải
III HOẠT ĐỘNG DẠY HỌC
1 Ổn định lớp: ( )
2 Kiểm tra bài cũ: ( )
1/ Các bước để giải bài toán trên máy tính ?
2/ Khi lựa chọn thuật toán xác định như thế nào ?
3/ Hãy nêu nội dung và mục đích của bước hiệu chỉnh khi giải bài toán trên máy tính ?
3 Nội dung:
Hoạt động của GV Hoạt động của HS Nội dung ghi bài
Sau khi thực hiện giải các bài
toán thì sản phẩm thu được là
cách tổ chức dữ liệu, chương
trình và tài liệu Với chương
trình đó có thể giải các bài
toán có thể xem là phần mềm
máy tính
Các em cho biết phần mềm
máy tính có những loại nào ?
Phần mềm hệ thống có
chức năng điều hành toàn bộ
hoạt động của máy tính trong
suốt quá trình làm việc
Vậy phần mềm hệ thống
đối với máy tính có quan
trọng không ?
Sau khi máy tính đã hoạt
động được thì ta có thể tiến
hành các công việc nhưng cần
phải có phần mềm để hỗ trợ
Phần mềm đó là phần mềm
ứng dụng
Phần mềm ứng dụng được
có thể phân ra những loại nào ?
Phần mềm công cụ có thể
hỗ trợ cho các phần mềm khác
Khi các thiết bị hoặc các
Phần mềm hệ thống và phần mềm ứng dụng
Phần mềm hệ thống rất quan trọng đối với máy tính
Phần mềm công cụ và phần mềm tiện ích
1 Phần mềm hệ thống
Là những chương trình tạo môi trường làm việc cho các phần mềm khác trong quá trình hoạt động của máy tính
2 Phần mềm ứng dụng
Phần mềm máy tính được phát triển để giải quyết những công việc như soạn thảo văn bản, xử lí ảnh, trò chơi, quản lí học sinh, được gọi là các phần mềm ứng dụng
Để hỗ trợ cho việc làm ra các sản phẩm phần mềm, người ta lại dùng chính các phần mềm khác được gọi
Tuần: …… Tiết: …… Ngày Soạn:
………
Trang 7chức năng khác cần thiết cho
máy tính thì có thể sử dụng
phần mềm tiện ích
Ngoài các loại phần mềm
trên thì có những phần mềm
khó xếp thuộc loại phần mềm
nào
là phần mềm công cụ
Các phần mềm giúp sao chép dữ liệu, sửa chữa đĩa hỏng, tìm và diệt virus được gọi là các phần mềm tiện ích
4 Củng cố: ( )
1/ Phần mềm hệ thống giúp máy tính hoạt động và hỗ trợ cho các phần mềm ứng dụng
2/ Phần mềm chỉ hoạt động khi đã có phần mềm hệ thống
5 Dặn dò: ( )
- Các em về học bài, làm các câu hỏi trong SBT và tìm thêm tên các phần mềm ứng dụng
- Xem trước bài “Tin học và xã hội”
Trà Vinh, ngày …… tháng…… năm …………
Tổ trưởng duyệt
Trang 8§8. NHỮNG ỨNG DỤNG CỦA TIN HỌC
I MỤC ĐÍCH – YÊU CẦU
• Về kiến thức: - Biết được ứng dụng chủ yếu của tin học trong các lĩnh vực đời sống xã hội
- Biết rằng có thể sử dụng một số chương trình ứng dụng để nâng cao hiệu quả học tập, làm việc và giải trí
II CHUẨN BỊ:
• GV: SGK, SGV
• HS: Sách giáo khoa
• PP: Nêu vấn đề, đàm thoại và diễn giải
III HOẠT ĐỘNG DẠY HỌC
1 Ổn định lớp: ( )
2 Kiểm tra bài cũ: ( )
1/ Các bước để giải bài toán trên máy tính ?
2/ Khi lựa chọn thuật toán xác định như thế nào ?
3/ Hãy nêu nội dung và mục đích của bước hiệu chỉnh khi giải bài toán trên máy tính ?
3 Nội dung:
Hoạt động của GV Hoạt động của HS Nội dung ghi bài
Ngày nay ở mọi nơi và mọi
lĩnh vực trong đời sống xã hội
tin học đã được sử dụng phổ
biến và có hiệu quả Để thấy
được tầm quan trọng của tin
học ta tìm hiểu các ứng dụng
của tin học
Vì sao các bài toán khoa
học kĩ thuật khi áp dụng bằng
máy tính hiệu quả hơn
Gọi học sinh khác bổ sung
Bất kì các hoạt động hay tổ
chức nào của con người cần
được quản lí dễ dàng và hiệu
quả thì như thế nào ?
Hãy kể một vài phần mềm
chuyên dụng để trợ giúp đắc lực
cho việc quản lí của con người
Vì khi thiết kế trên máy tính dễ nhìn thấy kết quả, dễ sửa chữa
Bài toán thiết kế được nhìn trực quan hơn, nhanh hơn và chi phí thấp hơn
Áp dụng bằng máy tính để quản lí các dữ liệu của công việc
Các hệ quản trị dữ liệu như: Foxpro, Access,
1 Giải các bài toán khoa học kỹ thuật
Các bài toán phát sinh từ các lĩnh vực thiết kế kĩ thuật, xử lí các số liệu thực nghiệm, với khối lượng lớn các tính toán số thì khi áp dụng máy tính để thực hiện thì quá trình thiết kế trở nên nhanh hơn, hoàn thiện hơn và chi phí thấp hơn
2 Hỗ trợ việc quản lí
Các hoạt động quản lí có một đặc điểm chung là phải xử lí một lượng lớn thông tin và thông tin thường rất đa dạng
Một quy trình ứng dụng tin
ThiÕt kÕ « t« trªn m¸y tÝnh
Tuần: …… Tiết: …… Ngày Soạn:
………
Trang 9Để thuận tiện cho
những công việc điều khiển
dạng tự động thì máy tính đã
hỗ trợ rất hiệu quả và đa
dạng
Các em cho ví dụ ứng dụng
tin học cho điều khiển tự
động
Các dịch vụ của kĩ thuật
truyền thông với một xu thế
tất yếu tạo liên kết giữa
mạng truyền thông và mạng
máy tính để pt tiện lợi và đa
dạng
Các em cho một ví dụ ứng
dụng tin học cho việc truyền thông
Để công việc dễ dàng và
nhanh chóng trong soạn thảo
văn bản, lưu trữ thì tin học đã
trợ giúp rất hiệu quả
Với sự phát triển đa dạng
của tin học con người có thể
thiết kế các máy có thể đảm
đương một số hoạt động thuộc
lĩnh vực trí tuệ của con người
Các em cho ví dụ về ứng
dụng cao của tin học
Áp dụng các thành tựu của
Sự hoạt động của vệ tinh
Gửi thư điện tử thông qua mạng internet
Người máy ASIMO
học để quản lí thường gồm các bước sau:
- Tổ chức lưu trữ các hồ sơ, chứng từ trên máy tính
- Xây dựng các chương trình tiện dụng làm các các việc như cập nhật (bổ sung, sửa chữa, loại bỏ, ) các hồ sơ
- Khai thác thông tin như: tìm kiếm, thống kê, in ấn,
3 Tự động hóa và điều khiển
Với sự trợ giúp của máy tính, con người có được những quy trình công nghệ tự động hóa linh hoạt, chuẩn xác, chi phí thấp, hiệu quả và
đa dạng
4 Truyền thông
Tin học đã góp phần không nhỏ để đổi mới các dịch vụ kĩ thuật truyền thông Với những công nghệ truyền thông hiện đại đã tạo ra mạng máy tính toàn cầu Internet giúp con người có thể liên lạc, chia sẻ thông tin trên toàn thế giới
5 Soạn thảo, in ấn, lưu trữ, văn phòng
Với sự trợ giúp của các chương trình soạn thảo và xử lí văn bản làm cho con người xử lí công việc dễ dàng, nhanh chóng và hiệu quả hơn
6 Trí tuệ nhân tạo
Máy tính có thể giúp con người tính đến các yếu tố, tình huống liên quan đến một số hoạt động thuộc lĩnh vực trí tuệ của con người Máy tính có thể xem xét các khả năng và đưa ra một số phương án có thể lựa chọn tốt nhất
Tµu vị trơ con thoi
Ng êi m¸y ASIMO
Trang 10tin học có thể thiết kế các
thiết bị hỗ trợ cho giáo dục
Có thể áp dụng các chương
trình ứng dụng trong tin học
để giải trí
7 Giáo dục
Với sự hỗ trợ của Tin học thì ngành giáo dục đã có thể làm cho việc dạy và học sinh động hơn, gây hứng thú cho người học Ngoài ra cho phép giáo viên có thể sử dụng các phương pháp giảng dạy hơ
8 Giải trí
Để giải trí người sử dụng có thể dùng các phần mềm máy tính để chơi trò chơi, xem phim, nghe nhạc, học vẽ,
4 Củng cố:
- Tin học được ứng dụng hầu hết tất cả các lĩnh vực: Khoa học kĩ thuật, quản lí, truyền thông, tự động hóa, truyền thông, giáo dục, và đem lại hiệu quả rất cao
5 Dặn dò:
- Các em về học bài và xem lại những ứng dụng tin học và tìm hiểu thêm tầm quan trọng
của tin học trong các lĩnh vực khác
- Đọc sách giáo khoa trước đối với bài “Tin học và xã hội”
Trà Vinh, ngày …… tháng…… năm …………
Tổ trưởng duyệt