КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Локальные и глобальные переменные
Массивы Иногда для решения поставленной задачи необходимо обработать последовательность переменных одного и того же типа (массивы). Например, для моделирования передвижения нескольких объектов по конвейеру удобно эти объекты объединить в последовательность. Или же для обработки статистических данных, поступающих с какого-нибудь датчика, эти данные удобно расположить последовательно друг за другом. Позиция данных в этой последовательности будет определять время их считывания. Типы данных, которые могут быть помещены в массивы, различны. Это могут быть и стандартные типы (таблица 1.1), и определенные пользователем, в том числе и записи (структуры). Пример определения массивов на языке Pascal:
S: array [1..10] of integer; // Определение массива с // именем S, состоящего из // 10 элементов целого типа // с индексами с 1 по 10 MTelegka: array [1..20] of TTelegka; // Определение массива с // именем MTelegka, состоящего из // 10 элементов типа TTelegka // с индексами с 1 по 10
На языке C++:
int S[10]; // Определение массива с // именем S, состоящего из // 10 элементов целого типа // с индексами с 0 по 9 TTelegka MTelegka[20]; // Определение массива с // именем MTelegka, состоящего из // 10 элементов типа TTelegka // с индексами с 0 по 9
Доступ к конкретному элементу массива осуществляется с помощью индекса. На языке Pascal:
S[2]:= 10; // Элементу массива S c индексом 2 // присваивается значение 10 MTelegka[i].v:= 1.5; // Переменной v записи MTelegka с // индексом по значению переменной i // присваивается значение 1.5
На языке C++:
S[2] = 10; // Элементу массива S c индексом 2 // присваивается значение 10 MTelegka[i].v = 1.5; // Переменной v записи MTelegka с // индексом по значению переменной i // присваивается значение 1.5
Необходимо отметить, что на языке Pascal начальный индекс массива указывается пользователем и может быть любым. В то же время в C++ индекс массива всегда начинается с 0. Поэтому в этом случае максимальный индекс массива равен длине массива минус 1. Программа в общем случае состоит из набора процедур и функций, вызываемых при заранее определенных событиях, или пользователем при написании программы. В свою очередь каждую процедуру либо функцию можно рассматривать как отдельную программу со своим именем, своими переменными и константами. При этом имеет смысл разграничить области действия (и существования) некоторых переменных только в пределах этих подпрограмм. Например, если в конкретной подпрограмме используется переменная «i» в качестве счетчика цикла, то ее лучше объявить как локальную, действующую только в пределах этой подпрограммы. Тем самым экономится ОЗУ компьютера, так как переменная уничтожается при выходе из подпрограммы. С другой стороны, это же имя «i» можно будет использовать для объявления другой локальной переменной в другой подпрограмме. Если требуется хранение данных, доступных из любой подпрограммы пользовательской программы, то такие переменные объявляются глобальными и, соответственно, такое имя уже считается зарезервированным и недоступным для других переменных. Пример объявления глобальных и локальных переменных и констант в программе в среде Delphi:
... var Form1: TForm1; // Объявление глобальной переменной // Form1 – текущая форма программы Revers: boolean; // Объявление глоб. переменной Revers // логического типа const Pi: real = 3.14159265; // Объявление глобальной константы // типа с плавающей запятой implementation // Определяет внешнюю видимость этого // модуля {$R *.dfm}
// Процедура, вызываемая при нажатии кнопки Button1 на форме procedure TForm1.Button1Click(Sender: TObject); var i: integer; // объявление локальной внутри процедуры // переменной «i» const A: array [0..9] of char = ('0','1','2','3','4','5','6','7', '8','9'); // объявление локального массива констант begin // начало процедуры for i:=0 to 10 do begin
end; end; // конец процедуры
// Функция пользователя function Polozenie ():real; var a,b,c:real; // объявление локальных внутри процедуры i:integer; // переменных, в том числе «i» begin // начало функции
end; // конец функции
На языке C++
TForm1 *Form1; // Объявление глобальной переменной // Form1 – текущая форма программы bool Revers; // Объявление глоб. переменной Revers // логического типа
const double Pi = 3.14159265; // Объявление глобальной константы // типа с плавающей запятой //-------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //-------------------------------------------------------------- // Процедура, вызываемая при нажатии кнопки Button1 на форме void __fastcall TForm1::Button1Click(TObject *Sender) { // начало функции int i; // объявление локальной внутри процедуры // переменной «i» // объявление локального массива констант const char A[10] = {'0','1','2','3','4','5','6','7','8','9'};
... } // конец функции //-------------------------------------------------------------- double Polozenie (void) { // начало функции double a,b,c; int i;
} // конец функции
Дата добавления: 2015-07-02; Просмотров: 474; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |