28617

В программе на языке FPC

Доклад

Информатика, кибернетика и программирование

Если локальное и глобальное имя совпадают то в подпрограмме локальное имя блокирует глобальное. Формат доступа к глобальному имени: имя программы . глобальное имя .

Русский

2013-08-20

12.55 KB

0 чел.

В программе на языке FPC различают глобальные и локальные имена. Глобальные имена определены во внешней программе. Память под них выделяется статически при компиляции. Они доступны во всех внутренних точках, в том числе в подпрограммах.

Локальные имена определены в подпрограммах. Память под них выделяется динамически (в стеке) при исполнении подпрограммы. Они доступны во внутренних точках подпрограммы, а во внешней программе недоступны.

Если локальное и глобальное имя совпадают, то в подпрограмме локальное имя блокирует глобальное. Совпадения глобальных и локальных имен лучше избегать. Чтобы получить доступ к глобальному имени в подпрограмме, его надо указывать составным. Формат доступа к глобальному имени: <имя программы>.<глобальное имя>. Пример:

program Names_View;

{$mode objfpc}{$H+}

uses SysUtils;                         // Ссылка на модули

var I:integer;                                // Глобальная переменная I

procedure Proc;

var I:real;                         // Локальная переменная I

begin

I:=7;                                 // Задание локальной переменной

I:=2.1+Names_View.I;          // Обращение к глобальной переменной

writeln(I);                         // Результат в процедуре – число 5.1

end;

begin

I:=3;                                      // Задание глобальной переменной

Proc;                               // Обращение к процедуре

readln;                             // Пауза, чтобы увидеть результат

end.

Нетипизированные параметры

Нетипизированные параметры применяются, когда тип параметра не имеет существенного значения (например, в процедурах побайтового копирования или перемещения блоков данных). Нетипизированными могут быть только параметры с атрибутом var.


 

А также другие работы, которые могут Вас заинтересовать

11583. Устройства на операционных усилителях 472 KB
  Лабораторная работа № 5 Устройства на операционных усилителях Цель работы Изучить назначение принцип действия свойства и возможные схемотехнические решения устройств на операционных усилителях. 2. Задание 1. Ознако...
11584. Знакомство с Маткадом 83.95 KB
  Лабораторная работа № 1. Тема: Знакомство с Маткадом. Цель: Ознакомить студентов с интерфейсом пакета Маткад особенностями работы в пакете научить производить простейшие вычисления. Ход работы. Задача 1. Войдите в Маткад. 1.Поиграйте красным крестиком на экране...
11585. ЛАБОРАТОРНАЯ РАБОТА №1. ЗНАКОМСТВО С МАТКАДОМ 231.29 KB
  ЛАБОРАТОРНАЯ РАБОТА №1. ЗНАКОМСТВО С МАТКАДОМ Найдите на рабочем столе ярлык Маткад щелкните мышью и войдите в пакет. Обратите внимание на то что вся работа в Маткаде должна проводиться на латинском английском алфавите. Рис.1 Окна после запуска После за
11586. ВЕКТОРЫ И МАТРИЦЫ 39.75 KB
  Лабораторная работа Векторы и матрицы Общие сведения Задачи линейной алгебры решаемые в MathCAD можно условно разделить на два класса. Первый это простейшие матричные операции которые сводятся к определенным арифметическим действиям над элементами матрицы. Они реал...
11587. Форматирование текста в HTML-документах 66 KB
  ЛАБОРАТОРНАЯ РАБОТА № 21 Тема: Форматирование текста в HTMLдокументах Цель: ознакомить студентов с HTML – основными понятиями структурой документа. Задание Подготовьте бланк для HTMLкода Вашего резюме. Для этого следует: выполнить команду Пуск Програм
11588. Исследование транзисторного генератора с внешним возбуждением 396.42 KB
  Исследование транзисторного генератора с внешним возбуждением Цель работы: Ознакомление с принципом работы и расчетом электронного режима транзисторного генератора с внешним возбуждением; изучение формы импульсов коллекторного тока при различных значениях нап...
11589. Дифференцирующие и интегрирующие RC-цепи 459.22 KB
  Дифференцирующие и интегрирующие RCцепи Цель работы: Анализ переходных процессов в простейших RCцепях а также условий дифференцирования и интегрирования сигналов с помощью этих цепей. Изучение методов расчета и анализа данных цепей. Исходные данные: Принимаем р
11590. Исследование температурной зависимости сопротивления металла и полупроводника 185.5 KB
  ЛАБОРАТОРНАЯ РАБОТА № 1 Исследование температурной зависимости сопротивления металла и полупроводника. Цель работы: экспериментально проверить основной закон динамики вращательного движения. Построить график зависимости углового ускорения от вращающего моме...
11591. Определение момента инерции тел методом крутильных колебаний 160 KB
  Лабораторная работа № 5 Определение момента инерции тел методом крутильных колебаний Цель работы: а определить момент инерции тела относительно оси проходящей через центр массы тела; б проверить теорему Штейнера. Приборы и принадлежности: трифилярный по...