Bạn đang xem bài viết Bài 5. Hàm Và Mảng Trong C++ được cập nhật mới nhất trên website Hoisinhvienqnam.edu.vn. 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.
Ở bài này chúng ta sẽ tiếp tục với 2 khái niệm vô cùng quan trọng trong ngôn ngữ lập trình C++. Như ví dụ ở các bài trước chúng ta thấy 1 vài điều sau đây
và một hàm đặc trưng
int main() hay void main(). Đây là các ví dụ cơ bản về hàm và mảng. Chúng ta sẽ bắt đầu trước với Hàm.
Hàm là khái niệm để mô tả một khối lệnh trực tiếp có tên và kiểu dữ liệu, giống hệt với một biến. Hay nói chính xác Hàm() là một biến mà có thêm các câu lệnh thực thi biểu diễn cho biến đó. Do có cùng tính chất, cho nên hàm cũng có khai báo giống như biến, cũng bắt đầu bằng kiểu dữ liêu + tên hàm thêm () và {} lệnh được biểu diễn trong {} gọi là khối lệnh. Có một lưu ý đặc biệt là khi mà khai báo Hàm() với kiểu dữ liệu khác void thì phải trả về giá trị cuối cùng là 1 biến hoặc các ký tự, mảng, … thuộc cùng kiểu dữ liệu của Hàm(). ví dụ:
int main() { return 0.
Hàm main là một hàm đặc biệt, chương trình chỉ chạy khi các hàm khác được khai báo trong hàm main(). Vì vậy trong mỗi chương trình để máy tính có thể compile( từ giờ đây sẽ là thuật ngữ cho từ ‘ biên dịch’ ) được . Một cách hiểu khoa học cho kiểu dữ liệu ‘void’ là trả về một cách không có gì cả, ví dụ:
void main() { return;.Chúng ta sẽ bắt đầu một vài ví dụ về hàm:
Ví dụ trên đã cho ta thấy cách sử dụng cơ bản của hàm trong ngôn ngữ lập trình C++ . Tiếp theo chúng ta sẽ tìm hiểu về các giá trị trong một mảng.
Mảng giá trị là một biến , trong biến đó có thể chứa các giá trị nhỏ hơn bên trong, giống như một cái túi đựng các đồ vật,mảng được khai báo như sau:
kiểu_dữ_liệu + tên_mảng + [số_lượng_phần_tử_mảng_có_thể_chứa]ví du:
int so_tu_nhien_be_hon10[9];Mỗi một phần tử trong mảng đều có cùng kiểu dữ liệu với mảng. Phần tử đầu tiên trong mảng được bắt đầu bằng 0. Do đó mảng [9] có tổng cộng 10 phần tử có thể lưu được.Đối với khai báo mảng ta cần lưu ý về kích thước, có thể khai báo kích thước bào nhiều cũng được tùy ý, tuy nhiên khi thêm phần tử vào mảng thì số phần tử không được vượt quá kích thước mảng .Ví dụ về tạo mảng và thêm dữ liệu liên tục cho mảng:
Vậy là chúng ta đã tìm hiểu sơ lược về hàm và mảng , cách sử dụng hàm và mảng. Bài tiếp theo chúng ta sẽ tìm hiểu về tham chiếu, tham trị trong ngôn ngữ lập trình C++.
Hàm Mảng Động Trong Excel
Dynamic Array Formulas hay tên tiếng Việt là hàm mảng động được giới thiệu trong bản Public Preview của Excel vào ngày 24 tháng 9 năm 2018 mới đây sẽ có mặt trong bản Office 365 tiếp theo. Bạn đang tò mò hàm mảng động là hàm gì, thì trong bài viết này Học Excel Online sẽ bật mí cho bạn điều này. Hàm mảng động bao gồm những hàm Excel như SORT, SORTBY, FILTER, UNIQUE, SEQUENCE và RANDARRAY. Bình thường, khi bạn điền công thức vào 1 ô trong bảng tính Excel, thì công thức chỉ có tác dụng điền dữ liệu vào chính ô đó mà thôi trừ khi bạn sử dụng 1 addin khác như Hàm HEO_ARRAYFORMULA tự resize kết quả. Với sự nâng cấp đáng kể này thì Microsoft đã tăng sức mạnh của Excel lên nhiều lần và mở rộng khả năng ứng dụng của hàm Excel vào những vấn đề mà trước kia chỉ có thể sử dụng VBA để can thiệp. Giờ đây, ngay trong Excel, bạn có thể sắp xếp, lọc, tìm giá trị duy nhất hoàn toàn bằng công thức Excel.
OK, nghe vậy là thấy thích rồi. Bạn sẽ có câu hỏi rằng, tôi đang dùng Excel 2016, hoặc thậm chí Excel 2019 thì liệu bạn có thể dùng những hàm này hay không? Câu trả lời là, hiện nay, trừ khi bạn sử dụng Excel của Office 365 thì bạn mới có thể sử dụng những tính năng này. Nếu cơ quan của bạn sử dụng bộ Office 365, thì may mắn cho bạn. Nếu bạn mua Office 2016 bản standalone, thì bạn không thể sử dụng các tính năng mới này.
Serie video về hàm mảng động trong Excel:
Khả năng tự mở rộng / resize mảng kết quả của Excel
Giả sử bạn điền công thức =A2:C10 trong ô E3. Trước kia, kết quả bạn nhận được sẽ là lỗi #VALUE! nếu bạn nhập công thức 1 cách bình thường bằng cách bấm nút Enter trên bàn phím. Trong trường hợp, bạn nhập công thức đó với tổ hợp phím CTRL + SHIFT + ENTER để nhập vào một công thức mảng thì kết quả nhận được sẽ là East và công thức ở E3 sẽ có dạng {=A2:C10}. Công thức đó sẽ chỉ có tác động tới ô E3,
Kết quả cụ thể trông sẽ như sau:
Lỗi #SPILL! khi có dữ liệu nằm trong vùng mở rộng của công thức
Nguồn [1] Excel Dynamics Array Straight To The Point – Bill Jelen.
Khái Niệm Thư Viện Và Hàm Main Trong C++
Để bắt đầu tìm hiểu C++ thì bắt buộc bạn phải hiểu hai khái niệm thư viện và hàm main vì trong chương trình đầu tiên mà bạn học sẽ phải khai báo sử dụng thư viện và viết những đoạn code chính trong hàm main.
Trước khi vào tìm hiểu thì ta sẽ viết một chương trình Hello World trước.
1. Chương trình Hello World
Đầu tiên bạn tạo một file HelloWorld.cpp sau đó nhập đoạn code sau:
void main() { cout<<"Hello World!"<<endl; }2. Khai báo thư viện trong C++
Khi chúng ta lập trình một phần mềm hoặc một chương trình dù nhỏ hay lớn thì đều phải thao tác với các thiết bị của máy tính như bàn phím, chuột, màn hình để nhận dữ liệu nhập vào và in kết quả trả về. Vấn đề đặt ra là để thao tác được với các thiết bị đó thì chúng ta sẽ phải lập trình thì máy tính mới giao tiếp được, nhưng công việc đó không hề đơn giản và mất thời gian. Vì vậy người ta đã viết sẵn ra các thư viện để khi muốn sử dụng thì chỉ cần khai báo.
Thư viện trong lập trình là một khái niệm mà mọi người sẽ bắt gặp rất nhiều ở hầu hết các ngôn ngữ lập trình. Ta có thể định nghĩa nôm na như sau: Thư viện trong lập trình là nơi cung cấp sẵn cho chúng ta những hàm những phương thức có thể sử dụng được ở nhiều chương trình giúp rút ngắn thời gian lập trình lại. Hiện nay hầu hết các trình soạn thảo C++ luôn cung cấp đầy đủ các thư viện cần thiết giúp lập trình viên có thể khai thác được một cách dễ dàng. Các thư viện luôn được tích hợp sẵn trong các trình soạn thảo code nhưng khi chúng ta bắt đầu viết code vẫn phải có thao tác đó là khai báo những thư viện nào cần cho chúng ta khi code.
Để khai báo sử dụng thư viện trong C++ thì ta sử dụng cú pháp sau:
Từ khoá #include chỉ cho trình biên dịch biết rằng chúng ta cần sử dụng thư viện được khai báo và nó sẽ tự động thêm vào cho chúng ta.
Tôi xin giới thiệu một số thư viện thường gặp trong lập trình C++:
iostream.h ( thư viện này chứa hàm xuất nhập cout và cin)
stdio.h ( nó chứa hàm scanf,printf…)
conio.h ( nó chứa hàm clrscr,getch…)
math.h ( nó chứa hàm toán học như sqrt, abs, pow)
string.h (nó chứa các hàm về chuỗi )
Đối với một chương C++ trình nhập xuất căn bản thì bắt buộc ta phải sử dụng thư viện iostream.h.
3. Hàm main() là gì?
Sau khi các bạn đã hiểu thế nào là thư viện và cách khai báo sử dụng một thư viện như thế nào thì chúng ta sẽ bắt đầu vào phần tiếp theo cần tìm hiểu đó là hàm main().
Theo tiếng Anh main dịch ra có nghĩa là chính, quan trọng, vậy trong C++ nó cũng có ý nghĩa như tên gọi đó. Trong lập trình thì trình biên dịch sẽ xử lý code từ trên xuống dưới và từ trái qua phải. Nhưng với hàm main thì hơi đặc biệt chút, hàm main là nơi chứa những đoạn code sẽ được chạy đầu tiên, nghĩa là khi biên dịch chương trình thì nội dung trong hàm main sẽ được chạy đầu tiên mà không quan trọng vị trí của nó trong file.
Ví dụ: Viết chương trình in ra màn hình dòng chữ “Hello Freetuts.net”.
void main () { cout << "Hello Freetuts.net!"; }Ở ví dụ này mình có sử dụng hàm xuất cout, hàm này sẽ in ra màn hình một dòng chữ nào đó. Chúng ta sẽ tìm hiểu nó ở các bài tiếp theo.
Trong một chương trình C+ thì bắt buộc phải có hàm main và bạn không thể viết nội dung trong hàm main ở bên ngoài được vì như vậy sẽ bị báo lỗi ngay.
4. Lời kết
Như vậy là mình đã giới thiệu xong khái niệm về thư viện và hàm main() trong lập trình C++. Bạn phải chắc chắc chắn rằng hiểu những gì mình đã trình bày ở trên để có thể học bài tiếp theo. Bài tiêp theo mình sẽ giới thiệu hai hàm thường sử dụng đó là hàm cin và cout.
Đọc Và Ghi File Trong Java (Bài 5)
Đọc và ghi file trong java là các hoạt động nhập/xuất dữ liệu (nhập dữ liệu từ bàn phím, đọc dữ liệu từ file, ghi dữ liệu lên màn hình, ghi ra file, ghi ra đĩa, ghi ra máy in…) đều được gọi là luồng (stream).
Đọc và ghi file trong java – Các loại luồng dữ liệu
Bước 1: Tạo đối tượng luồng và liên kết với nguồn dữ liệu.
Bước 2: Thao tác dữ liệu (đọc hoặc ghi hoặc cả hai).
Bước 3: Đóng luồng.
Xử lý nhập xuất dữ liệu sử dụng luồng byte
Sử dụng luồng byte trong các trường hợp như nhập xuất kiểu dữ liệu nguyên thủy (như kiểu int, float, double, boolean), nhập xuất kiểu dữ liệu kiểu đối tượng (object)
Đọc và ghi dữ liệu nhị phân (binary data)
package file_handling; import java.io.DataOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * * @author chúng tôi */ public class DataOutputExample { public static void main(String[] args) { try {Ví dụ 2: Đọc dữ liệu chứa trong tập tin d:/mydata.bin với DataInputStream
package file_handling; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /** * * @author chúng tôi */ public class DataInputExample { public static void main(String[] args) { try {Ví dụ 3: Đọc và ghi dữ liệu kiểu object
Tạo lớp Stock và lớp này phải cài đặt giao diện Serializable
package file; import java.io.Serializable; /** * * @author chúng tôi */ public class Stock implements Serializable{ private int id; private String desc; private double price; private int quantity; public Stock(int id, String desc, double price, int quantity) { chúng tôi = id; chúng tôi = desc; this.price = price; this.quantity = quantity; } @Override public String toString() { return id + "-" + desc + "-" + price + "-" + quantity; } }Tạo lớp ObjectOutputExample dùng để ghi dữ liệu kiểu object
package file; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; /** * * @author chúng tôi */ public class ObjectOutputExample { public static void main(String[] args) { try {Tạo lớp ObjectInputExample dùng để đọc dữ liệu kiểu object
package file; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.ObjectInputStream; /** * * @author chúng tôi */ public class ObjectInputExample { public static void main(String[] args) { try {Xử lý nhập xuất dữ liệu bằng luồng character
Luồng byte rất mạnh mẽ và linh hoạt. Tuy nhiên nếu bạn muốn lưu trữ file chứa văn bản Unicode thì luồng character là lựa chọn tốt nhất vì ưu điểm của luồng character là nó thao tác trực tiếp trên ký tự Unicode.
Tất cả các luồng character đều được kế thừa từ 2 lớp Reader và Writer
Ví dụ 1: Ghi dữ liệu với FileWriter
package file_handling; import java.io.File; import java.io.FileWriter; import java.io.IOException; /** * * @author chúng tôi */ public class FileWriterExample { public static void main(String[] args) { try {Ví dụ 2: Đọc dữ liệu với FileReader
package file_handling; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** * * @author chúng tôi */ public class FileReaderExample { public static void main(String[] args) { try {Đọc và ghi file trong java – Thực hành
Tạo package tên file và thực hiện các yêu cầu bên dưới
Bài thực hành số 1: Tạo lớp NhanVien có các thuộc tính mã nhân viên, họ tên, tuổi và lương.
Viết setter, getter, constructor và toString.
Viết phương thức cho phép nhập thông tin cho 3 nhân viên từ bàn phím. Sử dụng FileWriter để ghi thông tin vào nhanvien.txt.
Viết phương thức để đọc nội dung file chúng tôi và in những gì đọc được từ file ra màn hình.
Bài thực hành số 2: Tạo lớp mới và thực hiện các xử lý sau
Viết phương thức tạo mảng 3 nhân viên, nhập thông tin cho các nhân viên, sử dụng ObjectOutputStream để ghi mảng đối tượng nhân viên vào file nhanvien.bin
Viết phương thức để đọc file chúng tôi và in mảng nhân viên ra màn hình.
Cập nhật thông tin chi tiết về Bài 5. Hàm Và Mảng Trong C++ trên website Hoisinhvienqnam.edu.vn. 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. Chúc bạn một ngày tốt lành!