ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Мітки. Оператор GOTO. Процедура Halt
         

     

    Інформатика, програмування

    Мітки. Оператор GOTO. Процедура Halt

    С.А. Григор'єв

    Оператори в Паскалі можуть бути помічені. Теги - це ідентифікатори, або цілі числа від 0 до 9999, вони можуть записуватися перед будь-яким виконуються оператором і відділяються від нього двокрапкою. Оператор може мати будь-яку кількість позначок. Усі мітки, використані в програмі, повинні бути описані в розділі описів з ключовим словом LABEL. В одному операторі LABEL можна описати кілька міток, тоді вони розділяються комами. Оператор безумовного переходу

    GOTO мітка;

    передає управління оператору з відповідною міткою, при цьому всі оператори, розташовані між оператором GOTO і оператором, якому передається управління, не виконуються. За допомогою оператора GOTO не можна передати управління: всередину циклу, всередину умовного оператора і всередину оператора вибору.

    Загальновизнано, що оператор GOTO є шкідливим оператором, він ускладнює алгоритми, ускладнює читання програми і є джерелом помилок. Постарайтеся не застосовувати цей оператор у своїх програмах.

    Одним з випадків, коли програмісту може здатися корисним оператор GOTO, є необхідність припинити виконання програми при виникненні тієї чи іншої помилки. Нехай, наприклад, програма обчислює деяку функцію від квадратного кореня з заданого числа:

    VAR x: Real;

    BEGIN WRITE ( 'Введіть число'); READ (x);

    x: = SQRT (x);

    (обчислення функції від x)

    END.

    Якщо введено негативне число, то в третьому операторі програми відбудеться аварійне переривання. Прагнучи уникнути цього, ми могли б записати програму у вигляді:

    VAR x: Real;

    LABEL Finish;

    BEGIN WRITE ( 'Введіть число'); READ (x);

    IF x <0 THEN GOTO Finish;

    x: = SQRT (x);

    (обчислення функції від x)

    Finish: END.

    Однак можна не використовувати GOTO:

    VAR x: Real;

    BEGIN WRITE ( 'Введіть число'); READ (x);

    IF x <0 THEN WRITELN ( 'помилка !')

    ELSE BEGIN

    x: = SQRT (x);

    (обчислення функції від x)

    END;

    END.

    Як бачите, програма навіть стало краще, тому що тепер вона повідомляє про неправильному введенні. Але вона все-таки має один недолік -- умовний оператор ускладнив структуру програми. У цьому і в інших подібних випадках дуже зручно користуватися стандартною процедурою Паскаля HALT, яка зупиняє виконання програми, будучи викликана в будь-якому її місці:

    VAR x: Real;

    BEGIN WRITE ( 'Введіть число'); READ (x);

    IF x <0 THEN BEGIN WRITELN ( 'помилка!); HALT; END;

    x: = SQRT (x);

    (обчислення функції від x)

    END.

    Наша програма стала майже ідеальною. Доведемо її до досконалості:

    VAR x: Real;

    BEGIN REPEAT

    WRITE ( 'Введіть невід'ємне число');

    READ (x);

    WRITELN;

    UNTIL x> = 0;

    x: = SQRT (x);

    (обчислення функції від x)

    END.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://elib.albertina.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status