- •Основы программирования
- •Язык программирования
- •Компиляторы и интерпретаторы
- •Уровни языков программирования
- •Поколения языков программирования
- •Языки программирования баз данных
- •Системы программирования. Средства создания программы
- •Интегрированные системы программирования
- •Основные системы программирования
- •Алгоритмическое (модульное) программирование
- •Переменные и константы
- •Числовые данные
- •Арифметические операции
- •Арифметические выражения
- •Логические выражения
- •Строчные выражения
- •Сложные данные
- •Правила работы со сложными типами
- •Описание переменных
- •Новые типы данных
- •Разделение операторов
- •Условный оператор (условные вычисления)
- •Операторы цикла
- •Ввод и вывод
- •Структурное программирование Подпрограммы
- •Нисходящее проектирование
- •Процедуры и функции
- •Параметры подпрограмм
- •Структура подпрограммы:
- •Формальные и фактические параметры
- •Объектно-ориентированное программирование
Правила работы со сложными типами
Отличие базовых типов от сложных в том, что в базовых типах нельзя выделить составные части. При этом поле структуры или элемент массива считаются обычными переменными, и их использование в любых операторах ничем не отличаются от использования переменных базовых типов.
В языках программирования допускаются массивы, состоящие из структур, и структуры, состоящей из массивов:
a[0].Items.Strings[4].Value
Массив a состоит из структур, в описание которых есть поле Items, которое в свою очередь представляет собой массив структур, имеющих поле Value.
Описание переменных
Пока переменная не описана, обращаться к ней нельзя, кроме Basic и Fortran (по умолчанию имеют числовой тип).
Объявить (указать) тип.
Инициализировать — присвоить ей начальное значение.
Синтаксис команд описания данных
-
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
(* а это вложенный комментарий*)
}
