Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Команды




Указатели

Существует определенный класс переменных, называемых указателями. Аналогом указателя можно назвать оглавление в книге. Для того, чтобы найти определенную информацию сначала читатель по оглавлению находит название главы, параграфа, подпункта. Затем по номеру страницы переходит непосредственно к тексту.

Указатель есть переменная, которая указывает, в каком месте памяти искать информацию. По другому, указатель хранит адрес в памяти, по которому находится начало информации. Таким образом, указателями удобно пользоваться для доступа к массивам однотипных данных.

На языке Pascal работа с указателями осуществляется следующим образом:

 

type MyIntPointer = ^Integer; // Объявление пользов. типа

// указатель на переменную

// целого типа

function Polozenie ():real;

var

i:integer;

k:MyIntPointer; // объявление указателя

P: ^TButton; // объявление указателя на объект «TButton»

begin

P:[email protected]; // определение адреса объекта «Button1»

P^.Visible:= True; // изменение свойства «Button1» с помощью

// указателя

k:=@i; // Определение адреса переменной «i»

k^:=10; // доступ к переменной «i» через указатель «k»

inc(k,2); // перемещение указателя вперед на 2 длины

// переменной целого типа, то есть доступ к

// другой переменной через указатель «k»

end;

 

Необходимо отметить, что при выполнении последней команды указатель указывает на несуществующую переменную. Если же выполнить операцию записи (присвоения) через указатель (например, k^:=5;), то это может привести к ошибке выполнения программы, или к порче информации.

На языке C++:

 

typedef int *MyIntPointer; // Объявление пользов. типа

// указатель на переменную

// целого типа

double Polozenie (void)

{

int i;

MyIntPointer k; // объявление указателя

TButton *P; // объявление указателя на объект «TButton»

 

P = Form1->Button1; // определение адреса объекта «Button1»

P->Visible = True; // изменение свойства «Button1» с помощью

// указателя

k = &i; // Определение адреса переменной «i»

*k = 10; // доступ к переменной «i» через указатель «k»

k += 2; // перемещение указателя вперед на 2 длины

// переменной целого типа, то есть доступ к

// другой переменной через указатель «k»

};

 

Необходимо отметить, что команда «P = Form1->Button1;» фактически копирует адрес объекта «Button1» в указатель «P». Дело в том, что на языке C++ доступ к объектам, помещаемым на форме, осуществляется только через указатели.

Для выполнения каких-либо действий над данными используются команды. Правильное написание команд, необходимые сопутствующие слова и порядок представления данных называют синтаксисом.

Список наиболее часто употребляемых команд, назначение и различие в синтаксисах на языке Pascal и C++ приведены в таблице 1.2.

 

Таблица 1.2 Список некоторых команд Pascal и C++

N п/п Pascal С++
  Команда присвоения
  := =
  A:=10; B:=B+1; D:=D-10; A=10; B=B+1; B++; B+=1; D=D-10; D-=10;
  Арифметические команды
  + - / * div   mod сложение вычитание деление умножение целая часть от деления целого на целое остаток от деления целого на целое + - / * (int) AAA/BBB % сложение вычитание деление умножение целая часть от деления целого на целое остаток от деления целого на целое
  B:=D+C; A:=D div N; B=D+C; A=(int) D/N;
  Логические команды
  and or not   логическое И логическое ИЛИ логическое отрицание && || ! логическое И логическое ИЛИ логическое отрицание
  not ((A and B) or (C and D)) (!((A && B) || (C && D)))
  Команды сравнения
  > < = >= <= <> больше меньше равно больше либо равно меньше либо равно не равно > < == >= <= != больше меньше равно больше либо равно меньше либо равно не равно
  (A = B) ((D <> C) and (N > 1)) (A == B) ((D!= C) && (N > 1))
  Битовые команды
  and or xor   shl shr побитовое И побитовое ИЛИ побитовое исключающее ИЛИ битовый сдвиг влево битовый сдвиг вправо & | ^   << >> побитовое И побитовое ИЛИ побитовое исключающее ИЛИ битовый сдвиг влево битовый сдвиг вправо
  A:=11; B:=21; C:=A or B; // C равно 31 C:=C shl 1; // C равно 62 A=11; B=21; C=A | B; // C равно 31 C=C << 1; // C равно 62
  Условие (сравнение, ветвление)
  if условие then begin // когда условие // выполняется end else begin // когда условие // не выполняется end; if (условие) { // когда условие // выполняется } else { // когда условие // не выполняется };
  Выбор (переключатель)
  case Переменная выбора of выбор1: begin // при равенстве // переменной выбора // выбор1 end; выбор2: begin // при равенстве // переменной выбора // выбор2 end; //... else begin // если ничего // не подошло end end; switch (Переменная выбора) { case выбор1: // при равенстве // переменной выбора // выбор1 break; case выбор2: // при равенстве // переменной выбора // выбор2 break; //... default: // если ничего // не подошло };
  Безусловный переход
  goto Метка; goto Метка;
  Цикл For
  for Var:= Min to Max do begin // тело цикла end; for (Var = Min; Var < Max; Var ++ ) { // тело цикла };
  for Var:= Max downto Min do begin // тело цикла end; for (Var = Max; Var < Min; Var -- ) { // тело цикла };
  Цикл While
  while условие выхода do begin // тело цикла end; while (условие выхода) { // тело цикла };



Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 320; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.