Yêu cầu môn học: • Nắm vững ngôn ngữ lập trình C • Hòan thành các bài tập theo yêu cầu của giáo viên • Làm Bài tập lớn: Thực hiện thiết kế, xây dựng chương trình để giải quyết một bài
Trang 1 Yêu cầu môn học:
• Nắm vững ngôn ngữ lập trình C
• Hòan thành các bài tập theo yêu cầu của giáo viên
• Làm Bài tập lớn: Thực hiện thiết kế, xây dựng chương trình để
giải quyết một bài toán cụ thể (làm việc theo nhóm, mỗi nhóm
từ 3 đến 5 sinh viên) Viết báo cáo
Phương pháp đánh giá:
• Điểm chuyên cần (đánh giá qua bài tập và quá trình dự lớp)
• Kiểm tra thực hành trên máy
• Bảo vệ bài tập lớn
KỸ THUẬT LẬP TRÌNH
1
NỘI DUNG CỦA BẢN BÁO CÁO
• Trình bày quá trình phát triển chương trình theo phương pháp tinh chỉnh dần
Kiểm tra thực hành trên máy: lập trình theo yêu cầu trong khoảng 20-30 phút
Đánh giá bài tập lớn:
• Giáo viên chỉ định một sinh viên bất kỳ làm đại diện cho nhóm để demo chương trình, trình bày báo cáo và trả lời câu hỏi Khởi đầu, điểm của tất cả các sinh viên trong nhóm đều bằng nhau và được chấm dựa trên chất lượng của chương trình và phần báo cáo của sinh viên đại diện nhóm Điểm cuối cùng của mỗi sinh viên có thể bị giảm trừ, phụ thuộc vào phần thi vấn đáp
• Sinh viên cần nộp file báo cáo (dạng *.doc); file chương trình nguồn; file chương trình chạy vào buổi bảo vệ bài tập lớn
2
KHÁI NIỆM MỞ ĐẦU
Chương trình (program)
thực hiện
Lập trình (programming, coding):
• quá trình từ Thiết kế, Viết, kiểm thử (testing), duyệt lỗi
(debuging), duy trì mã nguồn (source code) của chương trình
máy tính Mã nguồn được viết bởi Ngôn ngữ lập trình
Ngôn ngữ lập trình (programming languages)
• ngôn ngữ để đặc tả dãy các chỉ thị tới máy tính.
• giao tiếp giữa con người và máy tính
3
KHÁI NIỆM MỞ ĐẦU
Phân loại ngôn ngữ lập trình:
• Ngôn ngữ máy (machine language)
• Hợp ngữ (assembly language)
• Ngôn ngữ cấp cao (high−level language)
Chương trình dịch
• Dịch từ ngôn ngữ cấp cao thành ngôn ngữ máy
• Phân loại: trình biên dịch (compiler) và trình thông dịch (interpreter)
Trang 2Khái niệm mở đầu
Trình biên dịch: chuyển một chương trình trong ngôn
ngữ cấp cao (chương trình nguồn) sang ngôn ngữ may
(chương trình đích)
• Thời gian dịch (compile time)
• Thời gian thực thi (run time): thời gian chương trình đích thực
thi
Chương trình
Trình biên dịch thực hiện Máy tính
Dữ liệu
5
Khái niệm mở đầu
Trình thông dịch: dịch từng câu lệnh và thi hành lệnh ngay.
Máy tính thực hiện
Chương trình nguồn
Kết quả
Trình thông dịch
Dữ liệu
6
Thuật toán (Giải thuật − Algorithm): một dãy các
bước, độc lập với ngôn ngữ lập trình, nhằm giải
quyết một bài toán nhất định.
Cấu trúc dữ liệu: là các lưu trữ dữ liệu trên máy
tính sao cho việc sử dụng dữ liệu đó được hiệu
quả Đó chính là tổ chức các khái niệm toán học và
logic về dữ liệu.
Chương trình = Cấu trúc dữ liệu + Thuật toán
7
Bài 1 Viết chương trình tính tổng và in kết quả ra màn hình:
S = 1 + 32+ 52 + ….+ n2, với n là một số nguyên lẻ, nhập vào từ bàn phím.
Bài 2 Viết chương trình thực hiện các yêu cầu:
1 Nhập vào 2 vectơ x, y gồm n thành phần là các số thực (n nhập vào từ bàn phím)
2 Tính tích vô hướng 2 vec tơ và in kết quả ra màn hình
BÀI TẬP
∑
=
= n
i
i
i y x XY
1
.
Trang 3TÀI LIỆU THAM KHẢO
Đỗ Xuân Lôi, Cấu trúc dữ liệu và giải thuật, NXB ĐHQGHN, 2008.
Hồ Thuần, Hồ Cẩm Hà, Trần Thiên Thành, Cấu trúc dữ liệu, Phân tích thuật toán và phát triển phần mềm, NXBGD, 2008.
Lê Hoài Bắc, Nguyễn Thanh Nghị, Kỹ năng lập trình, NXB Khoa học & Kỹ thuật, 2005.
Phạm Văn Ất, Kỹ thuật lập trình C cơ sở và nâng cao, NXB KH&KT, 1999.