Раздел: Стандартные функции Паскаля

Процедура Halt

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Процедура Halt в Паскале останавливает выполнение программы. Синтаксис:

procedure Halt(ErrNum : Longint);   

procedure Halt;

Процедура Halt останавливает выполнение программы и возвращает управление вызвавшей эту программу программе.

В процедуру Halt можно (но не обязательно) передать параметр ErrNum. В этом случае значение этого параметра будет возвращено в вызвавшую программу. Если ErrNum не указан, то будет возвращён 0.

Чем отличается Halt от Exit

Мы уже изучили процедуру Exit, которая выполняет похожее действие.

Похожее, но не точно такое же!

Так чем же эти процедуры отличаются?

А тем, что процедура Exit выполняет выход из программы только в том случае, если она вызывается непосредственно в теле программы. Если же она вызывается из подпрограммы, то выполняется выход из подпрограммы, но программа продолжает работу.

А процедура Halt завершает программу в любом случае, независимо от того, откуда её вызвали - из программы или из подпрограммы:

function XLess10(x : byte) : boolean;
begin
  Halt;  //Программа будет остановлена
end;  

function XLess10(x : byte) : boolean;
begin
  Exit;  //Будет выполнен выход из функции 
         //и возврат в программу,
         //то есть программа продолжит работать
end;

Пример программы, где используется процедура Halt, показан ниже:

program haltproc;

//****************************************************************
// Функция возвращает TRUE, если х меньше 10, иначе возвращает FALSE
//****************************************************************
function XLess10(x : byte) : boolean;
begin
  Result := FALSE;
  if x >= 10 then Halt;  //Если х >= 10, то выйти из программы
  Result := TRUE;        //и не выполнять этот код
end;

var N : byte;
    Z : single;

begin
  Write('N = ');
  ReadLn(N);
  if XLess10(N) then WriteLn('N < 10')
  else                   //Этот код уже не будет выполнен,
    WriteLn('N >= 10');  //если N >= 10
  ReadLn;
end.

Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика