Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan lập trình C#

Dữ liệu

Dữ liệu đầu vào

Dữ liệu đầu ra

Dữ liệu trong quá trình xử lý

Ví dụ

 Chương trình giải PT bậc 2

 Chương trình tính số tiền nhận được khi gửi tiết

kiệm

 Chương trình tính tiền điện

Kiểu dữ liệu

Kiểu số

Kiểu ký tự

Kiểu chuỗi

Kiểu ngày tháng

Kiểu hình ảnh

 

pdf 58 trang kimcuc 9100
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan lập trình C#", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan lập trình C#

Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan lập trình C#
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Chương	1
Tổng	quan	lập	trình	C#
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Nội	dung
Biến và khai báo biến
Các phép toán
Các hàm có sẵn của C#
Phát biểu điều kiện
Phát biểu lặp
Hàm
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Dữ	liệu
Dữ liệu đầu vào
Dữ liệu đầu ra
Dữ liệu trong quá trình xử lý
Ví dụ
 Chương trình giải PT bậc 2
 Chương trình tính số tiền nhận được khi gửi tiết 
kiệm
 Chương trình tính tiền điện
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Kiểu	dữ	liệu
Kiểu số
Kiểu ký tự
Kiểu chuỗi
Kiểu ngày tháng
Kiểu hình ảnh

Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Biến
Biến
 Là tên gọi cho một vùng nhớ (bên trong bộ nhớ 
máy tính khi chương trình được chạy) có khả 
năng chứa được một giá trị = một dữ liệu
 Được khai báo và sử dụng để chứa dữ liệu của 
chương trình
Khai báo biến
 kiểu_biến tên_biến [= giá_trị];
 Ví dụ
• int age;
• string chuoi = “xin chao”;
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đặt	tên	biến
Tên biến phân biệt chữ hoa và chữ thường
 tenBien khác với TenBien và Tenbien
Không bắt đầu bằng số
Không chứa các ký tự đặt biệt như ~ ! @ # $ 
% ^ & * ( )
Không đặt tên biến trùng với từ khoá
 string, int, private  tên không hợp lệ
Quy tắc camel
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Kiểu	biến
Kiểu	biến Mô	tả
bool {true, false}. Giá trị mặc định : false
char [0, 65535]
Số nguyên không dấu 16 bit, thường dùng để lưu trữ mã ASCII, 
Unicode của các ký tự.
Giá trị mặc định : 0
DateTime [ – 12:00:00 AM, – 11:59:59.9999999 PM]
64 bit, lưu trữ các thông tin về ngày tháng và thời gian.
Giá trị mặc định : 1/1//0001 – 0:00:00
decimal Số thực có dấu 128 bit (96 bit phần nguyên và 32 bit phần thập 
phân). Giá trị mặc định : 0
double Số thực có dấu 64 bit
Giá trị mặc định : 0
int Số nguyên có dấu 32 bit [-231, 231)
Giá trị mặc định: 0
string Mảng các ký tự thuộc kiểu Char.
Giá trị mặc định : Nothing (không phải chuỗi rỗng)
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Một	số	vấn	đề	nâng	cao
Kiểu sơ cấp (đơn trị) & Kiểu đối tượng (đa 
trị)
Tham chiếu
Kiểu biến do người lập trình tự định nghĩa
Khái niệm Cấu trúc dữ liệu của chương trình
Kiểu mảng
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Các	phép	toán
Phép gán
= += -= 
Phép toán toán học cơ bản
+ - * / % ^
Phép toán so sánh
== > = <=
Phép toán logic
! && ||
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phép	toán	nâng	cao
Phép gán kết hợp : 
+= -= *= /= 
Phép toán trên bit
! & |
Vấn đề về phù hợp kiểu trong phép gán
 Ép kiểu (Type-casting/Type converting)
 Implicit convert & Explicit convert
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Một	số	hàm	có	sẵn
Hàm nhập/xuất
 Console.ReadLine
 Console.Write/Console.WriteLine
Hàm chuyển đổi kiểu
Hàm toán học cơ bản
Hàm xử lý trên kiểu dữ liệu chuỗi
Hàm xử lý trên kiểu dữ liệu ngày tháng
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	điều	kiện
if ( )
{
;
}
else
{
;
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	điều	kiện
Ví dụ 1
if	(i	%	2	==	0)
Console.WriteLine("i	la	so	chan");
else
Console.WriteLine("i	la	so	le");
Ví dụ 2
if	((y	%	4	==	0	&&y%100!=0)	||	y%400==0)
Console.WriteLine("y	la	năm	nhuận");
else
Console.WriteLine("y	không	là	năm	nhuận");
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	điều	kiện
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Toán	tử	3	ngôi
Có dạng:
 ?	 :	
Nếu đúng thì thực 
hiện, ngược lại thực hiện
Là dạng rút gọn của ifelse
Ví dụ
 string a = (i % 2 == 0) ? “so chan” : “so le”
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	lựa	chọn
switch () 
{
case :
;
break;
case :
;
break;
default:
;
break;
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	lựa	chọn
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	lựa	chọn
Ví dụ
switch	(i)
{
case	1:
Console.WriteLine("so	1");
break;
case	2:
Console.WriteLine("so	2");
break;
default:
Console.WriteLine("default");
break;
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	dowhile
Cú pháp: 
do { 
statement; 
}while(expression);
●Ý nghĩa:
−B1:Statement được thực hiện 
−B2:Expression được định trị. 
−Nếu expression là true thì 
quay lại bước 1 
−Nếu expression là false thì 
thoát khỏi vòng lặp. 
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	dowhile
Để thoát vòng lặp: dùng break
Để kết thúc sớm 1 vòng lặp: dùng continue
Nhận xét:
 Vòng lặp được chạy ít nhất 1 lần
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	dowhile
Ví dụ
n	=	1;
i	=	1;
do
{
n	*=	i;
i++;
}	while (i<=5);
Console.WriteLine("5!	=	{0}",	n);
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	while
Cú pháp: 
while(expression)	
statement;
●Ý nghĩa:
●B1: Expression được định trị 
●B2: Nếu kết quả là true thì 
statement thực thi và quay lại B1 
●B3: Nếu kết quả là false thì 
thoát khỏi vòng lặp while.
 Để thoát vòng lặp: dùng break
 Để kết thúc sớm 1 vòng lặp: dùng continue
 Lệnh	trong	while	có	thể	không	được	thực	hiện	lần	nào
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	while
Ví dụ
n	=	1;
i	=	1;
while	(i	<=	5)
{
n	*=	i;
i++;
}
Console.WriteLine("5	giai	thua	la	:	{0}",	n);
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	for
• Cú pháp:
for (Exp1; Exp2; Exp3)
statement;
• Ý nghĩa:
− Exp1: là biểu thức khởi tạo
được thực hiện.
− Exp2: là biểu thức điều kiện
− Exp3: biểu thức điều khiển
lặp
 Để thoát vòng lặp: dùng break
 Để kết thúc sớm 1 vòng lặp: dùng continue
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	for
Ví dụ
int i;
int n	=	1;
for(i=1;	i<=5;	i++)
{
n	*=	i;
}
Console.WriteLine("5	giai	thừa	là	:	{0}",	n);
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	foreach
foreach( in )
{
;
}	
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	foreach
Ví dụ
string str	=	"abcde";
string newCh	=	"";
string ch	=	"";
foreach(char c	in str)
{
ch	=	char.ToUpper(c).ToString();
newCh	+=	ch;
}	Console.WriteLine(newCh);
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Phát	biểu	lặp
 do  while: phù hợp với suy nghĩ tự nhiên khi
thiết kế thuật toán.
 while: khắc phục một số trường hợp lỗi của
phát biểu do  while
 for: cách viết ngắn gọn của phát biểu while, sử
dụng khi điều kiện lặp phụ thuộc vào biến lặp và
số lần lặp có thể biết trước
 foreach: duyệt đối tượng trong tập danh sách
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm
 Hàm là một khối lệnh thực hiện một công
việc hoàn chỉnh (module), được đặt tên và
được gọi thực thi nhiều lần tại nhiều vị trí
trong chương trình.
 Hàm còn gọi là chương trình con ,phương
thức, hành vi
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm
 Hàm có thể được gọi từ chương trình chính
(hàm main) hoặc từ 1 hàm khác.
 Hàm có giá trị trả về hoặc không. Nếu hàm
không có giá trị trả về gọi là thủ tục
(procedure)
 Mục đích cuối cùng của hàm là???
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm
Khai báo hàm
 ( , )
{
Nội dung hàm;
[return ];
}
Đặt tên hàm
 Tương tự cách đặt tên biến
 Dùng động từ
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm
Ví dụ
private int TinhGiaiThua(int n)
{
int giaiThua	=	1;
for (int i	=	1;	i	<=	n;	i++)
{
giaiThua	*=	i;
}
return giaiThua;
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Tham	số	hình	thức	&	tham	số	thực
Khi hàm cần nhận đối số (arguments) để
thực thi thì khi khai báo hàm cần khai báo
danh sách các tham số để nhận giá trị từ
chương trình gọi. Các tham số này được gọi
là tham số hình thức.
• Ví dụ:
int min(int a, int b)
{
if(a<b)
return a;
else
return b;
}
Tham số hình thức
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Tham	số	hình	thức	&	tham	số	thực
• Khi gọi hàm, ta cung cấp các giá trị thật, các
giá trị này sẽ được sao chép vào các tham
số hình thức và các giá trị thật được gọi là
tham số thực.
Ví dụ: Để tìm giá trị nhỏ nhất của 2 số 5 và 6
ta gọi hàm min(5, 6)
min(int a, int b)
Tham số thực
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Truyền	tham	trị	và	tham	chiếu	trong	hàm
Hàm nào đó
Đổi N = 8
N=5
N=5
Truyền tham trị: Sau khi thoát khỏi
hàm nó vẫn giữ giá trị gốc (N vẫn =5)
Hàm nào đó
Đổi N = 8
N=5
N=8
Truyền tham biến: Sau khi thoát khỏi
hàm, nó sẽ lấy giá trị bị thay đổi
trong hàm (N bị đổi thành 8)
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Truyền	tham	trị	và	tham	chiếu	trong	hàm
• Truyền tham trị (call by value)
–Sao chép giá trị của đối số vào tham số
hình thức của hàm.
–Những thay đổi của tham số không ảnh
hưởng đến giá trị của đối số.
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Truyền	tham	trị	và	tham	chiếu	trong	hàm
• Truyền tham chiếu (call by reference)
–Sao chép địa chỉ của đối số vào tham số
hình thức. Do đó, những thay đổi đối với
tham số sẽ có tác dụng trên đối số.
• Sử dụng từ khoá ref hoặc out
• Tham số kiểu đa trị (mảng, đối tượng) 
mặc định là truyền theo tham chiếu (tức 
là không cần dùng từ khóa ref hoặc out)
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Truyền	tham	trị	và	tham	chiếu	trong	hàm
Ví dụ
private int TangSo(out int i)
{
i = i + 1;
return i;
}
int a = 10;
int b = TangSo(out a);
Kết quả
 a = 11
 b = 11
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm	đệ	qui
Thuật toán đệ qui
 Giải bài toán bằng cách rút gọn liên tiếp bài toán 
ban đầu thành bài toán cũng tương tự nhưng có 
dữ liệu đầu vào nhỏ hơn
 Ví dụ
• n!	có thể được định nghĩa bằng cách qui nạp như 
sau:
• 0! = 1,
• n! = n*(n-1)!, với mọi n > 0.
• Bài toán tính N!	bây giờ thành tính N*(N-1)!
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Hàm	đệ	quy
 Phân	loại	đệ	qui
*Đệ qui tuyen tı́nh.
*Đệ qui nhị phân.
*Đệ qui phi tuyen.
*Đệ qui ho tương.
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	tuyến	tính
Trong thân hàm có duy nhất một lời gọi hàm gọi lại chính nó
một cách tường minh:
 TenHam ()
{
if (điều kiện dừng)
{
...
//Trả về giá trị hay kết thúc công việc
}
//Thực hiện một số công việc (nếu có)
. . . TenHam ();
//Thực hiện một số công việc (nếu có)
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	tuyến	tính
Ví dụ: 
Tı́nh S (n) = 1 + 2 + 3 + L + n
- Điều kiện dừng: S(0) = 0.
- Qui tắc (công thức) tính: S(n) = S(n-1) + n.
long TongS (int n)
{
if(n==0)
return 0;
return ( TongS(n-1) + n );
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	nhị	phân
Trong thân của hàm có hai lời gọi hàm gọi lại chı́nh nó 
một cách tường minh:
 TenHam ()
{
if (đieu kiện dừng)
{
...
//Trả ve giá trị hay ke t thúc công việc
}
//Thực hiện một so công việc (neu có)
. . .TenHam (); //Giải quye t van đe nhỏ hơn
//Thực hiện một so công việc (neu có)
. . . TenHam (); //Giải quye t van đe còn lại
//Thực hiện một so công việc (neu có)
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	nhị	phân
Vı́ dụ: Tı́nh so hạng thứ n của dãy Fibonaci được định 
nghı̃a như sau:
f1 = f0 =1 ;
fn = fn-1 + fn-2 ;
Điều kiện dừng: f(0) = f(1) = 1.
long Fibonaci (int n)
{
if(n==0 || n==1)
return 1;
return Fibonaci(n-1) + Fibonaci(n-2);
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	phi	tuyến
Trong thân của hàm có lời gọi hàm gọi lại chıńh nó được đặt 
bên trong vòng lặp:
 TenHam ()
{
for (int i = 1; i<=n; i++)
{
//Thực hiện một so công việc (neu có)
if (đieu kiện dừng)
{ ...
//Trả ve giá trị hay ket thúc công việc
}
else
{ //Thực hiện một so công việc (neu có)
TenHam ();
}
}
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	phi	tuyến
Vı́ dụ: Tı́nh so hạng thứ n của dãy {Xn} được điṇh nghı̃a như 
sau:
X0 =1 ;
Xn = n2X0 + (n-1)
2X1 +  + 1
2Xn-1 ;
Điều kiện dừng:X(0) = 1.
long TinhXn (int n)
{
if(n==0)
return 1;
long s = 0;
for (int i=1; i<=n; i++)
s = s + i * i * TinhXn(n-i);
return s;
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	tương	hỗ
Trong thân của hàm này có lời gọi hàm đen hàm kia 
và trong thân của hàm kia có lời gọi hàm tới hàm này.
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	tương	hỗ
 TenHam2 ();
 TenHam1 ()
{
//Thực hiện một so công việc (neu có)
TenHam2 ();
//Thực hiện một so công việc (neu có)
}
 TenHam2 ()
{
//Thực hiện một so công việc (neu có)
TenHam1 ();
//Thực hiện một so công việc (neu có)
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Đệ	qui	tương	hỗ
Vı́ dụ: Tı́nh so hạng thứ n của hai dãy {Xn}, {Yn} được định nghıã như sau:
X0 =Y0 =1 ;
Xn = Xn-1 + Yn-1; (n>0)
Yn = n
2Xn-1 + Yn-1; (n>0)
- Điều kiện dừng:X(0) = Y(0) = 1.
long TinhXn (int n)
{
if(n==0)
return 1;
return TinhXn(n-1) + TinhYn(n-1);
}
long TinhYn (int n)
{
if(n==0)
return 1;
return n*n*TinhXn(n-1) + TinhYn(n-1);
}
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Hoạt động theo cơ chế LIFO (LAST IN FIRST OUT)
 Dùng stack để lưu vết dữ liệu và chỉ thị lệnh
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Minh họa Đệ qui giai thừa
Ví dụ tính n! với n=3
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Minh họa Đệ qui chuyển cơ số 10 sang cơ số 2
void H10toH2(int n)
{
if (n <= 0) return;
int t = n % 2;
H10toH2(n / 2);
Console.Write(t);
}
H10toH2(11);
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Minh họa Đệ qui Fibonacci
long Fibonaci (int n)
{
if(n==0 || n==1)
return 1;
return Fibonaci(n-1) + 
Fibonaci(n-2);
}
5
4
3
3 2 2
1
2 1 1 01 0
1 0
1 1
1 1 1 1 1
1
Kết quả =8
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Minh họa Đệ qui Tháp Hà Nội
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Cơ	chế	hoạt	động	của	Đệ	qui
 Minh họa Đệ qui Tháp Hà Nội
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Khử	đệ	qui
 Những giải thuật có thể cài đặt được bằng các
vòng lặp thay thế cho đệ qui thì nên dùng vòng lặp,
vì đệ qui rất tốn bộ nhớ, xử lý chậm.
 Hãy khử đệ qui tính giai thừa
 Hãy khử đệ qui tính số fibonacci
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
Viết	hàm	và	viết	chương	trình
Về đối tượng phục vụ :
 Đối tượng phục vụ của chương trình = người sử 
dụng
 Đối tượng phục vụ của hàm = lập trình viên
Về cấu trúc (các giai đoạn trong thiết kế) :
 Chương trình: Nhập dữ liệu từ người sử dụng 
Xử lý Xuất kết quả ra màn hình
 Hàm: Qui định cú pháp (khai báo) hàm Xử lý 
 Trả về giá trị kết quả
Khoa	Hệ	Thống	Thông	Tin
Đại	Học	Quốc	Gia	TP.HCM
Đại	Học	Kinh	Tế	Luật
END

File đính kèm:

  • pdfbai_giang_ky_thuat_lap_trinh_chuong_1_tong_quan_lap_trinh_c.pdf