
- •3 Вопрос.
- •Языки программирования низкого уровня
- •Преимущества
- •Недостатки
- •Языки программирования высокого уровня
- •4 Вопрос.
- •5 Вопрос.
- •Синтаксис и языковые конструкции
- •Семантика языков программирования
- •6 Вопрос.
- •12 Вопрос. Символьные типы
- •Логический тип
- •14 Вопрос
- •20 Вопрос
- •21 Вопрос
- •22 Вопрос
- •23 Вопрос
- •Присваивание (ввод/вывод);
- •Сравнение
- •Конкатенацию.
- •25 Вопрос
- •26 Вопрос
- •27 Вопрос.
- •28 Вопрос
- •29 Вопрос Рекурсия в программировании [править]Функции
- •31 Вопрос
- •Краткое описание алгоритма
- •32 Вопрос
- •33 Вопрос. Операции с файлом
- •[Править]Операции, связанные с открытием файла
- •34 Вопрос. Стандартные процедуры и функции для текстовых и типизированных файлов
26 Вопрос
Запись Паскаля – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа. Поля записи Паскаля могут иметь любой тип, в частности сами могут быть записями. Такая возможность используется в том случае, когда требуется представить многоуровневое дерево (более 2 уровней). Например, те же сведения о студентах можно отобразить трехуровневым деревом.
Единственная операция, которую можно произвести над однотипными записями Паскаля – это присваивание.
Все другие операции производятся над отдельными полями записи.
27 Вопрос.
Модуль — функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части (например, Active Oberon), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность (интерфейс) в виде набора функций, классов,констант. Модули могут объединяться в пакеты и, далее, в библиотеки.
Модули могут быть обычными, то есть написанными на том же языке, что и основная программа, в которой они используются, либо модулями расширения, которые пишутся на отличном от языка основной программы языке. Модули расширения обычно пишутся на более низкоуровневом языке, что позволяет получить выигрыш в скорости выполнения (производительности) программы.
28 Вопрос
Параметры-значения
Параметры-значения используются только для передачи исходных данных из основной программы в подпрограмму (процедуру или функцию). В списке формальных параметров они перечисляются через запятую с обязательным указанием их типов:
procedure Abort(Msg: string):
function Step(N : integer; X ; real): real:
Если формальный параметр объявлен как параметр-значение, то фактическим может быть произвольное выражение. При вызове подпрограммы фактические параметры вычисляются и используются в качестве начальных значений формальных параметров, т.е. осуществляется подстановка значений. Если формальный параметр определен как параметр-значение, то перед вызовом процедуры это значение вычисляется, полученный результат помещается во временную память и передается процедуре. Даже если фактический параметр – простейшее выражение в виде константы или переменной, все равно процедуре будет передана лишь копия этой константы (переменной). В процессе выполнения подпрограммы формальные параметры могут изменяться, но это никак не отражается на соответствующих фактических параметрах-переменных, которые сохраняют те значения, которые имели до вызова подпрограммы, так как меняются не они, а их копии. Поэтому параметры-значения нельзя использовать для передачи результатов из подпрограммы в основную программу.
Параметры-переменные
Параметры-переменные используются для определения результатов выполнения процедуры и в списке формальных параметров перечисляются после зарезервированного слова var с обязательным указанием типа. Каждому формальному параметру, объявленному как параметр-переменная, должен соответствовать фактический параметр в виде переменной соответствующего типа, например:
procedure Example(var M,N : integer; var Y : real);
Если формальный параметр определен как параметр-переменная, то при вызове процедуры передается сама переменная, а не ее копия, и изменение параметра-переменной приводит к изменению фактического параметра в вызывающей программе. Следовательно, исходные данные в процедуру из программы могут передаваться как через параметры-значения, так и через параметры-переменные, а результаты работы процедуры возвращаются в вызывающую программу только через параметры-переменные.