Динамическими называются данные, которые можно размещать в памяти машины в процессе исполнения программы и освобождать память, когда эти данные становятся ненужными.

Вопрос 1

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

 

Типы данных интернет:

Тип данных – это множество допустимых значений, которые может принимать тот или иной объект, а также множество допустимых операций, которые применимы к нему.

Синтаксис:

Type – область описания типов

имя типа = определение типа;

Var – область описания переменных

список переменных: тип;

 

Типы данных в паскале:

Порядковые (ординальные) типы:

Натуральные числа (cardinal) стандартный

Целый тип (integer) стандартный

Символьный тип (char) стандартный

Булевский тип (boolean) стандартный

Вещественные числа (real) стандартный

Ссылочный (указательный) стандартный

 

Производные (структурированные) типы

Массив (array)

Строковый (string)

Множества (set)

Записи (record)

Файл (file)

Текст (text)

 

 

· Базовые типы (стандартные). Базовые типы предопределены стандартом языка, указываются зарезервированными ключевыми словами и характеризуются одним значением. Их не надо определять и их нельзя разложить на более простые составляющие без потери сущности данных. Базовые типы объектов создают основу для построения более сложных типов.

· Целый тип

· Синтаксис значений: обычно [знак ±] последовательность цифр

· Семантика: множество значений – все целые числа из некоторого интервала [Low(integer), High(integer)]

· Вещественный тип

· Синтаксис значений:

· запись с фиксированной точкой вида: ± целое.целое

· запись с плавающей точкой вида: вещественное с плавающей точкой Е целое a•10b

· Множество значений:

· Рациональные числа из некоторого интервала [Low(real), High(real)]. Все операции над вещественными числами (в отличии от целых) выполняются приближенно с некоторой заданной точностью.

 

· Производные типы (пользовательские). Производные типы задаются пользователем, и переменные этих типов создаются как с использованием базовых типов, так и типов классов.

 

Перечислимые типы

Синтаксис: (Id1, …, Idn), где Idi – идентификатор.

Множество значений: { Id1, …, Idn}

Операции: любой перечислимый тип считается порядковым.

Id1< Id2<…<Idn

succ(Idi) = Idi+1

pred(Idi+1) = Idi

 

Ограниченный тип

Синтаксис определения типа: c1..c2, где с1, с2 – константы любого порядкового типа.

Множество значений: [c1,c2]

Операции:

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

 

 

Статическиеданные в ЯП Паскаль, это данные, описанные в блоке var. Их размещает компилятор и они существуют все время выполнения программы.

Динамическими называются данные, которые можно размещать в памяти машины в процессе исполнения программы и освобождать память, когда эти данные становятся ненужными.

Для размещения в памяти динамических данных имеются специальная процедура (функция). В Паскале есть процедура

New(var p: Тип ссылки )

и функция

New(Тип ссылки): Pointer.

Разница между ними заключается в том, что процедура работает со ссылкой на какой-либо тип данных, а значение функции присваивается указателю (типа pointer).

 

 

Вопрос 2

Состояние вычислений.
Каждое состояние подразумевает некоторое соответствие между совокупностью имен (характеристик) и множеством их возможных значений. С точки зрения математики состояние – это функция, областью определения которой служит множество имен атрибутов, а множеством значений – множество возможных значений. Что может служить множеством имен, а что множеством значений? – все, что угодно.

 

Процедура.
Процедура - изменения значений некоторых переменных, имена которых принадлежат состоянию, в зависимости от значений тех же переменных. (функция на состояниях преобразования)

Процедура

<N1→V1 <N1→V1’

… …

Nm→Vm> Nm→Vm’>

N – имена, V – значения.

 

Ni:=fi(N1,…,Nm) – форма присваивания.

 


(Даша) {

Каждый язык программирования – язык определения процедур. В наиболее традиционном случае такой язык определяется:

1) классом базовых операторов (в частности допустимых присваиваний);

2) классом операторных конструкций, порождающих из базовых операторов все более сложные, путем кратного применения.}

 

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


Результаты выполнения — переменные содержащие значения, полученные во время выполнения процедуры.

 

Вспомогательные переменные — переменные, используемые во время выполнения процедуры и не являющиеся аргументами или результатами выполнения.

 

 

Спецификация и реализация.
Спецификация – изложение того, что нужно хоть на каком-нибудь точном языке.

Реализация — формально-определённые операторы.

 

Характеристики реализации
Правильность — соответствие спецификации.
Эффективность — экономящая время и память.