1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

106 3 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 đề Kỹ Thuật Lập Trình 1
Trường học Trường Cao Đẳng Công Nghệ Thủ Đức
Chuyên ngành Công Nghệ Thông Tin
Thể loại Giáo Trình
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 106
Dung lượng 2,93 MB

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

Nội dung

Tài liệu giảng dạy Th p T nh 1 Trang 4 1.1| GIỚI THIỆU Chương nh – Programs / Applications: là tập các chỉ thị instructions được sắp xếp theo một trật tự định trước nhằm hướng dẫn máy

Trang 1

ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

KHOA CÔNG NGHỆ THÔNG TIN

GIÁO TRÌNH HỌC PHẦN: KỸ THUẬT LẬP TRÌNH 1 NGÀNH: CÔNG NGHỆ THÔNG TIN

TRÌNH ĐỘ: CAO ĐẲNG

Ban hành kèm theo Quyết định số: /QĐ-CNTĐ-CN ngày tháng năm

của Hiệu trưởng Trường Cao Đẳng Công Nghệ Thủ Đức

TP Hồ Chí Minh, năm 2020

Trang 3

LỜI TÁC GIẢ

Quyển giáo trình này được biên soạn dựa theo đề cương môn học

“Kỹ thuật lập trình 1” của Khoa Công nghệ thông tin Trường

Cao đẳng Công nghệ Thủ Đức Giáo trình biên soạn sẽ không tránh khỏi những sai sót về nội dung lẫn hình thức, nhóm biên soạn rất mong nhận được sự g p chân thành từ qu thầy cô và các em sinh viên để giáo trình hoàn

thiện hơn

Trang 4

Tài liệu giảng dạy Th p T nh 1 Trang 1

MỤC LỤC

CONTENTS

Chương 1 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH 3

1.1| Giới thiệu 4

1.2| Lịch sử phát triển Ngôn ngữ lập trình 4

1.3| Các dạng Ngôn ngữ lập trình 6

1.4| Các giai đoạn phát triển CHƯƠNG TRÌNH 8

1.5| Cấu trúc một chương trình C# cơ bản 9

1.6| ngôn ngữ C# 10

1.7| Visual Studio IDE 10

1.8| Quá trình biên dịch C# 16

1.9| Giải thuật và đặc tả giải thuật 18

1.10| Bài tập 21

Chương 2 CÁC KIỂU DỮ LIỆU, HẰNG, BIẾN 23

2.1| Tập ký tự 24

2.2| Từ khóa 24

2.3| Tên và qui ước đặt tên 24

2.4| Các kiểu dữ liệu xây dựng sẵn 25

2.5| Biến 27

2.6| Hằng 29

2.7| Bài tập 31

Chương 3 TOÁN TỬ VÀ BIỂU THỨC 33

3.1| Các loại toán tử 34

3.2| Các toán tử khác 41

3.3| Chuyển đổi các kiểu dữ liệu 42

3.4| Biểu thức 53

3.5| Câu lệnh nhập, xuất 53

3.6| Bài tập 57

Chương 4 CẤU TRÚC CHỌN 59

4.1| Khái niệm 60

4.2| Cấu trúc điều kiện if 60

4.3| Cấu trúc lựa chọn switch … case… 66

4.4| Bài tập 71

Chương 5 CẤU TRÚC LẶP 74

5.1| Khái niệm 75

5.2| Cấu trúc for 75

5.3| Cấu trúc while 77

5.4| Cấu trúc do…while 79

5.5| Cấu trúc foreach 80

5.6| Cấu trúc lặ l ng nhau 81

5.7| Câu lệnh break, continue 82

5.8| Bài tập 85

Chương 6 HÀM 88

6.1| Khái niệm 89

6.2| Cú pháp khai báo: 89

6.3| Truyền tham số 90

6.4| Kiểu trả về của hàm 92

Trang 5

Tài liệu giảng dạy Th p T nh 1 Trang 2

6.5| Cách gọi hàm 93

6.6| Bài tập 94

Chương 7 MẢNG MỘT CHIỀU 96

7.1| Khái niệm 97

7.2| Cú pháp khai báo 97

7.3| Truy xuất trên mảng 98

7.4| Sử dụng mảng một chiều làm tham số cho hàm: 99

7.5| Bài tập 101

Trang 6

Tài liệu giảng dạy Th p T nh 1 Trang 3

NGỮ LẬP TRÌNH

- Chương này nhằm giới thiệu cho sinh viên các khái

niệm cơ bản về lập trình, về các dạng ngôn ngữ lập trình, các phương pháp lập trình hiện có Ngoài ra cũng cung cấp cho sinh viên cách thức để phân tích một bài toán và mô tả giải thuật cho một bài toán

Trang 7

Tài liệu giảng dạy Th p T nh 1 Trang 4

1.1| GIỚI THIỆU

Chương nh – Programs / Applications: là tập các chỉ thị (instructions) được

sắp xếp theo một trật tự định trước nhằm hướng dẫn máy tính thực hiện các thao tác, hành động cần thiết để đáp ứng một mục tiêu đã định trước của con người như truy xuất dữ liệu, tìm kiếm, giải bài toán, Các chỉ thị này có thể được viết bằng nhiều ngôn ngữ lập trình khác nhau

Ngôn ngữ l p trình - Programming languages: là tập từ ngữ và ký hiệu cho phép

lập trình viên (programmers) hoặc người dùng có thể giao tiếp với máy tính Cũng giống như ngôn ngữ tự nhiên ngôn ngữ lập trình cũng có các luật được gọi là cú pháp (syntax) để đảm bảo ngôn ngữ đó được vận dụng một cách chính xác Một số ngôn ngữ lập trình thông dụng như C++, Visual Basic, C#, Java, Python

L p trình viên – Programmers: là người có thể thiết kế, xây dựng và bảo trì các

chương máy tính hoặc phần mềm Bằng cách thao tác các đoạn mã hoặc các ngôn ngữ trên các công cụ lập trình

Công cụ l p trình - Programming tools / Developer tools: công cụ lập trình hay

công cụ phát triển phần mềm là một chương trình máy tính mà các nhà phát triển phần mềm sử dụng để tạo (create), gỡ rối (debug), duy trì (maintain), hoặc thực hiện các hỗ trợ khác cho các chương trình hoặc các ứng dụng

1.2| LỊCH SỬ PHÁT TRIỂN NGÔN NGỮ LẬP TRÌNH

Ngôn ngữ l p trình (programming language) là một tập con của ngôn ngữ máy

tính Đây là một dạng ngôn ngữ được thiết kế và chuẩn hóa (đối lập với ngôn ngữ

tự nhiên) để truyền các chỉ thị cho máy tính (hoặc máy khác có bộ xử lí) Ngôn ngữ lập trình có thể được dùng để tạo ra các chương trình nhằm mục đích điều khiển máy tính hoặc mô tả các thuật toán để người khác đọc hiểu

Các lĩnh vực ứng dụng của ngôn ngữ lập trình:

- Nghiên cứu khoa học: Fortran, C, Matlab, …

- Lập trình hệ thống: C, C++, …

- Tính toán trong kinh doanh: Java, C#, …

- Trí tuệ nhântạo: LISP, …

- Xử lý văn bản: Perl, Python, …

- Mục đích đặc biệt cho NNLT: make, sh-shell, …

Trang 8

Tài liệu giảng dạy Th p T nh 1 Trang 5

Sơ lược lịch sử phát triển ngôn ngữ lập trình

Autocode (viết năm 1952 do Alick Glennie ): Đây là tập hợp một loạt những hệ thống ngôn ngữ lập trình đơn giản được phát triển vào những năm 50 cho hệ thống máy tính kỹ thuật số tại đại học Manchester, Cambridge và London và được coi là ngôn ngữ lập trình chính thức đầu tiên

Pascal (viết năm 1970 do Niklaus Wirth): đây là ngôn ngữ được đặt theo tên nhà toán học người Pháp Blaise Pascal Ngôn ngữ này cho phép người dùng có thể tự xác định dạng dữ liệu của mình theo kiểu danh sách, sơ đồ cây hay đồ thị

C (viết năm 1972 do Brian W.Kernighan và Dennis Ritchie): Đây là một trong những ngôn ngữ lập trình được sử dụng nhiều nhất mọi thời đại C được thế kế để lập trình theo cấu trúc C là nguồn gốc của nhiều ngôn ngữ dẫn xuất bao gồm C#, Java, JavaScript, Perl, PHP và Python Ngôn ngữ C được dùng phổ biến trong lập trình nền tảng (platform), lập trình hệ thống, lập trình UNIX, phát triển ứng dụng trò chơi điện tử Các ứng dụng www trên hệ thống máy chủ (server) và máy khách (client) đời đầu cũng được viết bằng ngôn ngữ C

C++ (viết năm1980 do Bjarne Stroustrup): C++ là một trong ít ngôn ngữ mà có thể đảm nhiệm được rất nhiều vai trò trong lập trình: từ lập trình ứng dụng, lập trình nhúng, các ứng dụng client/server, trò chơi đồ họa cho đến việc lập trình cho các hệ thống lớn và rất lớn C++ cho phép lập trình viên sử dụng những kĩ thuật cao cấp như lập trình hướng đối tượng, template … mà vẫn có thể linh động cho phép can thiệp vào sâu vào bộ nhớ bên dưới Một số ứng dụng nổi tiếng được viết bằng C++ như Adobe, Google, Chrome, Mozilla, Firefox, Internet Explorer, MySQL, Apple

OS X, Symbian OS, Winamp Media Player, … Chính vì vậy, mặc dù ngôn ngữ C++ có "tuổi" khá cao nhưng nó vẫn đóng một vai trò cực kì quan trọng trong thế giới máy tính.Perl (1987): thuộc nhóm ngôn ngữ lập trình bậc cao Ngôn ngữ này vay mượn không ít tính năng từ những ngôn ngữ khác như C, AWK và sad Ban đầu nó thô sơ đến mức hướng dẫn sử dụng chỉ có 1 trang Thế nhưng đến nay nó đã

có thêm nhiều phiên bản và nhiều thay đổi so với ban đầu

Python (viết năm 1991 do Guido van Rossum): ngôn ngữ này được thiết kế cực kỳ đơn giản, thậm chí là có khả năng đọc được như bảng chữ cái Triết lý của những nhà phát triển ngôn ngữ nay đó là làm cho mã nguồn ngắn hơn, không dài và phức tạp như C++ hay Java

Java (viết năm 1995 do James Gosling và bạn đồng nghiệp ở Sun Microsystems): ngôn ngữ này được phát triển với mục tiêu càng ít phụ thuộc vào khả năng vận

Trang 9

Tài liệu giảng dạy Th p T nh 1 Trang 6

hành thực tế của thiết bị càng tốt Nói cách khác là nó chỉ cần viết một lần trên một máy, và chạy được trên mọi máy khác Chính vì vậy mà đến nay, từ máy tính để bàn đến điện thoại di động Symbian S40 ta đều có thể gặp các chương trình Java PHP (viết năm 1995 do Rasmus Lerdorf): đây là ngôn ngữ sử dụng thực thi trên máy chủ và dùng cho việc phát triển web Nó thực hiện các yêu cầu của người dùng sau đó trả kết quả lên trình duyệt qua việc kết hợp với HTML tạo ra giao diện các trang web hiện nay Khi mới xuất hiện, PHP không được định nghĩa là một ngôn ngữ lập trình, tuy nhiên qua thời gian, ngôn ngữ này đã có một lượng người dùng đông đảo và vẫn là sự lựa chọn của nhiều nhà phát triển web ngày nay

C# (viết năm 2001 do Microsoft chủ yếu bởi Anders Hejlsberg): Visual Basic NET (2001): Đây là ngôn ngữ được phát triển trên nền Visual Basic và thực hiện trên nền tảng NET framwork Đây là lý do vì sao khi cài đặt một số chương trình sẽ có yêu cầu cài đặt thêm NET framwork

Swift (viết năm 2014 do Apple): Đây là ngôn ngữ được phát triển cho những nhà phát triển iOS và OSX (hệ điều hành Mac) Ngôn ngữ “trẻ nhất” này được hãng giới thiệu tại sự kiện WWDC 2014 Ngôn ngữ này có ưu điểm là mã nguồn rất ngắn và dễ đọc Sau khi viết, các chương trình có thể được kiểm tra rất nhanh và các bài kiểm tra cũng sẽ ở cấp độ cao hơn Ngoài ra đồ hoạ các chương trình dùng ngôn ngữ này cũng sẽ đẹp hơn nhưng yêu cầu phần cứng sẽ thấp hơn

có thể được thực hiện ngay không cần qua bước trung gian nào

Hợp ngữ - Assembly language: Các câu lệnh bao gồm hai phần: phần mã lệnh (viết tựa tiếng Anh) chỉ phép toán cần thực hiện và phần tên biến chỉ địa chỉ chứa toán hạng của phép toán đó Ðể máy thực hiện được một chương trình viết bằng hợp ngữ thì chương trình đó phải được dịch sang ngôn ngữ máy Công cụ thực hiện việc dịch đó được gọi là Assembler

Ngôn ngữ cấp cao – High level language: Các lệnh được mã hóa bằng một ngôn ngữ gần với ngôn ngữ Tiếng Anh Chương trình viết trên ngôn ngữ bậc cao phải

Trang 10

Tài liệu giảng dạy Th p T nh 1 Trang 7

được chuyển đổi thành chương trình trên ngôn ngữ máy bằng một chương trình dịch mới có thể thực hiện được

THEO PHƯƠNG PHÁP LẬP TRÌNH (PROGRAMMING PARADIGMS)

1.3.2|

L p trình tuyến tính: Đặc trưng của Lập trình tuyến tính là tư duy theo lối tuần tự

Chỉ có duy nhất một luồng công việc và các công việc được thực hiện tuần tự trong luồng đó Chương trình sẽ được thực hiện theo thứ tự từ đầu đến cuối, lệnh này kế tiếp lệnh kia cho đến khi kết thúc chương trình Nhược điểm của lập trình tuyến tính là với các ứng dụng phức tạp, người ta không thể dùng lập trình tuyến tính để giải quyết Nên phương pháp Lập trình tuyến tính ngày nay chỉ được sử dụng trong phạm vi các module nhỏ nhất của các phương pháp Lập trình khác

L p nh hướng cấu trúc: Trong Lập trình hướng cấu trúc, chương trình chính sẽ

được chia nhỏ thành các chương trình con thực hiện một công việc xác định Đặc trưng cơ bản nhất của Lập trình hướng cấu trúc thể hiện ở mối quan hệ:

Chương trình = Cấu trúc dữ liệu + Giải thuật

Cấu trúc dữ liệu là cách tổ chức dữ liệu cho việc xử lý bởi một hay nhiều chương

trình nào đó

Giải thuật là một quy trình để thực hiện một công việc xác định

Các ngôn ngữ lập trình cấu trúc cung cấp một số cấu trúc lệnh điều khiển chương trình Nên có ưu điểm là chương trình dể hiểu, dể theo dõi, tư duy giải thuật rõ ràng Nhược điểm là lập trình cấu trúc không hỗ trợ tốt cho việc sử dụng lại mã nguồn Bởi giải thuật luôn phụ thuộc chặt chẽ vào cấu trúc dữ liệu Dẫn đến khi thay đổi cấu trúc dữ liệu phải thay đổi cả giải thuật của chương trình.Với những dự

án phần mềm lớn, Lập trình cấu trúc tỏ ra không hiệu quả trong việc giải quyết các mối quan hệ vĩ mô giữa các Module

L p nh hướng đối ượng : Trong lập trình hướng đối tượng, người ta quy ước

các thực thể trong chương trình thành các đối tượng Và trừu tượng hóa các đối tượng thành các lớp đối tượng Dữ liệu được tổ chức thành các Lớp đối tượng Từ

đó việc quản lý bảo mật của dữ liệu được đảm bảo Hai đặc trưng là tính đóng gói

dữ liệu và tính sử dụng lại mã nguồn Nên ưu điểm của lập trình hướng đối tượng là bảo mật dữ liệu chương trình, giảm sự phụ thuộc của Cấu trúc dữ liệu vào Thuật toán, có thể sử dụng lại mã nguồn

L p trình trực quan: Lập trình trực quan là sự kết hợp giữa đồ họa máy tính ,

ngôn ngữ lập trình và tương tác người máy So với các ngôn ngữ lập trình bằng chế

Trang 11

Tài liệu giảng dạy Th p T nh 1 Trang 8

độ văn bản thì lập trình trực quan dễ sử dụng hơn do không phải nhớ các câu lệnh Các ngôn ngữ lập trình tr ực quan thường được sử dụng là: Visual Basic, Visual FoxPro, Visual C, Delphi…

L p trình song song: Lập trình song song là một công việc rất phức tạp so với lập

trình tuần tự thông thường, người phát triển phải thực hiện một quá trình “song song hóa”, biến đổi các chương trình tuần tự thành chương trình song song có khả năng tận dụng tối đa sức mạnh của hệ thống Lập trình song song bao gồm các bước sau: Phân hủy một thuật toán hay các dữ liệu đầu vào; Phân chia nhiệm vụ cho các bộ phận để làm việc trong bộ vi xử lý cùng một lúc; Phối hợp và trao đổi giữa các bộ vi xử lý Các ngôn ngữ lập trình song song thường được sử dụng là : CUDA, Ada

L p trình phân tán: Là tạo ra các ứng dụng hoặc hệ thống mà ứng dụng và hệ

thống đó được sắp đặt ở nhiều máy khác nhau theo một nguyên tắc do người thiết

kế chỉ ra Trong lập trình phân tán, một vấn đề được chia thành nhiều nhiệm vụ, mỗi nhiệm vụ trong đó được giải quyết bằng một máy tính, lập trình thực hiện công việc điều khiển nhiều máy tính cùng lúc

THEO MỤC TIÊU CỦA NGÔN NGỮ

1.3.3|

Có các mục tiêu như đa dụng, nhúng, lập trình web, …

- Đa dụng: như C, perl, python, C++, Java, …

- Nhúng: Như Ch, Ada, …

- Lập trình web: PHP, Java Script, Cold Fusion, …

- Riêng: Như AutoLisp, Mathematica, …

1.4| CÁC GIAI ĐOẠN PHÁT TRIỂN CHƯƠNG TRÌNH

Để phát triển một chương trình phải trải qua nhiều giai đoạn khác nhau:

- Thu thập các yêu cầu, phân tích bài toán;

- Thiết kế thuật toán;

- Chạy thử nghiệm trên giấy;

- Hiện thực (viết code chương trình);

- Thử nghiệm;

- Đánh giá và chỉnh sửa

Trang 12

Tài liệu giảng dạy Th p T nh 1 Trang 9

1.5| CẤU TRÚC MỘT CHƯƠNG TRÌNH C# CƠ BẢN

Chương trình C # đầu tiên

- Định nghĩa phương thức Main ();

- Nội dung của phương thức Main ()

Định nghĩa lớp

Trên dòng đầu tiên của chương trình, xác định một lớp có tên HelloCSharp Định

nghĩa đơn giản nhất của một lớp bao gồm từ khóa class, theo sau là tên lớp Trong

ví dụ trên, tên của lớp là HelloCSharp Nội dung của lớp nằm trong cặp dấu ngoặc nhọn: {}

class HelloCSharp

{

}

Định nghĩa phương thức Main ()

Trên dòng thứ ba, định nghĩa phương thức Main (), đây là điểm bắt đầu cho chương trình Mỗi chương trình được viết bằng C # bắt đầu từ phương thức Main () như sau:

staticvoid Main(string[] args)

Nội dung của phương thức Main ()

Nội dung của mọi phương thức được viết trong cặp dấu {} của phương thức Trên dòng tiếp theo của chương trình mẫu, sử dụng System.Console và phương thức WriteLine () để in một thông báo , trong trường hợp này là "Hello C#!"

Trang 13

Tài liệu giảng dạy Th p T nh 1 Trang 10

1.6| NGÔN NGỮ C#

C # là một ngôn ngữ lập trình cấp cao, đa mục đích, hướng đối tượng Cú pháp của

nó tương tự như của C và C ++ nhưng nhiều tính năng của các ngôn ngữ đó không được hỗ trợ trong C # để đơn giản hóa ngôn ngữ, giúp việc lập trình dễ dàng hơn Các chương trình C # bao gồm một hoặc một số tập tin có phần mở rộng cs, chứa các định nghĩa về các lớp và các loại khác Các tập tin này được biên dịch bởi trình biên dịch C# (csc) thành mã thực thi và kết quả là các tập tin có cùng tên nhưng có phần mở rộng exe hoặc dll

Ví dụ: nếu khi biên dịch HelloCSharp.cs, sẽ nhận được một tập tin có tên HelloCSharp.exe (một số tập tin bổ sung cũng sẽ được tạo ra)

Chúng ta có thể chạy mã được biên dịch như bất kỳ chương trình nào khác trên máy tính của mình (bằng cách double click vào nó) Nhưng nếu thực thi code C# đã biên dịch (ví dụ HelloCSharp.exe) trên máy tính không có NET Framework, sẽ xuất hiện thông báo lỗi

Quản lý bộ nhớ tự động

Một trong những lợi thế lớn nhất của NET Framework là quản lý bộ nhớ tự động

Nó giúp các lập trình viên khỏi phải thực hiện việc phân bổ bộ nhớ thủ công cho các đối tượng và sau đó chờ đợi thời điểm thích hợp để giải phóng nó Điều này làm tăng đáng kể năng suất của nhà phát triển và chất lượng của các chương trình được viết bằng C #

Trong NET Framework, có một thành phần đặc biệt của CLR được gọi là

"garbage collector" (hệ thống làm sạch bộ nhớ tự động) Trình thu gom rác có các

tác vụ chính sau: kiểm tra khi bộ nhớ được phân bổ cho các biến không còn được

sử dụng, sẽ giải phóng nó và làm cho nó sẵn sàng để phân bổ các đối tượng mới

1.7| VISUAL STUDIO IDE

VISUAL STUDIO LÀ GÌ?

1.7.1|

Visual Studio là một môi trường tích hợp (IDE) để phát triển các ứng dụng phần mềm cho Windows và nền tảng NET Framework Visual Studio (VS) hỗ trợ các ngôn ngữ lập trình khác nhau (ví dụ C #, VB.NET và C ++) và các công nghệ phát triển phần mềm khác nhau (Win32, COM, ASP.NET, ADO.NET Entity Framework, ứng dụng Windows Forms, WPF, Silverlight, Windows Store, công nghệ Windows và NET khác) Nó cung cấp một môi trường tích hợp mạnh mẽ để

Trang 14

Tài liệu giảng dạy Th p T nh 1 Trang 11

viết mã, biên dịch, thực thi, gỡ lỗi và kiểm tra các ứng dụng, thiết kế giao diện người dùng (biểu mẫu, hộp thoại, trang web, điều khiển trực quan và các thứ khác),

mô hình hóa dữ liệu và lớp, chạy thử nghiệm và hàng trăm chức năng khác

IDE là môi trường phát triển tích hợp - một công cụ để viết mã, biên dịch, chạy chương trình, kiểm tra, gỡ lỗi, v.v và mọi thứ được tích hợp vào một nơi duy nhất Visual Studio là một IDE

.NET Framework đi kèm với Visual Studio

Visual Studio là một sản phẩm thương mại nhưng có phiên bản miễn phí có tên Visual Studio Express, có thể tải xuống miễn phí từ trang web của Microsoft tại địa chỉ http://microsoft.com/visualstudio/ downloads

KHỞI ĐỘNG VISUAL STUDIO:

1.7.2|

Cách 1: double click biểu tượng Visual Studio trên desktop

Cách 2: chọn Start/Program/Visual Studio 2015/Visual Studio2015

TẠO MỘT DỰ ÁN (PROJECT) C# MỚI:

1.7.3|

Project gồm nhiều tập tin, được thiết kế để thực hiện một ứng dụng hoặc hệ thống phần mềm, một cách logic Nên tạo một project riêng cho mỗi chương trình Các bước tạo project mới:

Trang 15

Tài liệu giảng dạy Th p T nh 1 Trang 12

- File -> New Project

- Xuất hiện hộp thoại New Project

 Chọn ngôn ngữ lập trình (trong môn học này chọn C#)

 Chọn loại project( trong môn học này chọn Console Application)

 Đặt tên cho project trong Name

 Chọn vị trí chứa project trong Location

- Click OK

Trang 16

Tài liệu giảng dạy Th p T nh 1 Trang 13

Project mới hiển thị trong Solution Explorer Ngoài ra, tập tin đầu tiên chứa code chương trình, sẽ tự động được thêm vào, được đặt tên là Program.cs

ư ý: việc phải đặt tên tập tin / lớp / phương thức / biến/ hằng phải thể hiện ý

nghĩa của tập tin / lớp / phương thức / biến/ hằng

Để đổi tên tập tin Program.cs: right click vào Program.cs trong Solution Explorer

và chọn Rename, gõ tên mới Đổi tên tập tin cũng có thể được thực hiện bằng phím [F2] khi tập tin được chọn trong Solution Explorer

BIÊN DỊCH MÃ NGUỒN

1.7.4|

Quá trình biên dịch trong Visual Studio bao gồm các bước:

- Kiểm tra lỗi cú pháp;

- Chuyển đổi mã C # thành một tập tin thực thi (.NET assembly) Đối với các ứng dụng giao diện điều khiển, nó là một tập tin exe

Để biên dịch tệp trong Visual Studio, nhấn phím [Ctrl Shift B]

GỠ LỖI (DEBUG) CHƯƠNG TRÌNH

1.7.5|

Trong quá trình lập trình thường xuyên gặp những lỗi không mong muốn Debug

là việc rà soát lại các dòng code và tìm kiếm các bug để chỉnh lại theo ý muốn của mình

Quá trình gỡ lỗi bao gồm:

- Nhận thấy các lỗi;

- Tìm code gây ra lỗi;

Trang 17

Tài liệu giảng dạy Th p T nh 1 Trang 14

- Sửa code để chương trình hoạt động chính xác;

- Kiểm tra để đảm bảo chương trình hoạt động như mong đợi sau khi thay đổi được thực hiện

Quá trình có thể được lặp lại nhiều lần cho đến khi chương trình bắt đầu hoạt động chính xác

Các bước thực hiện Debug chương trình

- Đặt breakpoint: click vị trí bên trái dòng lệnh để đặt Breakpoint như hình dưới Có thể đặt nhiều breakpoint khác nhau Để xóa một breakpoint ta click vào đó một lần nữa

- Nhấn F5 để chạy chương trình ở chế độ debug

- Khi gặp beakpoint, màn hình sẽ chuyển màu như sau

Trang 18

Tài liệu giảng dạy Th p T nh 1 Trang 15

-Sử dụng các nút lệnh trên thanh công cụ để chọn chế độ chạy từng dòng, kiểm tra kết quả tương ứng

Step Over (F10): chạy lần lượt các câu lệnh, tuy nhiên sẽ không đi vào trong hàm con mà chỉ lướt qua

Step Into (F11): chạy lần lượt các câu lệnh và đi vào hàm con

Step Out (Shift + F11): Lướt qua hàm con hiện tại để trở về hàm trước Ngoài ra có thể dùng nó để nhảy qua breakpoint kế tiếp

Trang 19

Tài liệu giảng dạy Th p T nh 1 Trang 16

Kết quả:

1.8| QUÁ TRÌNH BIÊN DỊCH C#

C# là ngôn ngữ biên dịch (compiled language) vì khi build nó sẽ gọi ra trình biên dịch (compiler), trình biên dịch này sẽ chuyển đoạn mã C# thành một ngôn ngữ trung gian được gọi là Microsoft Intermediate Language (MSIL) được lưu dưới

dạng một file thực thi (exe)

Khi chạy file thực thi, NET Framework sẽ gọi Just In Time Compiler (trình biên dịch tức thời) để chuyển MSIL code thành ngôn ngữ máy (Machine code) và thực hiện chương trình

Quá trình biên dịch csharp

QUÁ TRÌNH BIÊN DỊCH

1.8.1|

ước 1: Chọn Build/ Build Solution hoặc Rebuild Solution Visual Studio sẽ gọi

trình biên dịch, mã C# sẽ được chuyển thành một ngôn ngữ trung gian Microsoft

Trang 20

Tài liệu giảng dạy Th p T nh 1 Trang 17

Intermediate Language (MSIL) Chương trình lúc này được đóng gói thành một

file exe

Để xem kết quả Right click vào project, chọn Open folder in file explorer

Vào thư mục bin/debug, chương trình đã được chuyển thành dạng exe, file exe

này chứa mã MSIL

Trang 21

Tài liệu giảng dạy Th p T nh 1 Trang 18

1.9| GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT

KHÁI NIỆM

1.9.1|

Một giải thuật (còn gọi là thuật toán) có thể được định nghĩa như là một thủ tục, công thức hay cách giải quyết vấn đề Nó gồm một tập hợp các bước giúp đạt được lời giải

Đặt tả giải thuật: giải thuật được viết bằng cách dùng hai phương pháp chuẩn là mã giả (pseudo code) và lưu đồ (flowchart)

LƯU ĐỒ

1.9.2|

Một lưu đồ là một hình ảnh minh hoạ cho giải thuật Nó vẽ ra biểu đồ của luồng chỉ thị hay những hoạt động trong một tiến trình Mỗi hoạt động như vậy được biểu diễn qua những ký hiệu

Tập các ký hiệu dùng biểu diễn lưu đồ:

Trang 22

Tài liệu giảng dạy Th p T nh 1 Trang 19

Khối Nhập xuất Khối xử lý Lựa chọn 1 trong 2 trường hợp

Gọi chương trình con Bắt đầu, kết thúc Luồng xử lý Điểm ghép nối

Trang 23

Tài liệu giảng dạy Th p T nh 1 Trang 20

Input: số nguyên a, b, c

Process: max =a

Nếu max<b

max =b Nếu max <c

Trang 24

Tài liệu giảng dạy Th p T nh 1 Trang 21

 Nội dung : Chương 1: Tổng quan về Ngôn ngữ lập trình

II Chuẩn đầu ra cần đạt:

L.O.1 Các kiến thức cơ bản về các loại lập trình, phân biệt được

các dạng lập trình, trình bày các bước để giải quyết bài toán trên máy tính; Mô tả thuật toán bằng lưu đồ / mã giả

CÂU HỎI ÔN TẬP

1 Chương trình – Programs/Applications là gì? Ngôn ngữ lập trình - Programming languages là gì? Lập trình viên – Programmers là gì? Công cụ lập trình - Programming tools / Developer tools là gì?

2 Liệt kê sơ lược lịch sử phát triển của ngôn ngữ lập trình?

3 Hãy phân loại các dạng ngôn ngữ lập trình

4 Hãy nêu các giai đoạn phát triển phần mềm

5 Hãy mô tả cấu trúc cơ bản của một chương trình C#

6 Hãy nếu tổng quan về ngôn ngữ C# và lợi ích của C# Vì sao khi biên dịch chương trình C# trên máy tính bắt buộc phải có NET Framework?

Vẽ lưu đồ thuật toán cho các chương trình sau:

1 Chương trình nhập vào bán kính hình tròn Tính, in ra chu vi và diện tích của hình tròn

Trang 25

Tài liệu giảng dạy Th p T nh 1 Trang 22

 Tính totalSale = sale1 + sale2 và

commission=totalSale*commissionRate

 In ra màn hình giá trị commission

3 Chương trình cho phép người dùng nhập vào năm sinh một nam nhân viên Tính:

 Tính tuổi hiện tại

 Tính năm về hưu (biết tuổi về hưu của nam là 62)

4 Chương trình cho phép nhập vào hai số nguyên num1, num2 Tìm và in ra màn hình giá trị lớn nhất giữa hai số num1 và num2

5 Chương trình cho phép nhập vào một số nguyên dương num Kiểm tra và in

ra màn hình kết quả “Là số chẵn” hoặc “Là số lẻ”

6 Chương trình cho phép nhập vào hai số thực a, b Giải và biện luận phương trình bậc nhất ax+b=0

7 Tạo một project C# trên Visual Studio 2015 với đoạn code sau:

//My first program in C#

Vẽ lưu đồ thuật toán cho các chương trình sau:

8 Chương trình cho phép nhập vào hai giá trị num1, num2 Thực hiện hoán vị hai giá trị num1 và num2 cho nhau In giá trị mới ra màn hình

9 Chương trình cho phép nhập vào ba số a, b, c Tìm và in ra giá trị nhỏ nhất

ra màn hình

10 Chương trình cho phép nhập vào ba số thực a, b, c Giải và biện luận phương trình bậc hai ax2 + bx + c = 0

-Hết -

Trang 26

Tài liệu giảng dạy Th p T nh 1 Trang 23

HẰNG, BIẾN

- Chương này nhằm giúp sinh viên các hiểu biết về tên,

phương pháp đặt tên cho đối tượng; sự khác nhau giữa biến, hằng; cách sử dụng biến hằng; các kiểu dữ liệu cơ sở và cách vận dụng để giải quyết bài toán

Trang 27

Tài liệu giảng dạy Th p T nh 1 Trang 24

2.1| TẬP KÝ TỰ

C# phân biệt chữ hoa, chữ thường Do đó tập ký tự trong C# bao gồm:

- Các ký số: 0…9

- Các ký tự mẫu tự: a z, A Z

- Các ký tự đặt bịêt: + - * / % &! # ^ & …

Tập ký tự trong C# bao gồm các ký tự in được của bàn phím chuẩn

2.2| TỪ KHÓA

Tất cả các ngôn ngữ dành một số từ nhất định cho mục đích riêng Những từ này có một ý nghĩa đặc biệt trong ngữ cảnh của từng ngôn ngữ, và được xem là “từ khóa” C# sử dụng bộ từ khóa sau:

2.3| TÊN VÀ QUI ƯỚC ĐẶT TÊN

Khi muốn trình biên dịch phân bổ vùng nhớ cho một đối tượng được sử dụng trong chương trình phải cung cấp tên cho nó Tên hoạt động như một định danh và cho phép tham chiếu đến vùng nhớ liên quan

Tên phải tuân theo các quy tắc nhất định được xác định trong đặc tả ngôn ngữ C#: Tên có thể chứa các ký tự a-z, A-Z, các ký số 0-9 cũng như ký tự '_'

Trang 28

Tài liệu giảng dạy Th p T nh 1 Trang 25

Tên không thể bắt đầu bằng một chữ số

Tên không thể trùng với từ khóa của ngôn ngữ C # Ví dụ: base, char, int, object, this, null, …

Lưu ý:

- Tên nên mô tả và giải thích biến được sử dụng để làm gì

Ví dụ: một tên thích hợp cho một biến lưu trữ một tên người là personName và tên không phù hợp là a

- Tên không nên quá dài hoặc quá ngắn - chúng chỉ cần làm rõ mục đích của biến trong ngữ cảnh của nó

- Chữ in hoa và chữ thường nên được sử dụng cẩn thận vì C # phân biệt chữ hoa và chữ thường

Ví dụ: diemtb và diemTB là các biến khác nhau

Ví dụ về các biến được đặt tên đúng: firstName, age, startIndex

2.4| CÁC KIỂU DỮ LIỆU XÂY DỰNG SẴN

KIỂU DỮ LIỆU

2.4.1|

Kiểu dữ liệu là tập hợp các giá trị có các đặc điểm tương tự

Ví dụ, kiểu byte chỉ bộ số nguyên trong phạm vi [0, 255]

Các kiểu dữ liệu được đặc trưng bởi:

+Tên - ví dụ: int;

+ Kích thước (dung lượng bộ nhớ sử dụng) - ví dụ: 4 byte;

+Giá trị mặc định - ví dụ 0

Các kiểu dữ liệu cơ bản trong C # được chia thành các loại sau:

+Kiểu số nguyên - sbyte, byte, short, ushort, int, uint, long, ulong;

+Kiểu số thực dấu chấm động – float, double;

+Kiểu số thực với độ chính xác thập phân - decimal;

+Kiểu Boolean - bool;

+Kiểu ký tự - char;

+Chuỗi - string;

Trang 29

Tài liệu giảng dạy Th p T nh 1 Trang 26

+Kiểu đối tượng- object

Các kiểu dữ liệu này được gọi là kiểu nguyên thủy (kiểu dựng sẵn)

bool 1 false Two possible values: true and false

char 2 '\u0000' Từ '\u0000' đến '\uffff'

Sự tương ứng giữa các kiểu trong C# và NET

Các kiểu dữ liệu nguyên thủy trong C# có sự tương ứng trực tiếp với kiểu của hệ thống kiểu phổ biến (CTS) trong NET Framework Chẳng hạn, kiểu int trong C# tương ứng với kiểu System.Int32 trong CTS và kiểu Integer trong ngôn ngữ VB.NET, trong khi kiểu long trong C# tương ứng với kiểu System.Int64 trong CTS

và kiểu Long trong ngôn ngữ VB.NET Do CTS trong NET Framework, có khả năng tương thích giữa các ngôn ngữ lập trình khác nhau (ví dụ như C#, Managed C++, VB.NET và F#) Do đó, các kiểu int, Int32 và System.Int32 trong C# thực sự

là các bí danh khác nhau cho một và cùng loại dữ liệu - số nguyên 32 bit

CHỌN KIỂU DỮ LIỆU

2.4.2|

Thông thường để chọn một kiểu dữ liệu nguyên để sử dụng thường dựa vào độ lớn của giá trị muốn sử dụng Ví dụ, một biến ushort có thể lưu giữ giá trị

từ 0 đến 65.535, trong khi biến ulong có thể lưu giữ giá trị từ 0 đến 4.294.967.295,

do đó tùy vào miền giá trị của phạm vi sử dụng biến mà chọn các kiểu dữ liệu thích hợp nhất Kiểu dữ liệu int thường được sử dụng nhiều nhất trong lập trình vì với kích thước 4 byte của nó cũng đủ để lưu các giá trị nguyên cần thiết Kiểu số

Trang 30

Tài liệu giảng dạy Th p T nh 1 Trang 27

nguyên có dấu thường được lựa chọn sử dụng nhiều nhất trong kiểu số trừ khi có lýdo chính đáng để sử dụng kiểu dữ liệu không dấu

2.5| BIẾN

Là một phần bộ nhớ được đặt tên và được dùng để lưu trữ một giá trị có thể thay đổi khi thực hiện chương trình Tất cả các biến trong C# đều phải được khai báo trước khi sử dụng

2.5.1 KHAI BÁO BIẾN

Khi khai báo một biến, cần thực hiện các bước sau:

- Xác định kiểu của biến (ví dụ: int);

- Xác định tên của biến (định danh, ví dụ: diemHS1);

- Tùy chọn chỉ định giá trị ban đầu (Ví dụ: 10)

Khởi tạo biến

Việc khởi tạo trong lập trình có nghĩa là chỉ định một giá trị ban đầu Khi đặt giá trị cho các biến tại thời điểm khai báo, chúng tôi thực sự khởi tạo chúng

Ví dụ: int diemHS1 = 10;

2.5.2 GIÁ TRỊ BIẾN MẶC ĐỊNH

Mỗi kiểu dữ liệu trong C# có một giá trị mặc định (khởi tạo mặc định) được sử dụng khi không có giá trị được đặt rõ ràng cho một biến đã cho Chúng ta có thể sử dụng bảng sau để xem các giá trị mặc định của các loại mà chúng ta đã quen thuộc: Data Type Default Value Data Type Default Value

Trang 31

Tài liệu giảng dạy Th p T nh 1 Trang 28

//in ket qua

System Console WriteLine( "khai bao va khoi tao num1 = {0}" , num1);

Trang 32

Tài liệu giảng dạy Th p T nh 1 Trang 29

//dinh nghia bien

int num1 ;

//in ket qua

System Console WriteLine( "khai bao va khoi tao num1 = {0}" , num1);

Biể ượng hằng (symbolic constants): gán một tên cho một giá trị hằng, để tạo

một biểu tượng hằng dùng từ khóa const và cú pháp sau:

<const> <data type> <identifier>= <value>;

dienTich = PI * banKinh * banKinh;

//in ket qua

System Console WriteLine( "duong tron ban kinh = " + banKinh );

System Console WriteLine( "duong tron chu vi = " + chuVi);

Trang 33

Tài liệu giảng dạy Th p T nh 1 Trang 30

System Console WriteLine( "dien tich = " + dienTich);

}

}

Kết quả

Trang 34

Tài liệu giảng dạy Th p T nh 1 Trang 31

 Nội dung : Chương 2: Các kiểu dữ liệu, biến và hằng số

II Chuẩn đầu ra cần đạt:

L.O.2 Phân biệt được hằng, biến, các kiểu dữ liệu cơ bản

L.O.8 Thường xuyên tìm hiểu vấn đề, chủ động làm bài tập về nhà theo đúng yêu

cầu, nộp bài đúng qui định

CÂU HỎI ÔN TẬP

1 Phân biệt hằng, biến? Cách khai báo và sử dụng hằng biến?

2 Hãy nêu quy tắt đặt tên trong C# ?

3 Hãy nêu các liểu dữ liệu cơ bản trong C# ?

BÀI TẬP Ở LỚP

Yêu cầu: Sinh viên đọc Tài liệu tham khảo - Chương 2 trước khi thực hiện bài tập

Vẽ lư đồ thu t toán và sử dụng phần mềm Visual Studio 2015 viết các

chương nh C# heo mô ả sau:

1 Chương trình nhập vào bán kính hình tròn Tính, in ra chu vi và diện tích của hình tròn

Tính tuổi hiện tại

Trang 35

Tài liệu giảng dạy Th p T nh 1 Trang 32

4 Chương trình cho phép nhập vào hai giá trị num1, num2 Thực hiện hoán vị hai giá trị num1 và num2 cho nhau In giá trị mới ra màn hình

5 Chương trình cho phép nhập một số nguyên dương n và in bảng nhân của số

Trang 36

Tài liệu giảng dạy Th p T nh 1 Trang 33

- Chương này nhằm giúp sinh viên hiểu được các kiến

thức về toán tử và cách sử dụng toán tử; cách sử dụng câu lệnh nhập xuất

Trang 37

Tài liệu giảng dạy Th p T nh 1 Trang 34

3.1| CÁC LOẠI TOÁN TỬ

Các toán tử cho phép xử lý các dữ liệu Chúng nhận một hoặc nhiều toán hạng đầu vào và trả về một kết quả Toán tử trong C# là các ký tự đặc biệt (chẳng hạn như +,-,*, /, …) và chúng thực hiện các phép biến đổi trên một, hai hoặc ba toán hạng Trong C# có các loại toán tử sau:

- Toán tử số học - được sử dụng để thực hiện các phép toán số học đơn giản

- Toán tử gán - cho phép gán giá trị cho các biến

- Toán tử so sánh - cho phép so sánh hai hằng hoặc biến

- Toán tử logic - toán tử hoạt động với các kiểu dữ liệu Boolean và các biểu thức Boolean

- Toán tử nhị phân - được sử dụng để thực hiện các thao tác trên biểu diễn nhị phân của dữ liệu số

- Toán tử chuyển đổi kiểu - cho phép chuyển đổi dữ liệu từ loại này sang loại khác

3.1.1 TOÁN TỬ SỐ HỌC

pháp

Kết quả

Nhân(multiplication) * x*y Nhân x với y

Chia(division) / x/y -Chia x cho y nếu x, y là số thực

-Lấy phần nguyên phép chia x/y nếu x, y là số nguyên

Lấy phần dư (remainder) % x%y Lấy phần dư phép chia x/y nếu x, y

là số nguyên Tăng trước(preIncrement) ++ ++x Tăng x 1 đơn vị trước khi dùng Tăng sau(posIncrement) ++ x++ Tăng x 1 đơn vị sau khi dùng Giảm trước(preDecrement) x Giảm x 1 đơn vị trước khi dùng Giảm sau(posIncrement) x Giảm x 1 đơn vị sau khi dùng

Trang 38

Tài liệu giảng dạy Th p T nh 1 Trang 35

//in ket qua

Console WriteLine( "a + b = " + (a + b));

Console WriteLine( "a = " + a);

Console WriteLine( "b = " + b);

Console WriteLine( "a + (b++) = " + (a + (b++)));

Console WriteLine( "a = " + a);

Console WriteLine( "b = " + b);

Console WriteLine( "a + (++b) = " + (a + (++b)));

Console WriteLine( "a = " + a);

Console WriteLine( "b = " + b);

a ;

Console WriteLine( "a = " + a);

Console WriteLine( "b = " + b);

Console WriteLine( "b / a = " + (b / a));

Console WriteLine( "b % a = " + (b % a));

Trang 39

Tài liệu giảng dạy Th p T nh 1 Trang 36

//in ket qua

Console WriteLine( "a = " + a);

Console WriteLine( "b = " + b);

Console WriteLine( "a && b = " + (a && b));

Console WriteLine( "a || b = " + (a || b));

Console WriteLine( "!b = " + !b);

Console WriteLine( "b || true = " + (b || true ));

Console WriteLine( "(5 > 7) ^ (a == b)" + ((5 > 7) ^ (a == b))); }

}

Kết quả:

Toán tử Ký hiệu Cú pháp Kết quả

And && x && y true nếu x và y = true, và false khi x

Trang 40

Tài liệu giảng dạy Th p T nh 1 Trang 37

3.1.3 TOÁN TỬ NỐI CHUỖI

string dotnet = ".NET" ;

//in ket qua

string csharpDotNet = csharp + dotnet;

Ngày đăng: 11/10/2022, 22:02

HÌNH ẢNH LIÊN QUAN

- Đặt breakpoint: click vị trí bên trái dòng lệnh để đặt Breakpoint như hình dưới. Có thể đặt nhiều breakpoint khác nhau - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
t breakpoint: click vị trí bên trái dòng lệnh để đặt Breakpoint như hình dưới. Có thể đặt nhiều breakpoint khác nhau (Trang 17)
Một lưu đồ là một hình ảnh minh hoạ cho giải thuật. Nó vẽ ra biểu đồ của luồng chỉ thị  hay  những  hoạt  động  trong  một  tiến  trình - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
t lưu đồ là một hình ảnh minh hoạ cho giải thuật. Nó vẽ ra biểu đồ của luồng chỉ thị hay những hoạt động trong một tiến trình (Trang 21)
Ví dụ 1: Nhập hai số nguyên, xuất tổng ra màn hình kết quả tổng của hai số đó - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
d ụ 1: Nhập hai số nguyên, xuất tổng ra màn hình kết quả tổng của hai số đó (Trang 22)
Hình 2.1: Bản đồ hành chính huyện Định Hóa, tỉnh Thái Nguyên - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
Hình 2.1 Bản đồ hành chính huyện Định Hóa, tỉnh Thái Nguyên (Trang 49)
8. Viết chương trình in ra bảng Cửu chương. - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
8. Viết chương trình in ra bảng Cửu chương (Trang 89)
 Hình thức nộp bà i: Nộp qua Moodle mơn học  Thời hạn nộp bài  : … / … / …… - Giáo trình kỹ thuật lập trình 1 Dành cho bậc Cao đẳng ngành Công nghệ thông tin
Hình th ức nộp bà i: Nộp qua Moodle mơn học  Thời hạn nộp bài : … / … / …… (Trang 104)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm