Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_программирования.doc
Скачиваний:
20
Добавлен:
22.02.2015
Размер:
169.98 Кб
Скачать

Правила работы со сложными типами

Отличие базовых типов от сложных в том, что в базовых типах нельзя выделить составные части. При этом поле структуры или элемент массива считаются обычными переменными, и их использование в любых операторах ничем не отличаются от использования переменных базовых типов.

В языках программирования допускаются массивы, состоящие из структур, и структуры, состоящей из массивов:

a[0].Items.Strings[4].Value

Массив a состоит из структур, в описание которых есть поле Items, которое в свою очередь представляет собой массив структур, имеющих поле Value.

Описание переменных

Пока переменная не описана, обращаться к ней нельзя, кроме Basic и Fortran (по умолчанию имеют числовой тип).

  1. Объявить (указать) тип.

  2. Инициализировать — присвоить ей начальное значение.

Синтаксис команд описания данных

Basic

Pascal

C++

DIM имя AS тип

Var имя:тип;

Тип имя:

Пример

Basic

Pascal

C++

DIM x AS DOUBLE

Var x:real;

Var str=record

pl:integer;

s:string;

end;

float x;

int a[20];

В Pascal и C++ можно указывать через запятую:

var xx, z2: integer; – Pascal

int xx, z2, yy[10]; - C++

Новые типы данных

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

Синтаксис описания нового типа

Basic

Pascal

C++

Аналогичен описанию структуры, который уже является описанием нового типа:

TYPE имя структуры

поле AS тип

END TYPE

Type имя = описание

Typedef struct имя структуры

{

тип поле;

} имя типа;

Имя структуры указывается только из-за требований синтаксиса. Реально оно нигде не применяется.

Название нового типа можно использовать во всех последующих командах описания переменных.

Pascal

type TMyArray = Array[0..99] og integer;

type TMyRecord = record

Item1:integer;

Item2: string;

end;

var MyArray: TmyArray;

var R: TMyRecord;

C++

typedef struct name1

{

int i;

float x;

} TNewStruct;

TNewStruct NewStruct;

Разделение операторов

В Pascal и C++ отделяются «;», а в Basic «:» или переходом на новую строку.

БЛОК ОПЕРАТОРОВ

Для выполнения группы операторов (например в зависимости от какого-либо условия) необходимо их объединить в блок с помощью специальных скобок начала и конца блока — т.е. логическими скобками.

В Basic явного понятия «блок операторов» нет, в Pascal – ключевые слова begin, end. В C++ - фигурные скобки {}.

ОБЛАСТЬ ДЕЙСТВИЯ ОПЕРАТОРОВ

Команды описания переменных могут встречаться в разных местах программы. Объявленные в них переменные являются локальными и их область действия — текущий блок, в котором они описаны. Как только встречается логическая скобка }, закрывающая блок, соответствующая переменная перестает существовать, а выделенная для нее память освобождается. Переменные, описанные вне блока, доступны из любого места программы.

ОПЕРАТОР ПРИСВАИВАНИЯ

Оператор присваивания позволяет изменять текущее значение переменной. Синтаксис простой: слева имя переменной, а справа выражение, значение которого будет записано в переменную. В Basic и C++ обозначается знаком «=», а в Pascal «:=».

a23 = a22[12]+1; b1 = b1-1;

x[5] = y/3.33; y = z[0]-0.001;

a := b*2+c; d := (e[8]-f)*2.2;

КОММЕНТАРИИ

Комментарии могут начинаться и заканчиваться особыми символами и охватывать несколько строк кода, а могут записываться только в конце строки — при этом считается, что весь остаток строки является комментарием.

Синтаксис комментария

Basic

Pascal

C++

однострочный

REM или '

//

//

многострочный

нет

{} или (* *)

/* */

x = 5 ' комментарий до конца строки

x := 5; // комментарий до конца строки

/*

это комментарий

языка C++

*/

{

это комментарий

языка Pascal

(* а это вложенный комментарий*)

}