Làm Quen Với Khái Niệm Function

Cập nhật thông tin chi tiết về Làm Quen Với Khái Niệm Function mới nhất ngày 22/09/2020 trên website Zdungk.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 2,574 lượt xem.

Chào các bạn học viên đang theo dõi khóa học lập trình trực tuyến ngôn ngữ C++.

Trong bài học hôm nay, chúng ta sẽ cùng tìm hiểu một chủ đề rất quan trọng đối với phần C++ cơ bản, đó chính là Function (có thể gọi là Hàm).

Function (Hàm)

Có nhiều cách để nói về khái niệm function khác nhau.

Function là một đoạn các câu lệnh có thể tái sử dụng. Function cho phép lập trình viên cấu trúc chương trình thành những phân đoạn khác nhau để thực hiện những công việc khác nhau.

Các bạn đã từng sử dụng function (hàm) trong những bài học trước. Những hàm tính toán toán học trong thư viện cmath, những hàm xử lý C-style string thuộc thư viện cstring, hay thậm chí là hàm main mà các bạn đã nghe nói đến ở phần đầu của khóa học này.

Function (hàm) được người ta ví như một cái hộp đen, các bạn không biết bên trong nó là gì, nhưng nó có một đầu vào (input) và một đầu ra (output). Việc của các bạn khi sử dụng cái hộp đen này (thực hiện lời gọi hàm) là đưa những dữ liệu đầu vào tương thích vào đầu vào của nó, và nó sẽ cho bạn kết quả tại đầu ra.

Ví dụ:

#include <cstring> //...... char str[] = "This is a sample string"; int length = strlen(str); //use strlen function 

Mình hoàn toàn không biết bên trong hàm strlen gồm có những dòng lệnh gì, được thực hiện như thế nào, mà chỉ biết rằng hàm strlen có đầu vào là một chuỗi kí tự, đầu ra của nó là một giá trị đặc tả độ dài của chuỗi kí tự mình truyền vào.

Cứ mỗi lần các bạn sử dụng hàm trong một câu lệnh, chúng ta gọi đó là 1 lời gọi hàm ( function call). Chúng ta có thể thực hiện gọi hàm nhiều lần trong một chương trình, ví dụ:

char str1[] = "string 1"; char str2[] = "string 2"; if(strlen(str1) == strlen(str2))	{ //do something } 

Đây chính là khả năng tái sử dụng của hàm. Với một lần định nghĩa hàm, chúng ta có thể dùng nó nhiều lần (có thể với nhiều input khác nhau) tùy vào mục đích sử dụng.

Khai báo (declare) và định nghĩa (define) function

Một function (hàm) được tạo ra từ những yếu tố sau:

  • Kiểu trả về của hàm (data type of output).
  • Tên hàm (function name).
  • Danh sách tham số (function parameters).
  • Khối lệnh (block of statements).

Một hàm được định nghĩa thường nhằm để giải quyết một công việc nào đó (có thể thực hiện nhiều lần lặp đi lặp lại). Vì thế, tên hàm nên diễn đạt được tên công việc mà các bạn muốn máy tính thực hiện.

Thông thường, chúng ta sử dụng động từ để biểu diễn hành động, công việc cần thực hiện. Chúng ta cũng thường sử dụng động từ để đặt tên cho hàm. Ví dụ: moveUp, moveDown, turnLightOn, readFile, …

  • Hàm có thể có giá trị trả về hoặc không có giá trị trả về.
  • Hàm bắt buộc phải có tên, quy tắc đặt tên giống với quy tắc đặt tên biến.
  • Hàm có thể có 1 tham số, nhiều tham số hoặc không có tham số nào.
  • Khối lệnh phía sau hàm chứa những dòng lệnh mà nó sẽ được thực hiện trong mỗi lần gọi hàm.

Ví dụ:

Mình vừa định nghĩa 2 hàm mẫu có tên là additionintroduce, trong đó:

  • Hàm addition có kiểu trả về là int. Hàm introduce không có kiểu trả về (void).
  • Hàm addition nhận 2 giá trị đầu vào là 2 số nguyên. Hàm introduce không cần giá trị đầu vào nào cả.
  • Hàm addition có biến cục bộ tên là summary được khai báo bên trong khối lệnh. Hàm introduce không có biến nào được khai báo.
  • Hàm addition tính tổng giá trị của 2 biến ở đầu vào, và return giá trị tổng bằng từ khóa return. Hàm introduce không có giá trị trả về nên chưa cần sử dụng từ khóa return.

Các bạn cần đặt phần code định nghĩa các hàm nằm trên hàm main thì chúng ta mới có thể sử dụng chúng bên trong hàm main được. Cũng tương tự, nếu chúng ta gọi hàm A từ khối lệnh bên trong hàm B thì hàm A phải được định nghĩa bên trên hàm B.

Sử dụng hàm (do function call)

Cũng tương tự như cách các bạn sử dụng hàm của các thư viện có sẵn, nhưng chúng ta đã định nghĩa hàm additionintroduce bên trong file Zdungk.com nên chúng ta có thể gọi trực tiếp đến chúng mà không cần include thư viện nào khác.

int addition(int value1, int value2) { int sumary = value1 + value2; return sumary; } void introduce() { cout << "Hello!" << endl; cout << "I'm a program" << endl; } int main() { introduce(); int32_t i_value1 = 5; int32_t i_value2 = 7; int32_t sum = addition(i_value1, i_value2); cout << i_value1 << " + " << i_value2 << " = " << sum << endl; return 0; } 

  • Vì hàm introduce không có giá trị trả về nên chúng ta chỉ cần gọi tên của nó ra, và hàm introduce cũng không nhận giá trị đầu vào nào cả, nên chúng ta để trống bên trong cặp dấu ngoặc đứng sau lời gọi hàm.

  • Đối với hàm addition nó sẽ có giá trị trả về là kiểu số nguyên, nên mình khai báo thêm biến sum bên trong hàm main để lưu trữ giá trị sau khi tính toán của hàm addition. Ngoài ra, hàm addition yêu cầu 2 giá trị số nguyên làm đầu vào, nên mình đưa biến i_value1i_value2 vào cặp dấu ngoặc phía sau tên hàm.

Hoạt động bên trong lời gọi hàm

Mỗi hàm sẽ thực hiện một công việc mà lập trình viên định nghĩa cho chúng. Thông thường, một chương trình sẽ tạm thời gián đoạn một công việc đang được thực hiện để thực hiện công việc khác mà nó bắt buộc phải làm. Bạn có thể thấy điều này trong thực tế. Ví dụ, bạn đang đọc sách nhưng nhận được một cuộc gọi điện thoại từ người thân, bạn sẽ đánh dấu trang sách mà bạn đang đọc, thực hiện cuộc gọi, và trở lại đọc sách tại trang mà bạn đã đánh dấu.

Chương trình C++ làm việc tương tự như vậy. Chương trình đang thực hiện một chuỗi các câu lệnh bên trong khối lệnh hiện tại, đến khi 1 lời gọi hàm xuất hiện, nó nói với CPU tạm hoãn công việc trong khối lệnh hiện tại và chuyển đến thực thi hàm khác.

Sau khi thực hiện xong công việc bên trong hàm được gọi, CPU quay lại thực hiện các câu lệnh phía sau vị trí mà nó đã đánh dấu tại lời gọi hàm.

Địa chỉ của hàm (function address)

Khi chạy chương trình, những hàm được định nghĩa khác nhau cũng được cấp phát cho những vùng nhớ khác nhau nằm đâu đó trong thiết bị lưu trữ của máy tính. Có chút gì đó tương tự với biến ( variable) phải không các bạn?

Đối với biến ( variable), hệ điều hành cung cấp vùng nhớ cho nó để lưu trữ giá trị. Đối với hàm ( function), hệ điều hành cung cấp vùng nhớ cho nó để lưu trữ các đoạn mã lệnh.

  • Khi thực hiện lời gọi biến thông qua tên biến, chương trình tìm đến vùng nhớ mà tên biến đó đang nắm giữ để truy xuất giá trị của biến.

  • Khi thực hiện lời gọi hàm (function call) thông qua tên hàm, chương trình tạm gián đoạn công việc đang thực hiện, chuyển đến vùng nhớ mà hàm đó đang nắm giữ và thực hiện những mã lệnh trong vùng nhớ đó.

Mình sẽ cho các bạn xem địa chỉ của hàm addition và introduce trên máy tính của mình (kĩ thuật này mình sẽ nói đến trong các bài học tiếp theo):

Như các bạn thấy, hàm addition và introduce có 2 địa chỉ khác nhau trong bộ nhớ máy tính.

Sử dụng từ khóa return

Từ khóa return được sử dụng trong 2 ngữ cảnh khác nhau:

  • Đối với hàm không có giá trị trả về (hàm kiểu void):

    Đối với hàm kiểu void, từ khóa return chỉ có chức năng kết thúc công việc của hàm tại thời điểm sử dụng. Ví dụ:

     void doSomething() { return; //Terminates this function cout << "This line will not be displayed" << endl; } 

    Khi gặp từ khóa return trong hàm, các dòng lệnh đứng sau nó sẽ không được thực thi vì chương trình lúc này đã thoát khỏi khối lệnh của hàm. Chúng ta có thể xác định một số trường hợp cụ thể dẫn tới việc kết thúc hàm bằng một vài cấu trúc điều kiện. Ví dụ:

     void getValueFromKeyboard() { int32_t value; cin >> value; if(value < 0) return; else cout << value << endl; } 
  • Đối với hàm có giá trị trả về (hàm kiểu khác void):

    Đối với hàm có kiểu trả về khác void, từ khóa return là bắt buộc phải có. Từ khóa return trong trường hợp này có chức năng kết thúc công việc của hàm và trả về kết quả ( output của hàm), vì thế chúng ta cần có 1 giá trị (hoặc 1 biến) đi kèm với từ khóa return.

     int return5() { return 5; cout << "The end of the function" << endl; } 

    Lấy ví dụ như hàm return5 ở trên, một khi hàm này được gọi từ khối lệnh khác, giá trị 5 sẽ được trả về. Dòng lệnh đứng sau câu lệnh return sẽ không được thực thi.

Hàm main

Đã đến lúc chúng ta nhìn lại hàm main mà chúng ta vẫn khai báo hằng ngày để xem nó hoạt động thật sự như thế nào.

Khi chương trình C++ được thực thi, hệ điều hành thực hiện 1 lời gọi hàm đến địa chỉ của hàm main, và những mã lệnh bên trong hàm main được thực thi lần lượt từ trên xuống dưới. Cuối cùng, hàm main return 1 giá trị số nguyên (thường là 0) trở lại cho hệ điều hành. Đây là lý do hàm main được định nghĩa là int main() { }.

Tại sao hệ điều hành cần lấy được giá trị trả về của hàm main? Giá trị trả về của hàm main được gọi là status code, nó thông báo với hệ điều hành rằng chương trình có được thực hiện thành công hay không. Lập trình viên chúng ta thường quy ước rằng giá trị 0 nghĩa là thành công, giá trị âm nghĩa là có lỗi xảy ra trong chương trình.

Chúng ta có thể xem được status code sau khi debug chương trình bằng Visual studio 2020.

Việc sử dụng từ khóa return trong vòng lặp for đã giúp mình biết rằng có vấn đề xảy ra bên trong đoạn lệnh đó, như thế mình có thể sửa lỗi dễ dàng hơn.

Nguyên mẫu hàm (Function prototype)

Trong C++, mọi hàm muốn được sử dụng thì phải có đủ 2 phần: khai báo và định nghĩa. Trong phần khai báo, chúng ta cung cấp cho chương trình tên hàm, kiểu trả về, danh sách tham số đầu vào. Và phần định nghĩa chính là khối lệnh đứng sau phần khai báo hàm.

Ở những ví dụ trên, mình chọn cách vừa khai báo vừa định nghĩa hàm. Bên cạnh đó, C++ còn hổ trợ cho chúng ta tách 2 phần khai báo và định nghĩa ra thành 2 phần riêng biệt. Trong đó, phần khai báo nằm riêng gọi là nguyên mẫu hàm ( function prototype).

int add(int value1, int value2); //function prototype 

Mình lấy ví dụ trên đây là một function prototype. Phần định nghĩa của hàm này vẫn chưa có, vì vậy, nếu các bạn thực hiện gọi hàm add(int, int) thì chương trình sẽ báo lỗi.

Định nghĩa cho function prototype

Việc định nghĩa cho nguyên mẫu hàm cần đảm bảo rằng các bạn ghi đúng thông tin các bạn đã cung cấp trong phần khai báo. Phần định nghĩa phải đặt ở đâu đó phía dưới phần khai báo.

int add(int i1, int i2) { return i1 + i2; } 

Vậy là mình vừa định nghĩa xong cho nguyên mẫu hàm add(int, int) mà mình vừa khai báo ở trên. Các bạn có thấy điều gì đặc biệt không? Đó chính là trong nguyên mẫu hàm mình đặt tên cho 2 tham số là value1value2 nhưng khi định nghĩa mình lại đối tên chúng thành i1i2. Điều này không quan trọng. Khi khai báo nguyên mẫu hàm các bạn có thể chưa cần cung cấp tên biến của tham số, mà chỉ cần quan tâm đến kiểu dữ liệu của mỗi tham số.

int add(int, int); // receive 2 integer as input 

Tại sao lại phải sử dụng function prototype?

Việc sử dụng function prototype hay không không quan trọng. Điều này là tùy vào mỗi người. Nhưng sử dụng function prototype có thể giúp chương trình của các bạn rõ ràng hơn.

Đặt trường hợp chương trình của bạn có rất nhiều hàm cần được xử lý, thế rồi các bạn định nghĩa hàm tràn lan ra file mã nguồn. Đến khi nhìn lại mã nguồn sẽ rất rối mắt. Thay vào đó, chúng ta khai báo hết các nguyên mẫu hàm cần sử dụng phía trên cùng của file mã nguồn, sau đó phần định nghĩa nằm bên dưới. Lúc cần tìm xem chương trình của chúng ta có những hàm nào, chỉ cần kéo lên trên để xem là được.

Ví dụ:

float add(float, float); float sub(float, float); void doSomething(); //............... float add(float f1, float f2) { return f1 + f2; } float sub(float f1, float f2) { return f1 - f2; } void doSomeThing()	{ //do something } 

Phím tắt trong Visual studio 2020 khi thao tác với function prototype

  • Để chuyển đến phần định nghĩa của nguyên mẫu hàm, các bạn click chuột trái vào tên hàm của nguyên mẫu hàm và nhấn phím F12, Visual studio sẽ tự động di chuyển con trỏ đến phần định nghĩa.

  • Trường hợp nguyên mẫu hàm chưa được định nghĩa, con trỏ sẽ không di chuyển đi đâu cả sau khi nhấn phím F12. Visual studio 2020 có thể giúp bạn tạo ra mẫu định nghĩa nguyên mẫu hàm tự động bằng cách click chuột trái vào tên hàm của nguyên mẫu hàm, nhấn tổ hợp phím Ctrl + > và nhấn Enter.

  • Ngược lại, nếu các bạn đang ở phần định nghĩa hàm và muốn tìm đến vị trí khai báo nguyên mẫu hàm, các bạn click vào tên hàm của phần định nghĩa và nhấn phím F12. Visual studio sẽ chuyển con trỏ đến vị trí nguyên mẫu hàm nếu có.

Thử định nghĩa lại một số hàm toán học thông dụng

Bây giờ chúng ta cùng thử định nghĩa lại một số hàm cơ bản trong thư viện cmath mà các bạn đã được học trong các bài học trước.

(Mình làm điều này chỉ để giúp các bạn hiểu hơn về cách khai báo, định nghĩa, và sử dụng hàm cơ bản. Bài học này chỉ giúp các bạn có cái nhìn đầu tiên về hàm (function) trong C++, mình sẽ làm rõ các phần chi tiết về hàm trong những bài học tiếp theo).

  • Hàm pow:

    Hàm pow trong thư viện cmath giúp chúng ta tính lũy thừa của một cơ số (base) với số mũ (exponential) cho trước. Các bạn tính lũy thừa không sử dụng công cụ hổ trợ tính toán như thế nào? Cách chúng ta thường sử dụng là nhân exponential lần giá trị base lại với nhau.

     float myPow(float base, int32_t exponential) { float result = 1; //calculate power of base for(int32_t i = 1; i <= exponential; i++) result *= base; return result; } 

    Trong thân hàm, mình sử dụng biến result để lưu trữ giá trị tính toán, sau khi thực hiện trả về giá trị lũy thừa đã tính, biến result sẽ bị hủy và kết thúc công việc của hàm myPow.

  • Hàm abs:

    Tương tự đối với hàm abs trong thư viện cmath, hàm này sẽ trả về giá trị là giá trị tuyệt đối của một giá trị đầu vào. Vì thế, hàm này sẽ có kiểu dữ liệu trả về khác kiểu void.

     float myAbs(float value) { if(value < 0) return -value; else return value; } 

Như vậy chúng ta đã có một số hàm cơ bản như tính lũy thừa, tính giá trị tuyệt đối, chúng ta có thể gọi trực tiếp hàm myPow hoặc myAbs mà không cần phải thực hiện include thư viện cmath vào nữa.

Tuy nhiên, mình không khuyên các bạn làm lại những thứ đã có sẵn.

Tổng kết

Function (hàm) là một khái niệm quan trọng giúp các bạn thiết kế chương trình một cách đơn giản hơn. Trong bài này, chúng ta chỉ mới có cái nhìn đầu tiên về cách khai báo, định nghĩa và sử dụng hàm. Mình sẽ hướng dẫn các bạn cách tổ chức chương trình với các hàm một cách cụ thể trong các bài học tiếp theo.

Hẹn gặp lại các bạn trong bài học tiếp theo trong khóa học lập trình C++ hướng thực hành.

Mọi ý kiến đóng góp hoặc thắc mắc có thể đặt câu hỏi trực tiếp tại diễn đàn.

www.daynhauhoc.com

Link Videos khóa học

Udemy

Udemy is the world’s largest destination for online courses. Discover an online course on Zdungk.com and start learning a new skill today.

Liên quan

Ethernet Switch Có Chức Năng Gì? - Xem 21,384

Ethernet Switch có chức năng gì? Switch là một thiết bị chọn lựa đường dẫn để gửi frame đến đích, hoạt động ở Lớp 2 của mô hình OSI. Đôi khi Switch còn được gọi là Bridge đa port hay Hub chuyển mạch. Switch quyết định chuyển frame dựa trên ... Switch giới hạn lưu lượng băng thông chỉ chuyển gói tin đến đúng cổng cần thiết dựa trên địa chỉ MAC Lớp 2. * Tăng nhiều hơn lượng băng thông dành cho mỗi người dùng bằng cách tạo ra miền đụng độ nhỏ hơn. Switch bảo đảm cung cấp băng thông nhiều hơn cho người dùng bằng cách tạo ra các miền đụng độ nhỏ hơn. Switch chia nhỏ mạng LAN thành nhiều đoạn mạng (segment)


Oxit Axit Là Gì? Tính Chất Hóa Học Và Hướng Dẫn Bài Tập Oxit Axit - Xem 18,513

Oxit axit là các oxit khi tác dụng với nước sẽ tạo ra axit, tác dụng với kiềm tạo thành muối hóa học. Oxit axit thường là oxit của phi kim ứng với một axit hoặc kim loại có hóa trị cao. Vậy tính chất hóa học của oxit axit ... Vậy tính chất hóa học của oxit axit là gì? Cách giải bài tập oxit axit tác dụng với bazo như thế nào? Cách gọi tên oxit axit Tên oxit axit: (Tên tiền tố chỉ số nguyên tử của phi kim) + Tên phi kim + (tên tiền tố chỉ số nguyên tử oxi) + ''Oxit'' Tính chất hóa học của oxit axit Trừ SiO 2 thì hầu hết các oxit axit đều tan trong nước để tạo thành dung dịch axit. Tác dụng với oxit bazo tan để tạo


Drama Là Gì ? Ý Nghĩa Của Từ Drama Trên Facebook Là Gì? - Xem 15,840

Xã hội ngày càng phát triển kéo theo nhiều trào lưu xuất hiện, các thuật ngữ, ngôn từ mới lạ ngày càng nhiều trên các mạng. Những nội dung, các câu chuyện có tính chất kịch tính, gay cấn kéo dài luôn dành được sự quan tâm của các bạn ... Phim nói về một câu chuyện xây dựng dựa trên nhân vật thật hoặc hư cấu. Nội dung về quá khứ, hiện tại hoặc tương lai về những điều trong cuộc sống, tình cảm, xã hội,... Với những tình tiết hoàn cảnh đẩy cảm xúc của người xem lê cao trào tột cùng hay còn được gọi là cẩu huyết. Có một thể loại phim drama đang phát triển hiện nay đó là web


Giải Vbt Vật Lý Lớp 6 - Xem 11,880

Giải bài tập môn Vật lý 6 Giải VBT Vật lý lớp 6 – Bài 8: Trọng lực – Đơn vị lực là tài liệu tham khảo môn Vật lý 6 hay dành cho các em học sinh, giúp các em ôn tập và củng cố kiến thức đã học ... Nhưng Mặt Trăng không bị rơi vào Trái Đất. Vì lực hút chỉ có tác dụng làm Mặt Trăng quay tròn quanh Trái Đất. Con tàu vũ trụ cũng ở vào tình trạng như Mặt


Đa Dạng Sinh Học Là Gì? Nguyên Nhân, Biện Pháp Hạn Chế Suy Giảm Đa Dạng Sinh Học - Xem 11,286

Đa dạng sinh học là sự phong phú của nhiều nhiều dạng, loài và các biến dị di truyền của mọi sinh vật trong đời sống tự nhiên, sự đa dạng và phong phú này được chia làm nhiều cấp độ tổ chức sinh giới đặc biệt là với các ... Chúng ta cũng có thể tìm hiểu thêm về tính đa dạng và phong phú của chúng trên thế giới hay cụ thể hơn là tại Việt Nam. Mất đa dạng sinh học trên thế giới Tìm hiểu về khái niệm đa dạng sinh học là gì chúng ta có thể tìm hiểu thêm về thực trạng chung trên thế giới hiện nay, trong đó có 3 thực trạng cũng là 3 mối lo chính được xác định tính tới thời điểm hiện tại trước nguy cơ


Kimochi Yamate Là Gì? Ý Nghĩa Của I Cư Kimochi Yamete Trong Tiếng Nhật? - Xem 11,286

Kimochi Yamate hay i cư kimochi và i kư kimochi là những thuật ngữ, cụm từ được sử dụng khả phổ biến trong thời đại hiện nay. Nhưng bạn có thật sự hiểu được nghĩa của từ kimochi là gì? Ở bài viết dưới đây, Zdungk.com sẽ giải đáp toàn ... Nhưng bạn có thật sự hiểu được nghĩa của từ kimochi là gì? Ở bài viết dưới đây, chúng tôi sẽ giải đáp toàn bộ thắc mắc về hay Kimochi Yamate. Mời các bạn cùng tham khảo. Kimochi là gì? Nhắc đến Kimochi thì hầu như ai cũng biết đây là âm thanh quen thuộc được nhắc đến tại xứ sở hoa anh đào - Nhật Bản. Và ở trong tiếng Nhật thì Kimochi là từ nghĩa mang hàm ý biểu đạt cảm xúc,


Z Là Gì Trong Toán Học? - Xem 10,593

Bạn có từng nghe về tập hợp R trong toán học chưa? Hẳn là rất rất quen phải không? Dĩ nhiên rồi vì lớp 6 lớp 7 chúng ta được học cái này mà. Vậy Z là gì trong toán học nhỉ? “Tập hợp Z là tập hợp các số ... Tương tự như các tập hợp số khác, tập hợp Z cũng là một tập hợp vô hạn. Ví dụ về các bài toán sử dụng tập hợp z- (số nguyên) Trong toán học, các dạng bài tập về số nguyên thường rất đa dạng. Nhưng loại tập hợp này thường chỉ được ra điều kiện trong một bài toán khó. Hoặc ở các chương trình nhỏ hơn chẳng hạn toán lớp 6, số nguyên lại được sử dụng như một bài toán


Tb Là Gì Trên Facebook? - Xem 9,999

TB nghĩa là gì? TB là viết tắt của từ gì? TB là 1 từ viết tắt có rất nhiều nghĩa tiếng việt và tùy từng ngữ cảnh mà ta hiểu nó sẽ có nghĩa là gì, dưới đây là các nghĩa hay được sử dụng nhất của từ viết ... Đơn vị này cao cấp hơn Gigabyte - GB. 1 TB = 1024 GB 5 TB = 5120 GB 10 TB = 10240 GB Ví dụ: Bạn có ổ cứng dung lượng 2 TB tức là ổ cứng của bạn bằng 2048 GB Một bộ phim, thư mục, video có dung lượng 1TB tức là 1048 GB -phim HD dung lượng cao. Vậy nếu bạn thấy đứng đằng trước TB là 1 con số thì nó thường là viết tắt của cụm từ Terabyte TB trên Facebook nghĩa là gì? Đối với


Số Cvv/cvc Trên Thẻ Atm Vietcombank Là Gì? - Xem 9,603

Số Cvv/Cvc trên thẻ atm đang được rất nhiều chủ thẻ quan tâm. Nhất là với những người dùng thẻ atm Vietcombank. Vậy số Cvv/Cvc trên thẻ atm vietcombank là gì? Bị lộ có sao không? Số Cvv/Cvc trên thẻ atm vietcombank là gì? Không phải ai dùng thẻ atm ... Có thể bị tấn công tài khoản và mất tiền bất cứ lúc nào. Theo như các cuộc khảo sát lớn trên thế giới thì khách hàng thường bị đánh cắp thông tin số Cvv/Cvc nhiều nhất ở các trung tâm mua bán điện máy, điện thoại. Trong các giao dịch mua sắm trực tuyến. Đôi khi website không yêu cầu nhập mã pin và cũng không cần mã OTP mà chỉ cần số Cvv/Cvc là


Mã Zip Iphone Là Gì? - Xem 9,108

Zip Code (mã zip) là một trong những khái niệm không quá xa lạ đối với thế hệ trẻ. Chúng liên quan trực tiếp tới quy trình giao – Nhận bưu kiện khi mua sắm online hay đặt hàng thông qua các ứng dụng giao dịch trực tuyến. Không chỉ ... Đồng thời, chúng cũng khá phổ biến trong phần giới thiệu các dòng thiết bị. Sự khác biệt cơ bản giữa mã zip iphone với các loại mã khác đó là về tính năng. Loại mã zip này cho phép Apple kiểm tra vị trí, thông tin cơ bản và phương thức thanh toán của người tiêu dùng trong quá trình đặt mua, vận chuyển và thanh toán các loại thiết bị do họ phân phối. Do đó, trong quá trình đăng ký ID


Đề xuất

Các Quyền Của Host Và Cách Chỉ Định Co - Xem 2,772

Là host (người tổ chức cuộc họp), bạn có quyền kiểm soát mọi khía cạnh khác nhau của cuộc họp/buổi học trực tuyến trong Zoom, chẳng hạn như quản lý những người tham gia. Tính năng co-host (đồng tổ chức cuộc họp) cho phép host chia sẻ đặc quyền của ... Bạn cần liên hệ với quản trị viên. Cách chỉ định co-host trong Zoom Cách 1: Host đi tới video của người mà mình muốn chỉ định, nhấp vào dấu 3 chấm và chọn Make Co-Host. Nhấp vào dấu 3 chấm và chọn Make Co-Host Bước 1: Nhấp vào Manage Participants Bước


Những Thói Quen Tích Cực Thay Đổi Cuộc Đời - Xem 2,475

Thói quen là một trong những yếu tố quyết định sự thành bại của cuộc đời mỗi người. Nếu bạn muốn có một cuộc đời viên mãn, bạn phải hình thành càng nhiều thói quen tích cực càng tốt. Càng có nhiều thói quen tốt thì bạn càng trở nên ... Tuy nhiên để hành động một cách hiệu quả, bạn cần phải tuân theo những chỉ dẫn đúng đắn. Khi lặp lại thường xuyên sẽ dẫn đến thay đổi trong cách cư xử và hình thành nên thói quen. Trong trường hợp không tìm thấy động lực trong


Omegaverse Là Gì? Tất Tần Tật Những Gì Cần Biết Về Abo - Xem 2,871

Do trong tương lai mình định dịch 1 số fic về Omegaverse hay còn gọi là ABO!AU (Alternative Universe – thể giới song song) nên mình quyết định làm 1 bài post giải thích về AU này cho những ai chưa biết. Hơi dài nhưng khuyến khích các bạn đọc ... Omega bị họ bỏ rơi sẽ phải sống cả đời trong cô đơn và k thể đi tìm alpha mới. 4. Mối quan hệ giữa Alpha - Omega sau khi kết đôi là như thế nào? Mối quan hệ giữa Alpha và Omega (sau khi kết đôi) có thể coi như Mệnh lệnh của Alpha và tuyệt đối


Icloud Là Gì, Tầm Quan Trọng Ra Sao - Xem 2,574

iCloud là khái niệm quen thuộc với nhiều người dùng iPhone, iPad… Tuy nhiên bản chất của nó là gì, tầm quan trọng ra sao, vẫn còn nhiều bì ẩn. Cùng Điện máy XANH khám phá nhé! iCloud là gì? iCloud là một gói gồm nhiều dịch vụ đám mây ... Như vậy, có thể nói tài khoản iCloud (hay còn gọi là AppleID) quan trọng như bản thân thiết bị, việc quên password hay bị người khác đăng nhập tài khoản iCloud vào thiết bị sẽ làm cho chúng ta mất quyền sử dụng thiết bị. Hãy lưu lại AppleID và passsword


Review Whoo Ja Saeng Essence: Làn Da Cải Thiện Rõ Rệt Chỉ Sau 2 Tuần - Xem 2,574

Thông tin từ nhà sản xuất Thương hiệu Whoo (còn gọi là The history of Whoo) là một trong những thương hiệu mỹ phẩm cao cấp nhất Hàn Quốc thuộc tập đoàn LG Household Care. Các sản phẩm của Whoo sử dụng những công thức làm đẹp được cho là ... Các sản phẩm của Whoo sử dụng những công thức làm đẹp được cho là bí mật của triều đình với thành phần chứa những thảo dược thiên nhiên. Whoo Ja Saeng Essence có thành phần độc quyền Siêu Tử Hà Bí Đơn - kết hợp cùng 3 phương


Bạn đang xem bài viết Làm Quen Với Khái Niệm Function trên website Zdungk.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!