CƠ SỞ LẬP TRÌNH
GIỚI THIỆU VỀ
C#
[1] Group thảo luận trên Facebook:
/>[2] Đề cương, bài giảng và bài tập:
/>ngx=tuannm
[3] Email giảng viên
8/22/2014
1
Nội dung
Ngôn ngữ lập trình
Chương trình C# đầu tay
.NET Framework
Visual Studio
8/22/2014
2
Khái niệm lập trình
Làm sao để máy tính hiểu và thực hiện được
thuật toán đã lựa chọn để giải bài toán mà con
người mong muốn?
8/22/2014
3
Khái niệm lập trình
● Cần diễn tả thuật toán bằng một ngôn ngữ
sao cho máy tính có thể hiểu và thực hiện
được.
Khái niệm lập trình
Lập trình: là sử dụng cấu trúc dữ liệu và các câu
lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ
liệu và diễn đạt các thao tác của thuật toán.
8/22/2014
Trang 5
Ngôn ngữ lập trình và phân loại
Ngôn ngữ dùng để viết chương trình cho máy
tính gọi là ngôn ngữ lập trình.
Có bao nhiêu loại
ngôn ngữ lập trình
nhỉ?
8/22/2014
Trang 6
Ngôn ngữ lập trình và phân loại
Ngôn ngữ lập trình chia làm ba loại:
- Ngôn ngữ máy
- Hợp ngữ
- Ngôn ngữ lập trình bậc cao
Ngôn ngữ máy
8/22/2014
● Ngôn ngữ máy là một loại ngôn ngữ
lập trình trong đó, mọi chỉ thị đều
được biểu diễn bằng các con số nhị
phân 0 và 1.
● Ngôn ngữ máy là ngôn ngữ duy nhất
mà bộ vi xử lí có thể nhận biết và
thực hiện một cách trực tiếp
Trang 7
Ngôn ngữ lập trình và phân loại
● Hợp ngữ (assembly language) là một ngôn ngữ cấp
thấp dùng để viết các chương trình máy tính. Cách
dùng các thuật nhớ (mnemonics) thân thiện để viết
chương trình đã thay thế cách lập trình trực tiếp lên
8/22/2014 máy tính bằng mã máy dạng số
Trang 8
Ngôn ngữ lập trình và phân loại
Ngôn ngữ thủ tục
Fortran
Cobol
Basic
C
Pascal
Ngôn ngữ hàm
Lisp
Ngôn ngữ luậný
Prolog
Ngôn ngữ hướng
đối tượng
C++
Java
C#
8/22/2014
Trang 9
Ngôn ngữ lập trình và phân loại
Ngôn ngữ lập trình bâc cao: gần với ngôn ngữ tự nhiên,
có tính độc lập cao, ít phụ thuộc vào loại máy và
chương trình phải dịch sang ngôn ngữ máy mới thực
hiện được.
Chương trình viết bằng ngôn ngữ bậc cao nói chung không
phụ thuộc vào loại máy (chương trình có thể chạy trên
nhiều loại máy tính khác nhau).
8/22/2014
Trang 10
Ngôn ngữ dịch
High-level language
• static void Main( )
{
Console.WriteLine("Hello World!");
}
Interpreter
/ Compiler
Assembly language
•pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
Assembler
Machine
Hello World!
_
Machine language
• 00011000110001110
00110001110101111
00011000110001110
11
Chương trình dịch
Chương trình dịch: Là chương trình đặc biệt có chức năng
chuyển đổi chương trình được viết bằng ngôn ngữ lập trình
bậc cao thành chương trình thực hiện được trên máy tính.
8/22/2014
Trang 12
Phân loại chương trình dịch
●
Chương trình dịch được chia thành hai loại: Thông dịch
và biên dịch.
Tình huống: trong một cuộc thi sắc đẹp: các người đẹp
đến từ nhiều quốc gia, khi tham gia vòng thi ứng xử, làm
thế nào họ có thể trả lời cho giáo khảo hiểu, trong khi
không biết tiếng anh?
Thông dịch
8/22/2014
Trang 13
Phân loại chương trình dịch
Biên dịch
8/22/2014
Trang 14
Phân loại chương trình dịch
Thông dịch (interpreter): được thực hiện bằng cách lặp lại
dãy các bước sau:
● Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong
chương trình nguồn.
●
●
Chuyển đổi câu lệnh đó thành một hay nhiều câu
lệnh tương ứng trong ngôn ngữ máy.
Thực hiện các câu lệnh vừa chuyển đổi được.
8/22/2014
Trang 15
Phân loại chương trình dịch
Biên dịch (compiler): được thực hiện qua hai bước:
●
Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các
câu lệnh trong chương trình nguồn.
● Dịch toàn bộ chương trình nguồn thành một chương
trình đích có thể thực hiện trên máy và có thể lưu trữ
thực hiện lại khi cần thiết.
8/22/2014
Trang 16
Tại sao phải sử dụng ngôn ngữ C#
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối
tượng
C# là ngôn ngữ mạnh mẽ
và mềm dẻo
C# là ngôn ngữ có ít từ
khóa
C# là ngôn ngữ hướng
module
C# sẽ trở nên phổ biến
8/22/2014
Trang 17
Ưu điểm của C# so với các Ngôn
ngữ lập trình khác
Gần gủi với các NNLT
thông dụng
(Pascal,C/C++,Java)
“3 in 1 “ : C++ / C# và
Java
Cải tiến các khuyết điểm
của C/C++ :con trỏ, các
hiệu ứng phụ,…
“Copy” các ưu điểm từ
các ngôn ngữ lập trình
khác : dọn rác, fallthrough, kiểu dữ liệu
string-bool,….
Và 1 số ưu điểm khác
8/22/2014
Trang 18
Cài đặt môi trường lập trình
Cách 1:
Vào link: /> Chọn Visual C# 2010 Express và cài đặt
Cách 2:
Download
/> Giải nén và cài đặt
Cách 3:
Download và chạy chương trình:
/> Nếu máy sử dụng Windows XP thì cài đặt thêm:
/>
8/22/2014
Trang 19
Chương trình C# đầu tay
Demo
8/22/2014
Trang 20
Một chương trình C # đơn giản
Gom nhóm { }
21
Một chương trình C # đơn giản
Một câu lệnh phải kết thúc bằng dấu
chấm phẩy “;”
22
Một chương trình C # đơn giản
C# là ngôn ngữ phân biệt chữ hoa chữ
thường (case-sensitive)
namespace
NAMEspace
Main()
main()
23
Một chương trình C # đơn giản
Khoảng trắng không có ý nghĩa
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
static void Main(string[] args){
Console.WriteLine("Hello World!");}
24
Một chương trình C # đơn giản
Bất cứ điều gì giữa / * / hoặc sau khi //
được coi là một comment
Comments sẽ không được biên dịch
25