Hàm halt trong pascal trong c++ là hàm gì năm 2024

Như chúng ta đã tìm hiểu, khi chạy một chương trình C++, CPU bắt đầu thực thi các câu lệnh tại điểm trên cùng của hàm main, thực hiện lần lượt các câu lệnh từ trên xuống dưới, và kết thúc tại điểm dưới cùng của hàm main. Chuỗi các câu lệnh được CPU thực thi gọi là program's path. Phần lớn các chương trình mà bạn từng thấy được thực thi theo dạng straight-line (tuần tự từ trên xuống dưới). Tuy nhiên, trong một số trường hợp, đây không phải là điều chúng ta muốn.

Ví dụ nếu chúng ta yêu cầu người dùng đưa ra một lựa chọn, và người dùng nhập vào lựa chọn không phù hợp, chúng ta nên yêu cầu người dùng đưa ra một lựa chọn khác. Với cấu trúc chương trình dạng straight-line, điều này là bất khả thi.

Một trường hợp khác, chúng ta muốn chương trình thực hiện lặp đi lặp lại một công việc nào đó với số lần thực hiện chưa biết trước. Ví dụ chúng ta muốn in ra điểm số của một trò chơi trên màn hình cho đến khi trò chơi kết thúc, chúng ta không thể biết chính xác thời điểm kết thúc trò chơi là khi nào.

Do đó, ngôn ngữ C++ cung cấp các cấu trúc điều khiển (control flow statements) nó cho phép lập trình viên thay đổi hướng đi của chương trình. Có một số dạng cấu trúc điều khiển khác nhau và mình sẽ giới thiệu sơ lược để các bạn có sự hình dung ban đầu.

Halt

Cấu trúc điều khiển dừng (halt) là một cấu trúc thường gặp, nó yêu cầu chương trình ngừng làm việc ngay lập tức. Trong C++, cấu trúc Halt có thể được thực hiện thông qua hàm exit() trong thư viện cstdlib. Hàm exit nhận vào một giá trị số nguyên và nó sẽ được trả về cho hệ điều hành như một mã kết thúc chương trình, tương tự như giá trị trả về của hàm main.

Đây là đoạn chương trình mẫu cho việc thực hiện cấu trúc điều khiển Halt:


# include <iostream>

# include <cstdlib>
using namespace std;
int main()
{
  cout << "This line is printed out." << endl;
  exit(-1); //Terminate and return -1 to operating system. 
  cout << "This line will never be printed out." << endl;
  system("pause");
  return 0;
}

Jumps

Cấu trúc điều khiển tiếp theo mình muốn đề cập đến là Jump. Cấu trúc Jump không điều kiện khiến CPU nhảy đến thực thi một số các câu lệnh khác. goto, break, continue là các từ khóa được sử dụng trong cấu trúc Jump, chúng có kiểu Jump khác nhau, chúng ta sẽ được tìm hiểu chi tiết trong các bài học sắp tới.

Cấu trúc rẽ nhánh có điều kiện

Cấu trúc rẽ nhánh có điều kiện khiến chương trình thay đổi hướng thực thi dựa trên giá trị của biểu thức điều kiện (hoặc các mệnh đề). Tiêu biểu cho cấu trúc rẽ nhánh là câu lệnh if.

int main()
{
  //do A
  if(expression)  
    //do B;
  else
    //do C;
  //do D
  return 0;
}

Chương trình này có 2 hướng có thể đi. Nếu biểu thức expression cho kết quả đúng (true), chương trình sẽ thực thi A rồi đến B và đến D. Nếu biểu thức expression cho kết quả sai (false), chương trình sẽ đi theo hướng A đến C rồi đến D. Cấu trúc này không còn dạng straight-line nữa mà là dạng cấu trúc rẽ nhánh (conditional branches).

Cấu trúc vòng lặp (Loops)

Một cấu trúc vòng lặp khiến chương trình thực hiện lặp đi lặp lại một chuỗi các câu lệnh cho đến khi không còn thõa mãn một điều kiện nào đó.

int main()
{
  //do A
  //do B 0 or more times
  //do C
}

Chương trình này có thể thực hiện theo hướng ABC, ABBC, ABBBC, ABBB...BBBC, hoặc cũng có thể là AC. Như các bạn thấy, một lần nữa đây không phải là straight-line program, hướng thực thi các câu lệnh phụ thuộc vào số lần các câu lệnh trong vòng lặp được thực thi.

while, do...while, for là 3 cấu trúc vòng lặp mà ngôn ngữ C/C++ cung cấp. Chuẩn C++11 còn cung cấp cho chúng ta thêm cấu trúc vòng lặp tên là for each.

Exceptions

Cuối cùng, exceptions là một cơ chế xử lý lỗi xảy ra bên trong hàm. Nếu một lỗi xảy ra bên trong hàm mà hàm không thể xử lý, hàm đó ném ra một ngoại lệ (exception). Điều này khiến chương trình nhảy đến khối lệnh chuyên dùng để xử lý ngoại lệ có kiểu tương ứng với ngoại lệ được hàm ném ra.

Xử lý ngoại lệ là một đặc trưng khá mới được hổ trợ trong ngôn ngữ C++.

Kết luận

Mình vừa giới thiệu đến các bạn một số cấu trúc điều khiển thông dụng trong ngôn ngữ C++. Trong chương này, chúng ta sẽ tập trung nói về cấu trúc rẽ nhánh. Các phần còn lại sẽ được bàn đến trong các chương tiếp theo.

Học Không Chơi Đánh Rơi Tuổi Trẻ

Just another WordPress.com site

SYSTEM

  • * write ( ) : in ra màn hình liền sau kí tự cuối.
    • writeln ( ) : in xuống một hàng.
    • read ( ) : đọc biến.
    • readln ( ) : dừng chương trình để đọc biến.

Uses CRT

  • * clrscr : xoá toàn bộ màn hình.
    • textcolor ( ) : in chữ màu.
    • textbackground ( ) : tô màu cho màn hình.
    • sound ( ) : tạo âm thanh.
    • delay ( ) : làm trễ.
    • nosound : tắt âm thanh.
    • windows ( x1,y1,x2,y2 ) : thay đổi cửa sổ màn hình.
    • highvideo : tăng độ sáng màn hình.
    • lowvideo : giảm độ sáng màn hình.
    • normvideo : màn hình trở lại chế độ sáng bình thường.
    • gotoxy (x,y) : đưa con trỏ đến vị trí x,y trên màn hình.
    • deline : xoá một dòng đang chứa con trỏ.
    • clreol : xoá các ký tự từ vị trí con trỏ đến cuối mà không di chuyển vị trí con trỏ.
    • insline : chèn thêm một dòng vào vị trí của con trỏ hiện hành.
    • exit : thoát khỏi chương trình.
    • textmode (co40) : tạo kiểu chữ lớn.
    • randomize : khởi tạo chế độ ngẫu nhiên.
    • move (var 1,var 2,n) : sao chép trong bộ nhớ một khối n byte từ biến Var 1 sang biến Var 2.
    • halt : Ngưng thực hiện chương trình và trở về hệ điều hành.
    • Abs (n) : Giá trị tuyệt đối.
    • Arctan (x) : cho kết quả là hàm Arctan(x).
    • Cos (x) : cho kết quả là cos(x).
    • Exp (x) : hàm số mũ cơ số tự nhiên ex.
    • Frac (x) : cho kết quả là phần thập phân của số x.
    • int (x) : cho kết quả là phần nguyên của số thập phân x.
    • ln (x) : Hàm logarit cơ số tự nhiên.
    • sin (x) : cho kết quả là sin(x), với x tính bằng Radian.
    • Sqr (x) : bình phương của số x.
    • Sqrt (x) : cho kết quả là căn bậc hai của x.
    • pred (x) : cho kết quả là số nguyên đứng trước số nguyên x.
    • Suuc (x) : cho kết quả là số nguyên đứng sau số nguyên x.
    • odd (x) : cho kết quả là true nếu x số lẻ, ngược lại là false.
    • chr (x) : trả về một kí tự có vị trí là x trong bảng mã ASCII.
    • Ord (x) : trả về một số thứ tự của kí tự x.
    • round (n) : Làm tròn số thực n.
    • Random (n) : cho một số ngẫu nhiên trong phạm vi n.
    • upcase (n) : đổi kí tự chữ thường sang chữ hoa.
    • assign (f,) : tạo file.
    • rewrite (f) : khởi tạo.
    • append (f) : chèn thêm dữ liệu cho file.
    • close (f) : tắt file.
    • erase (f) : xóa.
    • rename ( ) : đổi tên cho file.
    • length (s) : cho kết quả là chiều dài của xâu.
    • copy (s,a,b) : copy xau.
    • insert (,s,a) : chèn thêm cho xâu.
    • delete (s,a,b) : xoá xâu. …

Unit GRAPH

  • * initgraph (a,b,) : khởi tạo chế độ đồ hoạ.
    • closegraph; : tắt chế độ đồ hoạ.
    • setcolor (x) : chọn màu.
    • outtext ( ) : in ra màn hình tại góc trên bên trái.
    • outtextxy (x,y,); : in ra màn hình tại toạ độ màn hình.
    • rectangle (x1,y1,x2,y2): vẽ hình chữ nhật.
    • line (x1,y1,x2,y2) : vẽ đoạn thẳng.
    • moveto (x,y) : lấy điểm xuất phát để vẽ đoạn thẳng.
    • lineto (x,y) : lấy điểm kết thúc để vẽ doạn thảng.
    • circle (x,y,n) : vẽ đường tròn.
    • ellipse (x,y,o1,o2,a,b): vẽ hình elip.
    • floodfill (a,b,n) : tô màu cho hình.
    • getfillpattern (x) : tạo biến để tô.
    • setfillpattern (x,a) : chọn màu để tô.
    • cleardevice; : xoá toàn bộ màn hình.
    • settextstyle (n,a,b) : chọn kiểu chữ.
    • bar (a,b,c,d) : vẽ thanh.
    • bar3d (a,b,c,d,n,h) : vẽ hộp.
    • arc (a,b,c,d,e) : vẽ cung tròn.
    • setbkcolor (n) : tô mà nền.
    • putpixel (x,y,n) : vẽ điểm.
    • setfillstyle (a,b) : tạo nền cho màn hình.
    • setlinestyle (a,b,c) : chọn kiểu đoạn thẳng.
    • getmem(p,1) : chuyển biến để nhớ dữ liệu.
    • getimage(x1,y1,x2,y2,p): nhớ các hình vẽ trên vùng cửa sổ xác định.
    • putimage(x,y,p,n) : in ra màn hình các hình vừa nhớ. …

Unit DOS

  • * getdate(y,m,d,t) : lấy các dữ liệu về ngày trong bộ nhớ.
    • gettime(h,m,s,hund) : lấy các dữ liệu về giờ trong bộ nhớ.
    • findnext(x) : tìm kiếm tiếp.
    • Findfirst(,$20,dirinfo) : tìm kiếm. …

Điều hướng bài viết

← Previous Next →