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

Числовые данные

  1. Числа бывают двух видов: целые и дробные.

  2. Очень большие или очень маленькие числа записываются указанием мантиссы — число со знаком, являющееся степенью числа 10.

100=1e+2

0.003=3e-3

Тип числа

Basic

Pascal

C++

Целое

INTEGER

integer

int

Дробное

DOUBLE

real

float

Арифметические операции

+, -, * ,/ - в большинстве языков программирования.

b*2+c/3

b*(2+c)-3

((y+2)*3+1)/2

Арифметические выражения

Состоят из операций и операндов (переменных и констант): a2+2

Логические выражения

True – истина, да, включена, 1.

False – ложь, нет, выключено, 0.

При записи логических выражений используются операции сравнения и логические операции.

операция

Basic, Pascal

C++

равно

=

= =

не равно

<>

!=

меньше

<

<

меньше или равно

<=

<=

больше

>

>

больше или равно

>=

>=

Pi= = 3.14

x>0

a1<>b1

1 операнд

2 операнд

И

ИЛИ

исключ. ИЛИ

НЕ (только операнд 1)

true

true

true

true

false

false

true

false

false

true

true

false

false

true

false

true

true

true

false

false

false

false

false

true

Логическая операция

Basic

Pascal

C++

И

AND

and

&&

ИЛИ

OR

or

||

НЕ

NOT

not

!

Приоритеты всех логических операций ниже, чем приоритеты операций сравнения.

  • Сравнения выполняются первыми. Логические операции выполняются в следующем порядке: НЕ, И, ИЛИ.

x1>=1 && x1<=10

(R>3.14) and (R<3.149)

(Value<oldValue) OR (Value<>0)

Логический тип

Basic

Pascal

C++

Базового типа нет, используется числовой тип INTEGER

boolean

bool

Строчные выражения

В C++ и Basic ''это строка'' '' '' - пустая строка

В Pascal 'это строка' ' ' - пустая строка

Строки можно сравнивать друг с другом на эквивалентность (равно и не равно). Допускаются сравнения типа «больше» или «меньше» - при этом происходит последовательное сравнение значений символов (каждый символ представляется в ПК конкретным числом). Сцепление строк с помощью «+».

''123'' + ''4567'' = ''1234567''

Тип «строка»

Basic

Pascal

C++

STRING

string

Базового типа «строка» нет

Указатели — адрес физической памяти. Имеется специальная операция получения адреса конкретной переменной, что позволяет работать с памятью напрямую.

Сложные данные

Структуры. Описание данных в виде максимально приближенных к их реальным аналогам. Например, чтобы организовать обработку данных по студентам, в программе удобно не просто описать десяток различных переменных, а объединить их в структуру (или запись) «студент», состоящего из полей разного типа «имя», «пол», «год рождения», «группа» и т.д. То есть сложные типы данных. В результате удается организовать структуры данных произвольной сложности: списки, деревья и т.п. Структура объединяет группу разных данных под одним названием. Получить доступ к отдельным составляющим (полям) этой структуры можно по их именам, т.е. имени структуры и имени поля через точку. Если происходит обращение к полю, которое само является структурой, то выделение нужного поля продолжается приписыванием справа имени вложенного поля через точку.

Синтаксис описания структуры

Basic

Pascal

C++

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

поле AS тип

END TYPE

type имя структуры = record

поле: тип;

end;

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

{ тип поле;

};

Пример:

Basic

Pascal

C++

TYPE Student

Name AS STRING

Sex AS INTEGER

BirthYear AS INTEGER

END TYPE

type Student = record

Name: string;

Sex: boolean;

BirthYear: integer

end;

struct Student

{ AnsiString Name;

bool Sex;

int BirthYear;

};

Доступ к содержимому структуры:

Student.BirthYear = 1980;

Массивы. Доступ к элементам структуры по имени ее составляющих. Для организации обработки больших объемах данных одного типа с сотнями и тысячами полей создавать структуру неразумно. Введено понятие массива, сложного типа данных, доступ к элементам которого происходит по их положению, по номеру или индексу. При описании массива обычно указывается его размер (число элементов) или верхняя и нижняя границы.

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

Basic

DIM имя (число элементов) AS тип

Pascal

Имя = array [нижняя граница .. верхняя граница] of тип

C++

Тип имя [число элементов]

В Basic нижняя граница равна 1.

В C++ 0;

В Pascal она указывается явно.

Пример:

Basic

DIM IntArray (1000) AS INTEGER

Pascal

IntArray = array [1..1000] of integer

C++

int IntArray [1000]

Доступ к элементу массива осуществляется по его номеру. Этот номер указывается в круглых (для Basic), в квадратных [для Pascal и C++] - такое действие называется индексирование:

IntArray(12)

IntArray[i+1]

Массивы бывают статические и динамические.