You are on page 1of 28

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

PHÂN HIỆU TẠI TP. HỒ CHÍ MINH


BỘ MÔN CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN MÔN HỌC

ĐỀ TÀI: NGÔN NGỮ SWIFT

Giảng viên hướng dẫn: ThS.TRẦN PHONG NHÃ

Sinh viên thực hiện: LÊ THÀNH ĐƯỢC

NGUYỄN VĂN NHẬT

NGUYỄN NGỌC TOÀN

Lớp: CQ.57.CNTT

Khoá: 57

Tp. Hồ Chí Minh, năm 2019


TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI TP. HỒ CHÍ MINH
BỘ MÔN CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN MÔN HỌC

NGUYÊN LÍ NGÔN NGỮ LẬP TRÌNH

ĐỀ TÀI: NGÔN NGỮ SWIFT


Giảng viên hướng dẫn: ThS. LÊ NHẬT TÙNG

Sinh viên thực hiện: LÊ THÀNH ĐƯỢC

NGUYỄN VĂN NHẬT

NGUYỄN NGỌC TOÀN

Lớp: CQ.57.CNTT

Khoá: 57

Tp. Hồ Chí Minh, năm 2019


LỜI CẢM ƠN
Lời đầu tiên
Vì thời gian làm bài tập lớn có hạn, cũng như những hiểu biết của bản thân còn
nhiều hạn chế, nên không tránh khỏi những thiếu sót, kính mong được sự nhận xét, phê
bình, góp ý của quý thầy cô để em có điều kiện học hỏi phấn đấu hơn nữa.

Cuối cùng, em xin kính chúc quý thầy cô mạnh khỏe, hạnh phúc và thành công
hơn nữa trong công việc cũng như trong cuộc sống.

Tp. Hồ Chí Minh, ngày…tháng … năm..


Nhóm Sinh viên thực hiện

LÊ THÀNH ĐƯỢC
NGUYỄN VĂN NHẬT
NGUYỄN NGỌC TOÀN
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

......................................................................................................................................

Tp.Hồ Chí Minh, ngày ....8.... tháng ..5..... năm 2019


Giảng viên hướng dẫn

Trần Phong Nhã


MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................1
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .........................................................1
Chương I .Tìm hiểu SWIFT .........................................................................................1
1.1 Giới thiệu swift ......................................................................................................... 1
1.2 Cấu trúc của một chương trình Swift .................................................................... 2
1.3 Cú pháp Swift .......................................................................................................... 3
1.4 Biến và khai báo ....................................................................................................... 6
1.5 Các kiểu dữ liệu thường dùng ................................................................................ 8
1.6 Câu lệnh rẽ nhánh ................................................................................................... 9
1.7 Các loại vòng lặp .................................................................................................... 12
1.8 Hàm trong swift ..................................................................................................... 13
1.9 Mảng trong swift.................................................................................................... 16
1.10 Class &Struct . Lập trình hướng đối tượng Swift ............................................ 16
Chương II: So sánh C/C++ vs SWIFT.......................................................................19
Chương III. Ứng dụng demo ......................................................................................22
Chương I .Tìm hiểu SWIFT
1.1 Giới thiệu swift

Swift là ngôn ngữ lập trình mới được phát triển bởi Apple Inc. với mục đích hỗ trợ lập
trình viên trong việc phát triển các ứng dụng chạy trên các hệ điều hành như iOS, OSX
và watchOS. Swift được xây dựng dựa trên việc kế thừa các tính năng của 2 ngôn ngữ
C và Objective-C.

Hình 1.1 1

• Swift có đầy đủ sức mạnh và những cải tiến của một ngôn ngữ lập trình hiện đại
để có thể thay thế Objective-C (vốn đã già cỗi, khó sử dụng và khó học) phát
triển các ứng dụng cho iOS, macOS, watchOS và tvOS.

• Swift còn được trang bị một tính năng khá hay, đó là Swift Playground. Đây là
tính năng giúp chúng ta có thể xem nhanh kết quả thực theo thời gian thực mà
không cần phải build hoặc run project.

1

Hình 1.1 2

1.2 Cấu trúc của một chương trình Swift

Hình 1.1 3

Một dòng lệnh hoặc biểu thức không nằm trong hàm , khối lệnh hoặc một class nghĩa
là nó nằm ở Top Lever
2
Bạn không thể viết biểu thức Top Lever là không hợp lệ , trừ khi bạn làm việc cho file
nguồn có tên là main.swift
Trừ khi bạn làm việc đó có file nguồn có tên là main.swift(Đây là trường hợp ngoại
lệ)

Điểm bắt đầu của một chương trình Swift

• Trong một chương trình Swift file main.swift là một file đặc biệt, vì nó chính là
điểm bắt đầu để chạy chương trình . Bạn có thể gọi hàm hoặc viết biểu thức
ở Top-Level trên file nguồn main.swift, đó là một ngoại lệ dành riêng cho
file này.
• Tạo ra một file nguồn mới có tên newfile.swift, bạn sẽ thấy một thông báo lỗi
khi tôi cố tình viết một biểu thức ở Top-Level.

Hình 1.1 4

1.3 Cú pháp Swift

• Chúng ta bắt đầu tìm hiểu cú pháp swift cơ bản bằng chương trình hiển thị
chuỗi “Hello World!”. Chương trình được tạo cho OS X playground, trong đó
bao gồm câu lệnh import Foundation như dưới đây

3
Hình 1.1 5

• Cú pháp swift cơ bản – Import in Swift

Comments là những chuỗi chú thích trong chương trình của bạn và chúng được
bỏ qua bởi trình biên dịch.
Nếu chú thích trên một dòng sẽ bắt đầu với //

Hình 1.1 6

Nếu có nhiều dòng chú thích sẽ bắt đầu với /* và kết thúc với */

Hình 1.1 7
4
Cú pháp swift cơ bản – Dấu chấm phẩy (Semicolons)
• Swift không yêu cầu bạn phải viết một dấu chấm phẩy (;) sau mỗi câu lệnh
trong code. Vì vậy việc sử dụng (;) là không bắt buộc.
• Nhưng nếu bạn sử dụng nhiều câu lệnh trên cùng một dòng thì bạn phải sử
dụng (;) ở cuối mỗi câu lệnh nếu không trình biên dịch sẽ thông báo lỗi cú
pháp. Bạn có thể viết lại chương trình hiển thị chuỗi “Hello World!” như sau


Hình 1.1 8

Cú pháp swift cơ bản – Định danh (Identifiers)

• Một định danh trong Swift là một cái tên dùng để xác định một biến (variable),
một hàm (function), … Một định danh bắt đầu bằng chữ cái từ A đến Z hoặc từ
a đến z hoặc một gạch dưới (_) và tiếp theo là không hoặc nhiều chữ cái hoặc
chữ số (0-9).
• Swift không cho phép các ký tự như @, $, và % trong định danh. Swift là ngôn
ngữ phân biệt hoa thường. Vì vậy việc khai báo name và Name là hoàn toàn
khác nhau. Dưới đây là một số ví dụ về định danh hợp lệ

• Cú pháp swift cơ bản – Từ khoá (Keywords)

• Các từ khóa sau đây được dành riêng trong Swift. Những từ khoá không thể
sử dụng để khai báo biến, khai báo hằng, … trừ khi chúng được đặt trong cặp
dấu nháy đơn ‘ ‘.

5
• Danh sách từ khoá sử dụng trong khai báo

Danh sách từ khoá sử dụng trong câu lệnh

Cú pháp swift cơ bản – Tổng kết


• Câu lệnh import
• Chú thích
• Kết thúc một lệnh
• Định danh
• Danh sách từ khoá
• Literals

1.4 Biến và khai báo

6
Hình 1.1 9

Ví dụ :

Hằng số và khai báo hằng số

Ví dụ

7
1.5 Các kiểu dữ liệu thường dùng

Type Typical Bit Width Typical Range

Int8 1byte -127 to 127

UInt8 1byte 0 to 255

Int32 4bytes -2147483648 t

UInt32 4bytes 0 to 429496729

-922337203685
Int64 8bytes
922337203685

UInt64 8bytes 0 to 184467440

Float 4bytes 1.2E-38 to 3.4E

Double 8bytes 2.3E-308 to 1.7

-Câu lệnh rẽ nhánh

8
Cấu trúc rẽ nhánh trong swift – Câu lệnh if

1.6 Câu lệnh rẽ nhánh

• Cấu trúc rẻ nhánh trong swift – Câu lệnh if…else (If…Else Statement)
9
• Một câu lệnh if có thể theo sau nó là câu lệnh else (điều này không bắt buộc) và
khối lệnh trong câu lệnh else sẽ được thực thi khi biểu thức điều kiện là sai
(false)

Cấu trúc rẻ nhánh trong swift – Câu lệnh if lồng nhau (Nested If
Statements)
Có nghĩa là bạn có thể sử dụng một câu lệnh if hoặc câu lệnh else if và bên trong chứa
một hoặc nhiều câu lệnh if hoặc else if khác.

Ví dụ :

10
Cấu trúc rẻ nhánh trong swift – Toán tử ? (The ? : Operator)

• Chúng ta có thể sử dụng toán tử ? để thay cho câu lệnh if…else, sau đây là cú
pháp

Các loại vòng lặp

• Vòng lặp trong swift – Vòng lặp for (For Loop)


• Một vòng lặp for là một cấu trúc điều khiển lặp lại cho phép bạn chỉ định
số lần lặp cụ thể

Init là biểu thức khởi tạo


Condition là biểu thức điều kiện
Sau khi thực hiện khối lệnh bên trong thì nó sẽ xác định lại và nếu nó đúng thì nó thực
hiện
11
1.7 Các loại vòng lặp

• Vòng lặp for bình thường

Vòng lặp trong swift – Vòng lặp repeat…while (Do…while Loop)

12
• Vòng lặp trong swift – Những câu lệnh điều khiển vòng lặp
(Loop Control Statements)
• Câu lệnh continue (Continue Statement): Câu lệnh này sẽ thông báo với vòng
lặp không thực hiện những xử lý hiện tại và tiếp tục vòng lặp với xử lý tiếp theo

1.8 Hàm trong swift

Hàm trong swift là một tập hợp các câu lệnh được tổ chức với nhau để thực hiện một
công việc cụ thể. Giống như các ngôn ngữ lập trình khác, hàm trong swift có 2 thành
phần là khai báo hàm (Function Declaration) và định nghĩa hàm (Function Definition).

13
• Gọi hàm trong swift

• Hàm với các tham số (Functions with Parameters)

Hàm có thể có nhiều tham số đầu vào, chúng được viết bên trong cặp dấu ngoặc đơn
và được phân cách bởi dấu phẩy.
Ví dụ khai báo và định nghĩa hàm add() có 2 tham số n1, n2 kiểu số nguyên (integer)
và trả về kiểu integer. Khi bạn gọi hàm có nhiều hơn một tham số, những tham số thứ
2 trở đi phải được gán nhãn theo tên tham số tương ứng.

• Hàm có nhiều giá trị trả về (Functions with return values)


14
• Hàm trong swift – Khai báo tham số In-Out (In-Out
Parameters)

15
1.9 Mảng trong swift
Mảng trong swift được sử dụng để lưu trữ danh sách các giá trị có
cùng kiểu dữ liệu. Nếu bạn khai báo một mảng theo dạng biến, điều
đó có nghĩa là bạn có thể thay đổi nó như thêm, xoá, hoặc thay đổi giá
trị của các phần tử trong mảng. Nhưng nếu bạn khai báo mảng theo
dạng hằng số, thì mảng này không thể thay đổi.

1.10 Class &Struct . Lập trình hướng đối tượng Swift

• Class trong swift – Cú pháp

16
Class trong swift – Ví dụ

Class trong swift – Cú pháp tạo đối tượng (instance)

Class trong swift – Truy cập thuộc tính (Accessing Class


Properties)

17
• Cú pháp

Class trong swift – Cú pháp tạo đối tượng (instance)

18
Class trong swift – Truy cập thuộc tính (Accessing Class
Properties)

• Cú pháp

Chương II: So sánh C/C++ vs SWIFT


• CÂU ĐIỀU KIỆN
19
Swift cho phép loại bỏ dấu ngoặc đơn, C ++ yêu cầu chúng

• CHUYỂN BÁO CÁO


Hành vi mặc định khác nhau giữa các ngôn ngữ. Vào cuối của một tuyên bố
trường hợp, Swift có một ngắt tự động trong khi C ++ rơi vào trường hợp tiếp
theo.

Fallthrough từ khóa được sử dụng để rơi vào một trường hợp trong Swift. Trong C
++, loại bỏ sự phá vỡ gây ra sự sụp đổ

20
• Swift cho phép chuyển đổi trên Chuỗi, C ++ không

• Swift cho phép các trường hợp phạm vi. C ++ sử dụng thông qua mặc định để
thực hiện chức năng tương tự

21
• Xử lí lỗi

• Việc xử lí lỗi của Swift nhanh hơn C++ nhiều
• Tốc độ

Tốc độ Swift nhanh hơn C++

Chương III. Ứng dụng demo


Phần mềm thư viện ảnh đơn giản

22
Hình 3.1 1

Tài liệu tham khảo :

Tìm hiểu về ios : https://vi.wikipedia.org/wiki/IOS

Học lập trình ios trong 24h : https://khoapham.vn/laptrinhios.html

23

You might also like