1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tên Đề tài tìm hiểu về ngôn ngữ lập trình c#

31 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 31
Dung lượng 2,37 MB

Nội dung

Lịch sử ra đời và mục tiêu phát triển của C# C# C Sharp là một dạng ngôn ngữ lập trình được sáng lập bởi ông trùm công nghệ Microsoft, là một khởi đầu cho kế hoạch .NET của họ.. C# ra đờ

Trang 1

BO GIAO DUC VA ĐÀO TẠO NGÂN HÀNG NHÀ NƯỚC VIỆT NAM

TRUONG DAI HOC NGAN HANG TP HO CHi MINH KHOA HE THONG THONG TIN QUAN LY

Trang 2

BAO CAO KET QUA LAM VIEC NHOM 18

Môn: Cơ sở lập trình

Huỳnh Ngô Bích yes

1 Phụ gow 030238220199 | Tim hiéu chuong 100%

NHẬN XÉT CÚA GIẢNG VIÊN

1P Hồ Chí Minh, ngày tháng 01 năm 2024

Chữ ký giảng viên (Ky và ghỉ rõ họ tên)

ThS LỄ QUANG THIỆN

Trang 3

MỤC LỤC -2 S221 2122212212212 1tr 3 DANH MỤC CHỮ VIẾT TẮTT - + 151 S2111152121111121111 7111 1111222211 rree 5 DANH MỤC BẢNG 1 TS 22111122112 tre 5 DANH MỤC HÌNH ẢNH -À 5 2S 2212212 1g re 5 LỜI CẢM ƠN 02 2222222211212 211 ererreu 6 CHƯƠNG I: TÓNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH Cứ# 2c 7

1.1 Tổng quan về ngôn ngữ lập trình CÉ 5s s9 EEE12112121121 11111122 x re 7 1.1.1 Lịch sử ra đời và mục tiêu phát triển của Cử sen 7

1.1.2 Giới thiệu về ngôn ngữ Cổ 5s TT 1121121121211 1112121111 7 1.1.3 Diém mạnh và điểm yếu của Cử - 5s 111111 12111121111 1.1101 En tre § 1.1.3.1 Điểm mạnh 2 s-22+21‡EE£EE12212212212711212112111121211121212 126 8 1.1.3.2 Did yOu ccccsesessesecsesscsessesessesessesessesevseseesesevsevensevsesevses 8 tin co na ỶẢỶÝỶÝỶÝÝ 9 1.2.1 Lí đo chọn để tài - 2 2s 2 1212221221221221121121121121112112112112222 2 re 9

1.2.2 Mục tiêu nghiên CỨU - 2 220 2211 221122112511211 1111111111110 1181 18g11 ray 10 1.2.3 Phạm vi nghiên CỨU - L0 2212011211211 11221 11111111111 1111111111211 1 18kg 10

CHUONG II: BIEN, HANG, CAC KIEU DU LIEU VA BIEU THUC TRONG

2.1 Các kiểu dữ liệu co sO trong CH ccciccccccscceccssesscsessssecsesseseeseessesiesesessesesseren 10 2.1.1 Kiéu dit ligu tham tri (Value type) cccccccccccccscsscesescescsessesesesesessesesesestees 11

2.1.2 Kiéu dit ligu tham chiéu (Reference type) ccccccccccccceccsccscsssesseseseesesesseeesees 12

2.3 BiẾn 1 S22 2122111121121121121221121121222112121212121 112121122 rreg 13 2.4 Biếu thức và các phép toán 5s s21 1112112111211111212111 1212 211 1 rryg 13 CHUONG III: CAI BAT MOT SO CHUONG TRÌNH 52 S22 sgrrreg 15

3.1 Chương trình Con ccc cccccccccceecescesseeseecseenecenscseeessecsseesseeseeeseenseenesenteeensaess 15

3.1.2 Các tiện ích của hàm 0000000 0102511251 1251111111111 11kg ty sử 15 3.1.3 Khai báo hàm - - 2211 22111111211 119111119211 1 1111111111111 1161116102111 c c2 15

3.1.4 Cách gọi hàm có tham sỐ 2 1 21 2 S11215 1E71112112111111711122E 1 te 16 3.1.4.1 Goi bang gia tthe cocóaaảÝảẢảỶÝỶÝÝỶẩỶÝẢ 16

Trang 4

3.1.4.2 Goi bang tham chiếu 2S S111 11131115 125211515155 1151511 1s tre 17

3.1.4.3 Tham sỐ OuI 222: +122E22122121221111127121121111111112212 112 xe 18 3.1.5 Một số ví đụ -. -©222222211212221211211111211111211211212112112221222 ra 18

3.1.5.1 Hàm không có tham số truyền vảo s5 s21 2221 cseg 18

3.1.5.2 Câu lệnh return 2 22222 12E11271222121111211122111 02111 12 xee 19 3.1.5.3 Hàm void ss- s22 2211221221121112112211221221121 cu 20 3.2 Mảng l chiều c1 221111211 121111 1212112111 T1 n1 12201 11 ng re 21

K SN (in oag lttẶIĂÝỶ 21

3.2.3.3 Sử dụng mảng - - c1 c1 22111211211 121 1121111111112 1111111111881 kg 23

3.2.4 VÍ đỤ s22 22122222201 2122212211212 24 CHƯƠNG IV: THỰC HIỆN VIỄT CHƯƠNG TRÌNH 2 2s 2 E111 1E te 25

CN G10 /010.4///1444ỶÝÝỶỐỶ 25 4.2 Tính tông các giá trị của mảng s- 5s 1S 1 182111211211111212111111 12101 H0 26

DANH MỤC TÀI LIỆU THAM KHẢO - - S2 1221111211121 22 2E re 30

Trang 5

DANH MUC CHU VIET TAT

STT | Ký hiệu chữ viết tắt | Chữ viết đầy đủ

Oblect Oriented Prosramminsg — Lập trình hướn

đôi tượng

DANH MUC BANG

Bang I Mot 6 kiéu dit liéu 72 1]

Bảng 3 Một số thuộc tính và phương thức thường sử dụng mmảng 23 DANH MỤC HÌNH ẢNH

Hình 1 Sơ đồ mình hoạ cách lưu trữ của hai kiểu dữ liệu N\ Quon: howkteam.vn 10 Hinh 2 Két qua khai bdo mang 1 chiéu trong Chacccccccccccccccscesvssvssvessescsscestvesescevesesee 23 Hình 3 KếI quả sử dụng mảng 1 chiẾu trong CÍ chu 24 Hình 4 Kết quả chương trình tìm giá trị lớn nhất 5c 5 cscs estes estes tvtteesseeeee 26 Hình 5 Kết quả chương trình tính tổng các giá trị của IHẳHg coc si, 27 Hình 6 Kết quả chương trình sắp xếp theo thứ tự tăng dẳMN Ăàccccc se, 29

Trang 6

LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành cùng sự trí ân sâu sắc đến giảng viên

hướng dẫn môn Cơ sở lập trình - thầy Lê Quang Thiện Thầy đã rất tận tâm khi giảng

dạy, giúp đỡ, hỗ trợ chúng em tích luy rất nhiều bài học và trải nghiệm về môn học nhất có thé trong qua trình học tập, thực hành cũng như làm bài trong suốt một học kỳ vừa qua

Với khả năng lĩnh hội kiến thức, thu thập đữ liệu và thực hành bài báo cáo, tuy nhiên kỹ năng còn hạn hẹp cùng nhiều thiếu sót, rất mong nhận được những đánh giá

và góp ý quý báu của thầy để bài làm được hoàn thiện hơn

Chúng em xin chân thành cảm ơn!

Trang 7

CHUONG I: TONG QUAN VE NGON NGU LAP TRINH C#

1.1 Tổng quan về ngôn ngữ lập trình C#

1,1,1 Lịch sử ra đời và mục tiêu phát triển của C#

C# (C Sharp) là một dạng ngôn ngữ lập trình được sáng lập bởi ông trùm công nghệ Microsoft, là một khởi đầu cho kế hoạch NET của họ C# duoc giới thiệu lần đầu tiên vào năm 2000 và ra mắt chính thức vào năm 2001 Ngôn ngữ lập trình này được thiết kế bởi một kĩ sư phần mềm nỗi tiếng người Đan Mạch — Anders Hejlsberp (1960), ông đã tham gia hầu hết vào các công cuộc thiết kế và cho ra đời nhiều sản

phâm phân mềm nôi tiêng thuộc nhà Microsofl

C# ra đời với mục đích phát triển các ứng dụng trên nền tảng Microsoft NET Framework, cung cấp một ngôn ngữ lập trình mạnh mẽ, dễ học và dễ sử dụng cho việc phát triển ứng dụng đa nền tàng Nó được thiết kế để hỗ trợ việc xây dựng các ứng dụng Windows, ứng dụng di động trên nền tảng Xamarin, ứng dụng web, đặc biệt là trong loT (/ernet oƒ Things) Ngoài ra, ngôn ngữ này còn hỗ trợ nhiều khái niệm lập trinh như hướng đối tượng, quản lý bộ nhớ tự động và xử lý ngoại lệ Microsoft liên tục cập nhật và phát triển C# để đáp ứng nhu cầu của các nhà kinh doanh, các doanh nghiệp để đảm bảo răng ngôn ngữ này luôn sở hữu các công cụ và tính năng mới nhất

để xây đựng ngày cảng nhiều ứng dụng hiện đại

1.1.2 Giới thiệu về ngôn ngữ C#

C# là một sự kết hợp giữa hai ngôn ngữ hiện đại và phỏ biến nhất hiện nay đó chính là Java và C++, được kế thừa nhiều đặc điểm từ ngôn ngữ C++ nhưng loại bỏ đi

những tính năng phức tạp và không an toàn Nó được thiết kế rất đễ sử dụng và học

tập, đồng thời cung cấp các tính năng mạnh mẽ cho việc phát triển phần mềm Với nhiều công dụng và khả năng ứng dụng cao trong nhiều lĩnh vực khác nhau cho nên C# đã trở thành một trong những ngôn ngữ phô biến nhất trên thế giới và được sử

dụng rộng rãi, không chỉ trong phạm vi môi trường kinh doanh công nghệ, doanh

nghiệp phát triển phần mềm mà ngôn ngữ C# còn được ứng dụng nhiều trong môi trường đại học, phục vụ cho các môn học mang tính đặc thủ, có kiên thức chuyên môn

về công nghệ thông tin, lập trình web, C# được xem là một ngôn ngữ lập trình hướng đối tượng (OÓ?), vì có một tài nguyên học lập đủ lớn, đáng tin cậy, phù hợp

7

Trang 8

với nhiều đối tượng, C# dành cho những người mới bắt đầu có những kỹ năng lập trình khác nhau, kế cả các nhà phát triển chuyên nghiệp Nhờ vào khả năng tự động hoá các tác vụ phức tạp, phát hiện lỗi trong quá trình sử dụng và không yêu cầu kỹ

năng người dùng cao như Java nên nó rất thích hợp cho những nhà phát triển đã có

kinh nghiệm viết mã từ mức độ thường đến nâng cao Tuy vậy, với giao điện đễ đọc và viết nên C# cũng có thê là một lựa chọn thích hợp cho người mới bắt đầu học lập trình

1.1.3 Điểm mạnh và điểm yếu của C#

1.1.3.1 Điểm mạnh

C# được thiết kế để dễ đọc và hiểu, gần gũi như các ngôn ngữ lập trình

thông dụng (C++, Java, Pascal, ) Kế thừa được những ưu thế và cải thiện những khuyết điểm trên nền tảng cũ nên C# có chức năng vận hành hiện đại, sử dụng đơn giản, piúp người lập trình nhanh chóng làm quen và phát triển ứng dụng Ngoài ra, nó còn có thể hỗ trợ lập trình đa nhiệm và đồng thời cung cấp các tính năng như luồng

(ihreads) đề xử lý nhiều công việc cùng một lúc Có khả năng kết hợp và tương thích

tốt với nhiều công nghệ khác nhau, đặc biệt là trên nền tang Windows

Cung cap nhiéu tinh năng hiện đại đi kèm sự bảo mật an toàn trong kiểm soát truy cập và quản lý bộ nhớ, từ đó giảm thiểu nguy cơ lỗi bảo mật một cách tốt nhất C# là ngôn ngữ lập trình hướng déi trong (OOP), cung cap tính năng OOP mạnh

mẽ, giúp tô chức và quản lý mã nguồn một cách đễ dàng Song, C# cũng là một ngôn

ngữ lập trình hiện đại, hỗ trợ nhiều tính nang modi nhu LINQ (Language Integrated

Query), async/await đề xử lý bất đồng bộ, và nhiều cải tiền khác

Không chỉ vậy, sự hỗ trợ mạnh mẽ từ Visual Studio và sự chống lưng của NET Framework đã tạo ra môi trường phát triển tích hợp cho C#, cung cấp nhiều công cụ mạnh mẽ để phát triển, kiểm thử và quản lý mã nguồn Cùng với đó, C# có một cộng đồng lập trình viên tương đối đông đảo, điều này giúp người dùng hay người học tập có thể đễ dàng tìm kiếm giải pháp và sự trợ giúp từ cộng đồng

1.1.3.2 Điểm yếu

Mặc dù C# có nhiều ưu điểm và tính năng vượt trội nhưng C# cũng tiềm ấn một sô điểm yêu nhât định

Trang 9

Điểm yếu lớn nhất của C# đó chính là sự giới hạn đa nền tảng, tuy có mở rộng với NET Core và NET 5 nhưng C# vẫn chỉ chủ yếu sử dụng để hỗ trợ trên nền tảng Windows, làm øiảm khả năng đa nền tảng so với một số ngôn ngữ khác

C# là một nhân tố tương đối mới trong thể giới ngôn ngữ lập trình, vì nó không phải là ngôn ngữ có "//ch sứ" lâu dài như nhiều ngôn ngữ khác, điều nảy có thể

ảnh hưởng đến mức độ phổ biến và sự hỗ trợ từ cộng đồng Chính vì thế hiệu suất của C# cũng không được đánh giá cao trong một số trường hợp, C# có thê không đạt được hiệu suất bằng một số ngôn ngữ được tôi ưu hóa cao hơn cho mục đích cụ thể Việc

quản lý bộ nhớ tự động giúp giảm lỗi liên quan đến bộ nhớ, nhưng cũng có thê gây ra

áp lực hiệu suất trong một số trường hợp đặc biệt

Tương tự đó, nó cũng bị xem là thiếu tinh da hinh nap chéng (Operator

overloading), vi không hỗ trợ đa hình nạp chồng cho toán tử, điều này có thê làm giảm tính linh hoạt trong một số trường hợp Và nhiều điểm hạn chế trong lập trình nhúng (Embedded progranmning) làm cho C# không phải là lựa chọn phổ biến cho việc lập trình nhúng đo yêu cầu tài nguyên hệ thống khá cao và không linh hoạt như một số ngôn neữ lập trình nhúng khác

Trong lĩnh vực phát triển ứng dụng di động, C# không phải là ngôn ngữ phổ biến như Java hoặc Swift, mặc đù có Xamarin nhưng không đạt đến mức độ phổ biến rộng rãi như các công nghé khác, cho nên nó bị hạn chế ở thị trường này

1⁄2 Giới thiệu đề tài

1.2.1 Lí do chọn đề tài Trong bối cảnh Cách mạng công nghệ 4.0 đang diễn ra mạnh mẽ trên toàn thé

giới, các xu hướng mới về công nghệ thông tin hiện đại đang trên đà phát triển vượt bậc, vững mạnh và có nhiều bước đột phá hơn Cùng với đó cũng chính là sự tiến triển mạnh mẽ của các ngôn ngữ lập trình, đặc biệt “C s/ar?” được viết tắt “C⁄? là một

trong những ngôn ngữ lập trình hiện đại có mức độ phủ sóng nhất hiện nay, được xem

là một công cụ hỗ trợ đắc lực, đem lại hiệu qua cao trong nhiều lĩnh vực, phần mềm mang tinh ứng dụng công nghệ

Chính vi thế, để tìm hiểu một ngôn ngữ lập trình khác ngoài C, chúng em đã

chọn chủ đề: “7ÌM HIẺU VỀ NGÔN NGỮ LẬP TRÌNH C?', bởi đây là một chủ đề

9

Trang 10

mang tính cần thiết, giúp sinh viên phát triên khả năng tìm hiểu, khai thác được thêm

nhiều thông tin mới, bồi đắp kiến thức đồng thời có một cái nhìn tổng quan hơn về các ngôn ngữ lập trình C# và có thể ứng dụng nó xuyên suốt thời gian đi học cũng như trong công việc làm tương lai

1.2.2 Mục tiêu nghiên cứu

- _ Tìm hiểu về C# và cách ứng dụng nó đề viết chương trình con, mảng | chiều

- Nang cao khả năng tư duy, học hỏi và làm việc nhóm cho sinh viên

- Nam được những kiến thức nền tảng về C# để phục vụ cho môn học

“Lập trình hướng đối tượng”

2.1 Các kiểu dữ liệu cơ sở trong C#

Trong ngôn ngữ lập trình C#, chúng ta có thể sử dụng rất nhiều kiểu dữ liệu dé

khai báo biến và lưu trữ các giá trị

dung dinh nghia (user — :

Hình 1 Sơ đồ minh hoa cách lưu trữ của hai

kiêu đữ liệu Nguồn: howkleqI.VH

10

Trang 11

2.1.1 Kiéu dir ligu tham tri (Value type) Một biến được khai báo theo kiểu đữ liệu tham trị thì vùng nhớ của nó sẽ chứa trực tiếp giá trị của dữ liệu, sau đó lưu trữ trong bộ nhớ Stack Một số kiều dữ liệu thuộc kiểu gia tri:

Bang 1 M6t s6 kiéu dit liéu giá tri

short 2 Số nguyên có dấu từ -32,768 đến 32,767 ushort 2 Số nguyên không dấu từ 0 đến 65,535

với 7 chữ sô có nghĩa

số s Kiểu số thực từ 1.7E - 308 đến 1.7E +

Trang 12

2.1.2 Kiéu dir ligu tham chiéu (Reference type) Kiểu dữ liệu tham chiếu là các kiểu đữ liệu mà không lưu trữ trực tiếp giá trị của biến Một biến khi khai báo kiểu đữ liệu tham chiếu thì vùng nhớ của nó chỉ chứa địa chỉ của đối tượng đữ liệu và lưu trong bộ nhớ Stack, dữ liệu thực sự của biến được lưu trong bộ nhớ Heap

Một số kiểu đữ liệu thuộc kiểu đữ liệu tham chiếu:

Kiểu object: day la kiểu dữ liệu cơ bản nhát của tất cả các kiểu đữ liệu trong NET, object là một alias cho lớp System.Object nên các kiếu object có thể gán bất kỳ kiểu giá trị nào (/ham trị, tham chiếu, tự định nghĩa, ) Tuy nhiên trước khi gán giá trị

nó cần được chuyên kiểu

Kiéu Dynamic: 1a mét kiéu đữ liệu mới được dựa vào C# thời đại 4.0, có thể lưu bất kỳ kiểu giá trị vào trong biến kiêu Dynamic với cú pháp:

Dynamic <tén bién>; hodc dynamic <tén bién> = <gia tri>:

Kiểu string: Kế thừa từ kiéu object, cho phép gan bat ky giá trị chuỗi nào cho một biến, là một alias cho lớp System.String

Kiểu con trỏ: lưu địa chỉ bộ nhớ của kiểu khác, có cùng chức năng tương tự con trỏ trong C hoặc C++ Khai bao bién kiéu con tro véi cu phap: type* identifier; (Vi du: char*nhom18;)

2.2 Hằng số (Constant) trong C#

Trong C#, hằng số là các giá trị có định mà chương trình không thể thay đổi trong khi thực thị, bắt buộc phải khởi tạo giá trị khi khai báo Nó có thể là bất ky kiéu dit ligu co ban nao trong C# nhu: hằng số nguyên, hằng số thực, hằng ký tự, hằng chuỗi và hằng Boolean, , ngoài ra con co hang Enum (liét ké)

Hang duoc chia thanh 3 loai:

- Gia tri hang (literal)

- Biéu trong hang (symbolic constants)

- _ Kiểu liệt kê (enumerations) Hằng trong C# được định nghĩa bởi sử dụng từ khoá “const” phía trước khai báo với cú pháp đề định nghĩa một hằng là:

const <kiểu đữ liệu> <tên hằng>= giá trị;

12

Trang 13

Ví dụ: const int MAX_VALUE = 100 (MAX_VALUE là một hằng số với giá

trị là 100 và không thể thay đổi trong suốt chương trình)

2.3 Biến

Biến trong lập trình là một giá trị cũng được định nghĩa tương tự toán học

- _ Là một giá trị đữ liệu có thé thay đổi được

- _ Là tên gọi tham chiếu đến một vùng nhớ nào đó trong bộ nhớ

- _ Là thành phần cốt lõi của một ngôn ngữ lập trình

Trong Cử, biến là một vùng nhớ trong bộ nhớ được đặt tên và được sử dụng dé lưu trữ dữ liệu Cú pháp để khai báo một biến cần xác định kiểu dữ liệu và cung cấp cho nó một cái tên:

<Kiêu đữ liệu> <Tên biến>;

Vi du: int BienKieuSoNguyen;

- <Kiéu dé ligu> 1a kiéu (co bản, có cấu trúc, )

- _ <Tên biến> là do người dùng đặt nhưng phải tuận thủ theo quy tắc đặt tên

Một số quy tắc khi đặt tên biến cũng như là các định danh khác:

- _ Tên biến là một chuỗi ký tự liên kết (không có khoảng trắng) và không chứa ký tự đặc biệt

- _ Tên biến không được đặt bằng tiếng việt có dấu

- _ Tên không được bắt đầu bằng số

- _ Tên biến không được trùng nhau

- _ Tên biến không được trùng với từ khóa

2.4 Biểu thức và các phép toán

Phép toán giữa các biến được gọi là toán tử và được định nghĩa là một công cụ

để thao tác với dữ liệu Trong đó một toán tử là một ký hiệu dụng dé dai diện cho một

13

Trang 14

Nhỏ hơn hoặc bằng <= a<=b

Trang 15

Tén tai 1 trong 2 | alb

Toan tir so Tén tai chi 1 A a

giúp chia cat việc lớn thành nhiều việc nhỏ hơn, điều này tương đương với việc chia

bài toán lớn thành các bài toán nhỏ hơn để giải, như vậy thì việc giải bài toán sẽ trở nên để dàng hơn

3.1.2 Các tiện ích của hàm Tái sử đụng: Là một module chương trình, giải quyết một công việc hoàn chỉnh,

được dùng nhiều lần trong chương trình

Tối ưu mã (code): Tránh việc viết lại các đoạn trình giống nhau trong chương

trình

Phan cap (chia) chuong trinh theo tư tưởng: chia để trị => chương trình dễ hiểu,

dễ quản lý, dễ bảo trì

3.1.3 Khai bao ham

Cú pháp đề khai báo một hàm như sau:

kieu ham ten_ ham (danh sach tham so){

15

Ngày đăng: 04/12/2024, 17:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w