VỊ TRÍ, TÍNH CHẤT MÔ ĐUN Vị trí: Mô đun được bố trí sau khi học xong các môn học chung, mô đun này học vào học kỳ 1 của năm thứ nhất. Tính chất: Là mô đun cơ sở bắt buộc, kiến thức môn này là các kiến thức cơ bản về lập trình, làm nền tảng để học các môn lập trình sau này. II. MỤC TIÊU MÔ ĐUN a Về kiến thức: Hiểu được công dụng của ngôn ngữ lập trình, hiểu cú pháp, công dụng của các câu lệnh dùng trong ngôn ngữ lập trình . Phân tích được chương trình: xác định nhiệm vụ chương trình (phải làm gì). b về kỹ năng: Vận dụng điều kiện, trợ giúp môi trường của ngôn ngữ lập trình, chẳng hạn: các thao tác biên tập chương trình, các công cụ, điều khiển, thực đơn lệnh trợ giúp, gỡ rối, bẫy lỗi,v.v. Viết chương trình và thực hiện chương trình trong máy tính. Về thái độ: Cẩn thận, tỉ mỉ trong công việc.
Trang 1SỔ GIÁO ÁNTÍCH HỢP
Trang 21.1.1 Xác định vị trí bài giảng:
DANH MỤC CÁC MÔN HỌC, MÔ ĐUN ĐÀO TẠO BẮT BUỘC, THỜI GIAN VÀ PHÂN BỔ THỜI GIAN NGÀNH CÔNG NGHỆ THÔNG TIN CAO ĐẲNG NGHỀ:
CHƯƠNG TRÌNH MÔ ĐUN LẬP TRÌNH CĂN BẢN
- Viết chương trình và thực hiện chương trình trong máy tính
c- Về thái độ: Cẩn thận, tỉ mỉ trong công việc
Trang 3III NỘI DUNG MÔ ĐUN
1 Nội dung tổng quát và phân phối thời gian
Thời gian Tổng
Kiểm tra
2 Nội dung chi tiết
Chương 1: Tổng quan về ngôn ngữ C
Mục tiêu của bài:
- Hiểu được lịch sử phát triển của ngôn ngữ lập trình
- Biết được ngôn ngữ này có những ứng dụng thực tế như thế nào
- Biết được cách tìm và xây dựng giải thuật cho bài toán
- Biết được cách khởi động được và thoát khỏi chương trình
- Biết được các thành phần cơ bản của ngôn ngữ
- Biết được cách nhập xuất dữ liệu và cấu trúc chung của chương trình
Nội dung của bài: Thời gian:18h (LT:10h; TH:8h)1.1- Khái niệm về lập trình
1.1.1- Định nghĩa
1.1.2- Giải thuật
Trang 41.1.3- Đặc tính của giải thuật
1.1.4- Các công cụ thể hiện giải thuật
1.2- Các khái niệm cơ bản trong ngôn ngữ C
1.3.1- Tìm giải thuật cho bài toán
1.3.2- Tạo tập tin chương trình
1.3.3- Dịch chương trình
1.3.4- Thực thi chương trình
Chương 2: Các cấu trúc điều khiển
Mục tiêu của bài:
- Hiểu và sử dụng được cấu trúc rẽ nhánh
- Hiểu và sử dụng được cấu trúc lặp
- Hiểu được và vận dụng được các cấu trúc điều khiển vào các
chương trình cụ thể
12h)
Trang 5Chương 3: Dữ liệu kiểu mảng
Mục tiêu của bài:
- Hiểu được định nghĩa và ứng dụng kiểu mảng
- Hiểu và vận dụng được mảng 1 chiều
- Hiểu và vận dụng được mảng nhiều chiều
(LT:8h;TH:10h) 3.1- Định nghĩa và ứng dụng
Trang 6Chương 4: Dữ liệu kiểu chuỗi
Mục tiêu của bài:
- Hiểu được định nghĩa, khai báo và các thao tác trên kiểu chuỗi
- Hiểu và vận dụng được các hàm xử lý chuỗi
- Viết được các chương trình ứng dụng
Nội dung của bài: Thời gian: 18h(LT:9h; TH:9h) 4.1- Định nghĩa và khai báo
4.2- Các thao tác trên kiểu chuỗi
Mục tiêu của bài:
- Hiểu định nghĩa và cấu trúc chung của một hàm
- Hiểu được khái niệm con trỏ và ứng dụng của nó
- Hiểu được cách xây dựng hàm bằng giải thuật đệ qui
Nội dung của bài: Thời gian: 24h(LT:12h;TH:12h) 5.1- Hàm
Trang 7Chương 6: Dữ liệu kiểu cấu trúc
Mục tiêu của bài:
- Hiểu được định nghĩa và cách khai báo kiểu cấu trúc
- Vận dụng kiểu cấu trúc vào các chương trình ứng dụng
- Hiểu được định nghĩa và cách khai báo kiểu hợp
Trang 8- Biết được ngôn ngữ lập trình nào đó (C hay Pascal)
- Nêu thuật toán và viết chương trình các bài toán đơn giản
Trang 9- Biết chuẩn đoán và sửa chữa lỗi trong chương trình
b- Về kỹ năng:
Đánh giá kỹ năng thực hành của sinh viên:
- Nắm được cú pháp lệnh
- Vận dụng vào lập trình
- Chủ động, say mê, ham thích
c- Về thái độ: Cẩn thận, thao tác nhanh chuẩn xác, tự giác trong học tập
VI HƯỚNG DẪN THỰC HIỆN MÔ ĐUN
2 Hướng dẫn một số điểm chính về phương pháp giảng dạy mô đun:
- Sử dụng phương pháp phát vấn
- Phân nhóm cho các sinh viên trao đổi với nhau, trình bày theo nhóm
- Khi giảng dạy có thể sử dụng các ngôn ngữ về lập trình để mô phỏng cho cácbài toán: C, Pascal, NET…
3.Những trọng tâm chương trình cần chú ý:
Giáo viên trước khi giảng dạy cần phải căn cứ vào nội dung của từng bài họcchuẩn bị đầy đủ các điều kiện thực hiện bài học để đảm bảo chất lượng giảngdạy
4.Tài liệu cần tham khảo:
[1] Giáo trình Kỹ thuật lập trình C Căn bản & Nâng cao – GS Phạm Văn Ất(Chủ biên) - Nhà xuất bản Hồng Đức
Trang 10[2] Giáo trình Lý thuyết và bài tập ngôn ngữ C – Nguyễn Đình Tê, Hoàng ĐứcHải – Nhà xuất bản Giáo dục
[3] Lập trình căn bản – Đoàn Nguyên Hải – Trường Đại học Bách khoaTP.HCM
[4] Cẩm nang Thuật Toán 1 và 2 – Robert Sedgewick – Nhà xuất bản Khoa học
Kỹ thuật
[5] Programming in C – UNIX System Calls and Subroutines Using C – A D.
Marshall 1994-2005
[6] Các trang Web có liên quan đến môn học
Vĩnh long, ngày 17 tháng 11 năm 2015
GV phản biện 1 GV phản biện 2 GV biên soạn
1.1.2 Soạn bài giảng:
Chương 2: CÁC CẤU TRÚC ĐIỀU KHIỂN(tiếp theo) 2.1 CẤU TRÚC RẼ NHÁNH:
Trang 11- Các biểu thức trong dãy biểu thức 1, 2 cách nhau bởi dấu phẩy (,) Có thể
có nhiều biểu thức trong các dãy này hoặc dãy biểu thức cũng có thểtrống
- Điều kiện lặp: là biểu thức logic (có giá trị đúng, sai)
Các dãy biểu thức và điều kiện có thể trống tuy nhiên vẫn giữ lại các dấuchấm phẩy (;) để ngăn cách các phần với nhau
2.2.1.2 Lưu đồ cú pháp:
2.2.1.3 Cách thực hiện:
Khi gặp câu lệnh for trình tự thực hiện của chương trình như sau:
- Thực hiện dãy biểu thức 1 (thông thường là các lệnh khởi tạo cho một sốbiến)
- Kiểm tra điều kiện lặp, nếu đúng thì thực hiện khối lệnh lặp thực hiệndãy biểu thức 2 quay lại kiểm tra điều kiện lặp và lặp lại quá trình trêncho đến khi việc kiểm tra điều kiện lặp cho kết quả sai thì dừng
Trang 12Tóm lại, dãy biểu thức 1 sẽ được thực hiện 1 lần duy nhất ngay từ đầu quátrình lặp sau đó thực hiện các câu lệnh trong khối lệnh lặp và dãy biểu thức 2cho đến khi nào không còn thỏa điều kiện lặp nữ thì dừng.
Tương tự như cấu trúc if, nếu khối lệnh lặp có nhiều hơn 1 câu lệnh thì baochúng trong cặp ngoặc móc {}
Trang 142.2.1.5 Đặc điểm:
Thông qua phần giải thích cách hoạt động của câu lệnh for trong ví dụ 3 cóthể thấy các thành phần của for có thể để trống, tuy nhiên các dấu chấm phẩyvẫn giữ lại để ngăn cách các thành phần với nhau
2.2.1.6 Lệnh for lồng nhau:
Trong khối lệnh lặp có thể chứa cả lệnh for, tức là các lệnh for cũng đượcphép lồng nhau như các cấu trúc khác
Ví dụ 4: Bài toán cổ: “Vừa gà vừa chó, bó lại cho tròn, 36 con, 100 chân
chẵn” Hỏi có mấy gà và mấy chó
Để giải bài toán này ta gọi g là số gà và c là số chó Theo điều kiện bài toán
ta thấy g có thể đi từ 0 và đến tối đa là 50 (vì chỉ có 100 chân), tương tự c cóthể đi từ 0 đến 25 Như vậy ta có thể cho g chạy từ 0 đến 50 và với mỗi giátrị cụ thể của g lại cho c chạy từ 0 đến 25, lần lượt với mỗi cặp (g,c) cụ thể
đó ta kiễm tra 2 điều kiện: g+c==36 (số con) và 2g+4c==100 (số chân) Nếu
cả hai điều kiện đều thỏa thì cặp (g, c) cụ thể đó chính là nghiệm cần tìm Từ
đó ta có chương trình với 2 vòng lặp for lồng nhau
Trang 15For (i=1; i<11; i++) sẽ thực hiện 10 lần
For (i=1; i<=10; i++) sẽ thực hiện 10 lần
For (i=1; i<=11; i++) sẽ thực hiện 11 lần
Trang 162 Sử dụng toán tử gán (=) thay vì toán tử quan hệ bằng (==) trong các biểu
thức điều kiện, hay ngược lại với biểu thức khởi tạo trong for
3 Đặt dấu ; ngay sau biểu thức điều kiện của while (gây treo máy) hoặc
ngay dấu ngoặc “)” của vòng lặp for có lệnh bên dưới
GIÁO ÁN SỐ: Thời gian thực hiện: 1 giờ
Tên bài học trước: Chương 2: CÁC CẤU TRÚC ĐIỀU
KHIỂN(tiếp theo)Thực hiện từ ngày đến ngày
TÊN BÀI: CÁC CẤU TRÚC ĐIỀU KHIỂN
MỤC TIÊU BÀI HỌC:
Sau khi học xong bài này, người học có:
a Kiến thức:
- Trình bày được cú pháp vòng lặp for
- Trình bày được sơ đồ cú pháp, cũng như cách thực hiện của sơ đồ cú pháp
vòng lặp for
b Kỹ năng:
- Khai báo đúng cú pháp vòng lặp for
- Thực hiện được các bài tập áp dụng for
c Thái độ:
Trang 17- Rèn luyện được tính thận trọng lập trình với cấu trúc for.
ĐỒ DÙNG VÀ TRANG THIẾT BỊ DẠY HỌC
- Bảng phấn;
- Giáo án, đề cương, bài giảng;
- Bảng qui trình, các tài liệu phát tay;
- Máy chiếu, máy vi tính kết nối mạng, thiết bị hỗ trợ trình diễn;
- Kiểm tra bài cũ
II THỰC HIỆN BÀI HỌC
T
HOẠT ĐỘNG DẠY HỌC
THỜIGIAN
HOẠT ĐỘNG CỦAGIÁO VIÊN
HOẠT ĐỘNG CỦAHỌC SINH
Trang 18viên nêu một số ví
dụ khác;
- Lắng nghe câutrả lời, đưa ra nhậnxét;
- Chuyển tiếp sangnội dung học tậpbài mới;
nghĩ và phát biểutrả lời câu hỏi;
- Lắng nghe nhậnxét của giáo viên;
- Chuẩn bị tư thếhọc tập các nộidung của bài mới;
- Trình chiếu, giớithiệu khái quát nộidung bài học;
- Chuyển tiếp sangnội dung cần học;
- Lắng nghe, ghichép tên bài học;
- Quan sát, ghinhận các mục tiêucần đạt được;
- Quan sát, lắngnghe, nhận biết cácnội dung cần học;
- Chuẩn bị tư thế;
đề
30phút
2.2.1 Cấu
trúc for:
Trang 19pháp: pháp cấu trúc for;
- Giải thích cáctham số;
- Quan sát, ghinhận;
1 phút
2.2.1.3 Cách
thực hiện:
- Trình chiếu cáchthực hiện lưu đồcấu trúc for;
- Chú ý quan sát,lắng nghe;
- Cho một ví dụ 2;
- Giải thích ví dụ;
- Gọi một học viênthực hiện ví dụ;
- Theo dõi và hỗtrợ thực hành,kiểm tra kết quảcủa sinh viên;
- Mời sinh viênkhác nhận xét kếtquả thực hiện;
- Tổng kết lại cácphát biểu và trìnhchiếu kết quả, đưa
- Nhận xét, thêm ýkiến;
- Lắng nghe;
- Lắng nghe;
19phút
Trang 20thực hành của sinhviên;
- Trình chiếu ví dụ
3, giải thích,hướng dẫn sinhviên về nhà thựchiện;
- Quan sát;
điểm:
- Trình chiếu đặcđiểm cấu trúc for;
- Quan sát, lắngnghe;
2 phút
2.2.1.6 Lệnh
for lồng nhau:
- Trình bày nộidung lệnh for lồngnhau;
- Cho ví dụ lệnhfor lồng nhau;
- Giải thích, phântích ví dụ;
- Gọi một học viênthực hiện ví dụ;
- Theo dõi và hỗtrợ thực hành,kiểm tra kết quảcủa sinh viên;
- Mời sinh viênkhác nhận xét kếtquả thực hiện;
- Tổng kết lại cácphát biểu và trìnhchiếu kết quả, đưa
- Nhận xét, thêm ýkiến;
- Lắng nghe;
5 phút
Trang 21ra nhận xét;
- Đánh giá kết quảthực hành của sinhviên;
- Đặt câu hỏi liênquan đến kiến thứcbài học;
- Ghi nhận câu trảlời, nhận xét;
- Hệ thống lại cácbước tiến hànhthực hiện, phântích nội dung quantrong;
- Nhắc lại một số
kỹ năng cần có;
- Hệ thống lại một
- Lắng nghe, hệthống lại các kiếnthức đã học;
- Nghe câu hỏi suynghĩ trả lời;
- Lắng nghe, ghinhớ;
- Lắng nghe, ghinhớ các bước thựchiện, các thao tácthực hành;
- Lắng nghe, chúý;
- Lắng nghe, rút rađược kinh nghiệm;
Trang 22lỗi thường gặp:
- Nhận xét kết
quả học tập:
- Hướng dẫn
chuẩn bị cho
buổi học sau:
số lỗi thường gặp;
- Nhận xét đánh giá kết quả học tập của sinh viên;
- Yêu cầu sinh viên xem trước bài tiếp theo;
- Lắng nghe, ghi nhận;
- Lắng nghe, ghi chép các yêu cầu của giáo viên, xác định các nhiệm vụ cần chuẩn bị;
học
5 phút
- Tham khảo
một số tài liệu
liên quan;
- Hướng dẫn
tự rèn luyện;
- Giới thiệu, giao nhiệm vụ nghiên cứu tài liệu tham khảo;
- Cho bài tập về nhà và hướng dẫn làm bài;
- Tiếp tục luyện tập sử dụng cấu trúc for, while thực hiện các bài tập khác
- Lắng nghe và ghi chép;
- Lắng nghe và ghi chép;
- Rèn luyện cá nhân để hình thành
và phát triển kỹ năng
III RÚT KINH NGHIỆM TỔ CHỨC THỰC HIỆN:
Ngày tháng năm
Trang 231.1.3 Soạn tài liệu học tập:
Chương 2: CÁC CẤU TRÚC ĐIỀU KHIỂN 2.2 CẤU TRÚC LẶP:
2.2.1 Cấu trúc for:
2.2.1.1 Cú pháp:
for (……… ; ………….; ……….)
khối lệnh lặp;
- Các biểu thức trong dãy biểu thức 1, 2 cách nhau bởi dấu phẩy (,) Có thể
có nhiều biểu thức trong các dãy này hoặc dãy biểu thức cũng có thể trống
- ………
Trang 24Các dãy biểu thức và điều kiện có thể trống tuy nhiên vẫn giữ lại các dấu chấm phẩy (;) để ngăn cách các phần với nhau.
2.2.1.2 Lưu đồ cú pháp:
2.2.1.3 Cách thực hiện:
Khi gặp câu lệnh for trình tự thực hiện của chương trình như sau:
- Thực hiện dãy biểu thức 1 (thông thường là các lệnh khởi tạo cho một số biến)
- Kiểm tra điều kiện lặp, nếu đúng thì thực hiện khối lệnh lặp thực hiện dãy biểu thức 2 quay lại kiểm tra điều kiện lặp và lặp lại quá trình trên cho đến khi việc kiểm tra điều kiện lặp cho kết quả sai thì dừng
Tóm lại, dãy biểu thức 1 sẽ được thực hiện 1 lần duy nhất ngay từ đầu quá trình lặp sau đó thực hiện các câu lệnh trong khối lệnh lặp và dãy biểu thức 2cho đến khi nào không còn thỏa điều kiện lặp nữ thì dừng
Tương tự như cấu trúc if, nếu khối lệnh lặp có nhiueef hơn 1 câu laanhj thì bao chúng trong cặp ngoặc móc {}
S
Đ khối lệnh lặp
dãy biểu thức 1
điều kiện lặp
dãy biểu thức 2
Trang 252.2.1.6 Lệnh for lồng nhau:
Trong khối lệnh lặp có thể chứa cả lệnh for, tức là các lệnh for cũng được phép lồng nhau như các cấu trúc khác
Trang 26Ví dụ 4: Bài toán cổ:“Vừa gà vừa chó, Bó lại cho tròn, 36 con, 100 chân
chẵn” Hỏi có mấy gà và mấy chó
Ví dụ 5: Viết chuong trình tìm tất cả các phương án để đổi 100$ ra các tờ
bạc loại 10$,20$,50$
1.3.1 Soạn câu hỏi và bài tập:
1 Viết chương trình tính tích N số nguyên dương đầu tiên, với N được nhập
từ bàn phím
2 Viết chương trình tính tổng
S=∑
i=1
n
∑
j=1
m
i+2 jvới n,m là số nguyên dương được nhập từ bàn phím
3 Viết chương trình nhập vào 2 số nguyên dương Tìm UCLN và BCNN cho 2 số đó
4 Viết chương trình nhập vào chiều dài và chiều rộng cho 1 hình chữ nhật
In ra hình chữ nhật đó bằng dấu * Giả sử như nhập cd=8, cr=5 thì in:
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
5 Viết chương trình nhập vào số nguyên dương n In ra tam giác có dạng:
@
Trang 2710.Viết chương trình in ra ước số của n.
11 Viết chương trinh kiểm tra một số có phải là số nguyên tố?
1.3.2 Thiết kế Phiếu hướng dẫn thực hiện:
Phiếu hướng dẫn thực hiện Tích hợp
PHIẾU HƯỚNG DẪN THỰC HIỆN
Tên bài luyện tập: Sữ dụng cấu trúc lặp for
Họ tên sinh viên:……… Lớp:
……… Máy số:……… Ngày thực hiện:…………
Chuẩn bị điều kiện luyện tập:
- Đồ dùng: Bảng qui trình, tài liệu học tập
- Trang thiết bị: Máy vi tính kết nối mạng, phần mềm DEV C++ cài đặt sẵn,các tài liệu phát tay
Yêu cầu:
Trang 28- Sắp xếp nơi thực hành gọn gàng, khoa học.
- Tuân thủ sự hướng dẫn của giáo viên.
- Áp dụng được vòng lặp for vào tất cả bài tập;
- Khắc phục được các lổi thường gặp trong lặp trình với vòng lặpfor;
- Phân tích đề bài cho gì và yêu cầu gì?
Ví dụ: Viết chương trình tính tổng n số nguyên dương đầu tiên, với n dược nhập từ bàn phím
- Đề bài cho n là số nguyên dương;
- Yêu cầu nhập vào n và tính tổng n
số nguyên dương dầu tiên;
- Chưahiểu đềbài;
- Sử dụngsai cấutrúc;
- Gõ saichính tả;
- Gõ Saichính tả;
- Gõ saichính tả;
- Gõ saichính tả;
2 Phân tích
giải thuật
địnhđúngtừngbước đềbài đưa
ra giảithuật;
- Thực hiện từng bước bằng mã giảhay lời văn
Ví dụ: Viết chương trình tính tổng n số nguyên dương đầu tiên, với n dược nhập từ bàn phím
Cú pháp:
for (dãy biểu thức 1; điều kiện lặp;
dãy biểu thức 2)
Trang 29trình trúc;
- Khai báođúng cúpháp;
- Lưu ýmột sốlỗi
thườnggặp;
For (i=1; i<=10;i++) sẽ thực hiện 10lần
For (i=1; i<=11;i++) sẽ thực hiện 11lần
- Sử dụng toán tử gán (=) thay vì toán
tử quan hệ bằng (==) trong các biểu thức điều kiện, hay ngược lại với biểu thức khởi tạo trong for
- Đặt dấu ; ngay sau biểu thức điều kiện của while (gây treo máy) hoặc ngay dấu ngoặc “)” của vòng lặp for
- Nhấn F9, hay biểu tượng trên phầnmềm
1.3.3 Thiết kế Phiếu đánh giá sản phẩm:
Trang 30PHIẾU ĐÁNH GIÁ SẢN PHẨM
Tên bài thực hành: Sữ dụng cấu trúc lặp for Mã số: ………….
Tên người học: ………Ngày: ………
Điểmchuẩn
Điểmđạtđược
- Bài làm sinh viên
- Sinh viên không mắtnhững lỗi thườnggặp;