Fastest way to learn basic of Programming [P2]

Chào cả nhà, sau khi làm xong Part 1 của Fastest way to learn basic of Programming, em thấy có rất nhiều bạn newbie và cả không newbie đánh giá tốt bài viết XD, và nhiều lượt hóng (nhưng lượt xem hơi ít, mới có 230 lượt :’( ) Nhưng không vì thế mà làm chậm trễ việc post bài cho các bạn. ^^

Xem phần 1 tại: Fastest way to learn basic of Programming [P1]

Trong phần 1, chúng ta đã biết “sơ sơ” qua các khái niệm cơ bản như biến, kiểu,… nhưng ngắn và dễ hiểu hơn trong sách, giáo trình (mọi người đánh giá, em không bum đâu :joy: ) và trong phần 2, ta sẽ đi tìm hiểu hết các phần còn lại.

NHẬP MÔN LẬP TRÌNH

Những thứ ban đầu -tt

Khai Báo (Declaration): là yêu cầu máy tính cung cấp cho mình những thứ mình cần. Không yêu cầu là nó không cho đâu. :smiley: VD nhé: int a = 5; -> "Cưng eh, cho anh mượn cái hộp (int) nhãn a chứa kẹo (5) ^^ đi." class Explore -> "Mấy chú xây cho anh cái phòng đặt tên là Explore nha"

Các loại kiểu: như trong phần 1, mình đã nói về kiểu là gồm 4 loại cơ bản, nhưng bây giờ mình sẽ phân tích về các kiểu này (mình theo ngôn ngữ Java nhé). Mỗi kiểu sẽ có loại khác nhau và phạm vi (nói chung là độ rộng của cái hộp để nhét vừa đồ thôi ^^) được đo bằng bit

--Kiểu Số Nguyên--
byte   =  8  bit
short  =  16 bit
int    =  32 bit
long   =  64 bit
--Kiểu số thực--
float  =  32 bit
double =  64 bit
--Kiểu Logic--
boolean=  1  bit
--Kiểu Kí tự-chuỗi--
String = (mình không rõ vì trong Java nó là 1 lớp)
char   =  16 bit
--Kiểu đặc biệt--
void  -> không trả về

Chuỗi (String): giống như 1 câu trong văn viết vậy thôi, còn kí tự là 1 chữ cái :slight_smile: .

Fact: Ngôn ngữ lập trình thường đặt chuỗi trong " ", một số thì ' ',...

Lệnh rẽ nhánh (Condition): khó hiểu nhể, đơn giản là giống như bạn đăng nhập facebook, đúng mật khẩu (true) thì nó cho bạn vào, không thì đá bạn ra (false) vậy thôi
Lệnh rẽ nhánh chia làm 2 loại phổ biến

if ( condition ) { activities } else { activities }
nếu ( mật khẩu đúng ) thì { đăng nhập } còn không thì { đá ra }

switch ( expression ) { case <value> : {activities} break; } 
xét (tên tài khoản) { là "ltd" thì { tên = "Lê Trần Đạt" } break; } //break dùng để thoát ra. Làm xong rồi ở lại làm gì? về hoy

Lệnh lặp (loop): là thực đi thực hiện lại một việc gì đấy, giống như bạn đi học là lặp đi lặp lại việc đi đến trường và đi vê nhà.
Lệnh lặp sẽ luôn có điều kiện để dừng và thuộc loại đếm limit hay unlimited.

Limit - giới hạn số lần
for ( counter ; condition ; step ) { activities }
lặp ( số năm học ; số năm học < 12; số năm học + 1) { đi học }

Unlimited - không giới hạn
while ( condition ) { activities }
khi ( tuổi < 19 ) { đi học; tuổi++ }
do { activities } while ( condition ) cũng tương tự.

Hàm (Function): là một khối lệnh có tên, có tham số truyền vào và có kiểu trả về -> Nó giống máy bán kem, chỉ cần đưa tiền (tham số) vào là sẽ cho ra lượng kem tương ứng (trả về)
+Tham số (Argument): là những gì bạn đưa vào.
+Trả về (Return) : là những gì nó đưa ra.

khai báo hàm <kiểu trả về> <tên> ( các tham số ) { công việc }
vd:
IceCream IceCreamSeller (int Money) {  //hàm <tên chữ màu đỏ> trả về là Kem và tham số là tiền ^^
    int IceCreamOut = 0;
    if ( Money == 0 ) {
      Nói("Định ăn chịu ak");
    } else {
      IceCreamOut = 4 * Money;
    }
    return IceCreamOut;  //trả vể (xuất ra) kem
}

Thủ Tục: đơn giản là hàm mà không có trả về thôi (trả về void) thôi mà. Làm khó nhau hoài.

Con trỏ (Pointer): dự là đây sẽ là thứ hack não ai dùng C++ hay C. Nói nôm na đây là một biến mà nó nằm trong chương trình, chỉ trỏ lung tung. Dễ hiểu hơn đây là cái mặt nạ, bạn muốn nó thể hiện gì, giống cái gì là nó sẽ làm y hệt như vậy
VD: Bạn có 2 cuốn sách, bạn ra ngoài và chỉ đem theo 1 cuốn sách ảo. Thì bạn muốn đọc cuốn nào nó hóa thành cuốn ấy cho bạn -> Cuốn sách ảo là con trỏ.

Fact: Một số ngôn ngữ lập trình hiện đại thường không cho phép sử dụng con
trỏ vì nó không bảo mật, nhưng nhờ có con trỏ nên chúng ta mới có OOP ngày nay

Một số định nghĩa liên quan: (sẽ giúp ích)

Desktop Development - Lập trình ứng dụng (cho máy tính)
Mobile Development - Lập trình ứng dụng (cho điện thoại)
System Development - Lập trình hệ thống
Embedded Development - Lập trình Nhúng
IDE -  Integrated Development Environment - Môi trường phát triển tích hợp: 
   Đây là thứ giúp ích bạn rất nhiều hơn là ngồi code notepad.
GUI - Graphical User Interface - Giao diện đồ họa
Console - Giao diện dòng lệnh 
PL - Programming Language - Ngôn ngữ lập trình
Functional Programming - Lập trình hướng hàm
Object-Oriented Programming - Lập trình hướng đối tượng

Hôm nay tới đây thôi, nhiều quá loãng mất ^^. Mọi người cho em xin ý kiến nhá.
Nếu thấy hay thì đừng quên bấm Like ủng hộ tác giả. Thấy đở thì góp ý.
Cảm ơn các bạn.

16 Likes

Bài viết chi tiết hơn rồi bạn ơi :smiley:
Mình mạn phép góp ý như sau :slight_smile:
Nếu không phải thì bỏ qua nhé :joy:

Chỗ này có phải thiếu break không nhỉ ?

Chỗ này là tuổi++ phải không ?

1 Like

thanks bạn nhé ^^. Hình như có lỗi r ^^

2 Likes

Sửa được mà phải không :wink:
:smiley: Tiếp tục duy trì nhé

1 Like

cảm ơn bạn đã ủng hộ. ^^ dự là ngày mai có 1 bài nữa ^^

2 Likes

:sunglasses::sunglasses::sunglasses:
Keep Moving Forward

1 Like

Phần 3 đã ra lò Fastest way to learn basic of OOP [P3] rồi hú hú

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?