Dành cho sinh viên chính quy
chuyên ngành Công Nghệ Thông Tin
ThS. Nguyễn Cao Trí
www.dit.hcmut.edu.vn/~caotri
Giới thiệu
Mục tiêu môn học
Giới thiệu các khái niệm cơ bản về lập trình trên máy tính.
Cung cấp cơ sở lý thuyết và kỹ năng cơ bản về lập trình cho
các môn học sau.
Nội dung
Một số thuật ngữ liên quan đến máy tính và lập trình.
Sơ lược về ngôn ngữ lập trình
Ngôn ngữ minh họa Pseudo code và Pascal
Các giải thuật cơ bản
Kỹ năng tư duy và thực hành trên ngôn ngữ cụ thể.
Phương thức
Phương thức học
Giờ lý thuyết: giảng và báo cáo
Giờ thực hành tại phòng máy
Kiểm tra và thi
Kiểm tra thực hành: kỹ năng lập trình
Thi lý thuyết : trắc nghiệm khách quan
Được tham khảo tài liệu
Khả năng tính toán
Khả năng thực hiện các phép toán logic
Tốc độ tính toán cao
Làm theo chỉ thị
Kiến trúc máy tính
Máy tính (Computer system)
Bao gồm nhiều thiết bị phần cứng (hardware devices)
Keyboard
Screen (monitor)
Disks
Memory
Processing Units
Hệ điều hành (Operating System – OS)
Phần mềm (software)
Công dụng: êệ thống, ứng dụng, cơ sở dữ liệu
Môi trường hoạt động: OS, Network, WEB, Server,..
Chương trình máy tính
Chương trình
Danh mục các trang thiết bị, tài nguyên sử dụng
Ngôn ngữ
duymáy
nhất được
máy tính (CPU)
hiểu trực tiếp.
Ngôn
ngữ
- Machine
languages
Được xác định bởi tập lệnh của CPU
Phụ thuộc vào máy tính cụ thể
Dạng nhị phân {0,1}*
Rất khó đọc hiểu
Khó có khả năng viết chương trình trực tiếp
Khó nhớ hàng chục ngàn lệnh dạng {0,1}*
Rất khó xác định & sửa lỗi
Không được sử dụng trong thực tế để viết chương trình
Nền tảng xây dựng hợp ngữ
Hợp ngữ - Assembly Languages
Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm
lệnh của mã máy.
Được dịch sang mã máy khi thực hiện
Chuyển đỗi nhanh chóng
Dễ đọc và dễ hiểu hơn
Quy tắc ngữ pháp đơn giản
Từ vựng ít, tự quy định
Cấu trúc câu đơn giản
Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình.
Chương
Dùng để dịch từtrình
một ngôndịch
ngữ lập trình này sang ngôn ngữ lập
trình khác
Mục tiêu cuối cùng là dịch sang mã máy để có được executed
code –> chương trình thực thi
Phân loại:
Intepreter – thông dịch
Compiler – biên dịch
Intepreter vs. Compiler
Công cụ phát triển – Integrated Development Environment (IDE)
Soạn thảo
Dịch và sửa lỗi chương trình
Chạy thử và sửa lỗi
Lỗi vàsố
sửa lỗi
Một
khái niệm khác
Syntax error – lỗi ngữ pháp
• Đặc tả thao tác xử lý hay tính toán dữ liệu
No
Điều kiện
• Điều khiển rẽ nhánh
Yes
Giá trị xét phân nhánh
• Phát biểu rẽ nhánh khác
Trường hợp 1
Stop
Trường hợp i
• Stop/End kết thúc của giải thuật. Có thể có một hoặc nhiều
điểm STOP.
Khác
Flow chart
Ưu điểm
Trình bày trực quan giải thuật
Độc lập với ngôn ngữ tự nhiên
Độc lập với ngôn ngữ lập trình
Bảo đảm khả năng lập trình
Cho phép dễ dàng kiểm tra giải thuật
Vô số nghiệm
Cấu trúc điều khiển cơ bản
If <condition> then Statement;
If <condition> then Statement 1
else Statement 2;
Case <Value> of
value 1 : Statement 1;
………..
value n : Statement n;
else
: Statement 0
end;
While <condition> do Statement;
Repeat Statement until <condition>;
For counter=start value to end value do Statement;
For counter=start value downto end value do Statement
Chu kỳ sống của phần mềm
Thu thập yêu cầu