1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng lập trình nâng cao

62 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Nâng Cao
Tác giả Phan Hồ Duy Phương
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Công Nghệ Thông Tin
Thể loại Bài giảng
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 62
Dung lượng 453,65 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TẬP TINThông tin hệ thống UserName Trả về tên của người đang sử dụng Version Trả về tên của đối tượng System.. Version hiển thị thông tin về phiên bản của CLR Exit Kết thúc tiến trình x

Trang 1

LẬP TRÌNH NÂNG CAO

KHOA CNT T - 2022

PHAN HỒ DUY PHƯƠNG

Trang 3

LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương

http://duyphuong.top

ĐỆ QUI

Trang 6

ĐỆ QUI

Chương trình đệ qui được chia 2 phần:

Phần cơ sở: Điểm dừng hay điều kiện thoát khởi

chương trình.

Phần đệ qui: Gọi lại chính nó

Trang 7

ĐỆ QUI

o Đệ qui tuyến tính (Linear Recusion)

o Đệ qui nhị phân (Binary Recursion)

o Đệ qui lồng (Nested Recursion)

o Đệ qui hỗ tương (Mutual Recursion)

Trang 8

ĐỆ QUI

Đệ qui tuyến tính (Linear Recusion): Mỗi lần

thực hiện gọi đệ qui một lần.

Trang 9

ĐỆ QUI

Đệ qui nhị phân (Binary Recusion): Mỗi lần thực

hiện gọi đệ qui hai lần.

Trang 11

return isEven(n-1);

}

Trang 14

LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương

http://duyphuong.top

CHUỖI

VÀ CÁC THAO TÁC

TRÊN CHUỖI

Trang 15

KHÁI NIỆM

o Kiểu char chỉ chứa được 1 ký tự => để lưu trữ một chuỗi các ký tự (nhiều ký tự) ta sử dụng một mảng (array) các ký tự.

o Chuỗi ký tự kết thúc bằng ký tự ‘\0’ (null)

o Độ dài chuỗi = kích thước mảng – 1

VD:

string s;

Trang 16

oKhai báo verbatim (@) – nguyên thể:

string s = @ “\tMekong \n Uni” ;

Console.Write(“{0}”,s);

// \tMekong \n Uni

Trang 17

KHAI BÁO CHUỖI

o Khai báo chuỗi interpolation($) :

int a = 5;

string s = $ “Gia tri a = {a}” ;

Console.Write(s);

// Gia tri a = 5

Trang 19

CÁC HÀM THAO TÁC TRÊN CHUỖI

o s.Length: độ dài chuỗi s

VD: string s = “mekong”;

int len = s.Length; // len = 6

o .ToLower(): chuyển chuỗi s thành chuỗi thường VD: string s = “MeKong”;

s = s.ToLower();

Console.Write(s); // mekong

Trang 20

CÁC HÀM THAO TÁC TRÊN CHUỖI

o s.ToCharArray: chuyển đổi thành mảng ký tự VD: string s = “mekong”;

char[] arr = s.ToCharArray()

foreach(char c in arr){

Console.Write(c);

}

Trang 23

o String.Compare(s1,s2, false ) hay s1.CompareTo(s2):

so sánh hai chuỗi s1 và s2, phân biệt hoa thường

Trang 27

o s1.StartWith( s2): Kiểm tra chuỗi s1 có bắt đầu

bằng chuỗi s2 hay không

o s1.EndWith( s2): Kiểm tra chuỗi s1 có kết thúc bằng chuỗi s2 hay không

Trang 28

o s1.Replace(a , b) : Thay thế ký tự cũ (a) bằng ký tự mới (b) trong chuỗi s1.

o s1.Replace(s2 , s3) : Thay thế chuỗi cũ (s2) bằng chuỗi

mới (s3) trong chuỗi s1.

Trang 30

o s.Trim() : Loại bỏ khoản ở đầu và cuối chuỗi s.

o s.TrimLeft(), s.TrimRight(): Chỉ loại bỏ khoản ở đầu (Left) , cuối (Right) chuỗi s.

Trang 33

BÀI TẬP

1 Viết chương trình nhập vào một chuỗi,

chuyển sang chuỗi hoa và xuất chuỗi đảo

ngược.

2 Viết chương trình cho phép người dùng

nhập vào ngày sinh dạng dd/mm/yyyy, xuất rời từng thông tin dd, mm, yyyy.

3 Nhập vào chuỗi và kiểm tra trong chuỗi có

HashTag #Mekong hay không.

4 Kiểm tra và xuất các HashTag trong chuỗi

HashTag: là chuỗi liền, bắt đầu bầu bằng #

Trang 35

LẬP TRÌNH NÂNG CAO Phan Hồ Duy Phương

http://duyphuong.top

TẬP TIN

VÀ CÁC THAO TÁC

XỬ LÝ TẬP TIN

Trang 36

VD:

throw new System.Exception();

Trang 38

TẬP TIN

Thông tin hệ thống

o System.Environment là lớp cơ sở được sử dụng

để nhận các thông tin về môi trường các ứng

dụng

CurrentDirectory Nhận hoặc thiết lập tên của thư mục

MachineName Nhận tên máy của tiến trình đang

hoạt động OSVersion Trả về phiên bản của hệ điều hành

đang sử dụng

Trang 39

TẬP TIN

Thông tin hệ thống

UserName Trả về tên của người đang sử dụng

Version Trả về tên của đối tượng System Version

hiển thị thông tin về phiên bản của CLR

Exit() Kết thúc tiến trình xử lý hiện thời – trả

về mã để thoát của hệ điều hành

GetFolderPath() Trả về đường dẫn của thư mục

getLogicalDrivers() Trả về mảng chuỗi chứa danh sách các ổ

đĩa trong hệ thống hiện thời

Trang 40

foreach ( string d in drives)

Console.WriteLine(d);

Trang 41

TẬP TIN

Thông tin thư mục

o Phương thức Enviroment.GetFolderPath() được

sử dụng để lấy toàn bộ đường dẫn của các thư mục khác nhau trên máy hiện tại.

o Đối số được chuyển tới phương thức là giá trị kiểu liệt kê từ System.Enviroment.SpecialFolder.

Trang 42

TẬP TIN

o Thông tin thư mục

Favorites Thư mục favorite để lưu trữ

trong favourite links History Thư mục history để lưu trữ các

file

Program

Trang 43

TẬP TIN

o Thông tin thư mục

StartMenu Thư mục trong StartMenu

Startup Thư mục của Startup menu trong

Start – Program System Thư mục hệ thống

Application Data Thư mục của Application Data

CommonApplicationData Thư mục của Common Application

Data LocalApplicationData Thư mục trong local application data

Trang 44

string proFiles =

Environment.GetFolderPath(Environment.SpecialFolder ProgramFiles);

Console.WriteLine(proFiles);

Trang 45

TẬP TIN

o Thông tin thư mục: lớp Directory

VD: Liệt kê các file trong thư mục

string [] files = Directory.GetFiles( @"D:\Data" );

foreach (var f in files)

Trang 46

var subFd = myFolder.GetDirectories();

foreach (var s in subFd) {

Console.WriteLine(s);

s.Delete();

}

Trang 47

TẬP TIN

o Thông tin thư mục: lớp Directory

VD: Liệt kê các file trong thư mục

string [] files = Directory.GetFiles( @"D:\Data" );

foreach (var f in files)

Console.WriteLine(f);

Trang 48

o Lớp FileInfo thì phải tạo thể hiện của lớp này khi dùng

Trang 49

Copy() Sao chép file tới đường dẫn nguồn

Create() Tạo file

Delete() Xóa file

Exists() Trả về giá trị Boolean để xác định file có tồn tại

không

GetAttributes() Trả về một đối tượng của kiểu

Trang 50

TẬP TIN

o System.IO.File

GetLastAccessTime() Trả về một đối tượng kiểu DateTime – thời

gian truy cập lần sau cùng của file GetLastWriteTime() Trả về một đối tượng kiểu DateTime – thời

gian của lần đưa nội dung vào file Move() Chuyển file tới đường dẫn xác định

Open() Mở file và trả về đối tượng

System.IO.FileStream cho file OpenRead() Mở file để đọc dữ liệu và trả về một đối

tượng System.IO.FileStream chỉ đọc cho file

Trang 51

TẬP TIN

o System.IO.File

OpenWrite() Mở file để viết nội dung và trả về một đối tượng

System.IO.FileStream đọc/viết cho file SetAttributes() Chấp nhận một đối tượng của

System.IO.FileAttributes mà chứa các thông tin thuộc tính của file.

GetCreationTime() Trả về một đối tượng kiểu DateTime – ngày

tháng tạo file

Trang 52

TẬP TIN

o System.IO.FileInfo

o FileInfo cung cấp một số chi tiết về tập tin đã có trên ổ cứng của bạn (kích thước, thuộc tính, thời gian được tạo ra) cũng như các trợ giúp trong

việc tạo ra hoặc xóa bỏ các tập tin mới

CreationTime Nhận hoặc thiết lập thời gian tạo file

Directory Trả về một đối tượng DirectoryInfo – thể hiện

thư mục cha của file DirectoryName Trả về tên thư mục cha của file

Exists Trả về giá trị Boolean – file đã tồn tại chưa

Trang 53

TẬP TIN

o System.IO.FileInfo

LastAccessTime Trả về một đối tượng DataTime – thể

hiện thời gian của lần viết nội dung sau cùng vào file

Length Trả về kích thước của file

CopyTo() Sao chép file tới nơi khác

Create() Tạo file

Delete() Xóa file

Trang 54

System.IO.FileStream OpenText() Mở file và trả về một đối tượng

System.IO.StreamReader với mã UTF8 từ một file đã tồn tại

Extension Trả về phần mở rộng của file

Trả về đường dẫn đầy đủ của file

Trang 55

TẬP TIN

o Đọc ghi file text bằng

StreamReader/Writer

sử dụng để đọc và ghi dữ liệu vào các file text (tập tin văn bản)

Trang 56

TẬP TIN

Đọc file text bằng StreamReader

nội dung file text (tập tin văn bản)

Các phương thức:

Trang 59

TẬP TIN

Ghi file text bằng StreamWriter

nội dung file text (tập tin văn bản)

Các phương thức:

Trang 60

str.Close();

Ngày đăng: 29/12/2022, 16:00