- •Информатика и Программирование
- •4.Понятие процедуры и функции в Паскале. Их назначение, применение, варианты размещения в программе
- •7.Сравнительный анализ возможностей процедуры и функции. Возможности преобразования процедуры в функцию и наоборот
- •8.Понятие рекурсии. Рекурсивные процедуры и функции, их применение, достоинства и недостатки
- •10.Запись как тип данных. Работа с записями: описание записи, оператор присоединения, запись с вариантами. Использование записей
- •12.Статическая и динамическая память. Общие сведения об управлении динамической памятью с помощью стандартных процедур и функций (GetMem, FreeMem; New, Dispose)
- •1. Автоматически по завершении всей программы.
- •2. С помощью стандартной процедуры dispose.
- •3. С помощью стандартной процедуры frеемеm.
- •4. С помощью стандартных процедур маrk и release.
- •13.Динамические структуры данных. Динамические массивы (одномерные и двумерные), работа с ними
- •14.Динамические структуры данных. Списки. Основные виды списков. Действия со списками
- •15.Однонаправленные (линейные) списки. Описание, создание, просмотр списка, добавление и удаление элементов
- •16.Двунаправленные, симметричные списки. Описание, создание, просмотр списка, добавление и удаление элементов
- •17.Кольцевые, циклические списки. Описание, создание, просмотр списка, добавление и удаление элементов
- •18.Бинарное дерево. Основные определения и понятия. Бинарный поиск по дереву. Формирование бинарного дерева этим методом
- •19.Бинарное дерево. Основные операции с бинарными деревьями. Способы обхода бинарного дерева. Варианты поиска по бинарному дереву
- •20.Рекурсия при работе со списками и деревьями. Очередь, стек, дек как формы работы со списком, действия над ними
- •21.Тестирование. Понятие и цель тестирования. Правильное и неправильное определение тестирования. Основные определения. Тестирование методом «чёрного ящика». Тестирование методом «белого ящика»
- •22.Отладка. Общие принципы, методы отладки. Взаимосвязь процессов тестирования и отладки, использование автоматических средств отладки
- •23.Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Отличие объектно-ориентированного подхода от модульного при разработке программ
- •25.Основные отличия языка Object Pascal (Delphi) от Turbo Pascal. Динамические массивы в Delphi: описание, особенности, применение
- •26.Структура модулей в Delphi. Интерфейсная, исполняемая части, инициирующая и завершающая части. Процедуры и функции: особенности в Delphi
- •27.Работа с файлами и папками в Delphi: стандартные процедуры и функции, дополнительные возможности по сравнению с Паскалем, окна диалогов работы с файлами
- •28.Определение термина «сертификация», виды сертификации. Организационная система сертификации
- •29.Основные функции органа по сертификации
- •30.Правовые основы сертификации в Российской Федерации. Требования, предъявляемые к испытательным лабораториям
- •31.Значение метрологии программных средств для повышения их качества и конкурентоспособности
- •32.Качество программного средства и его оценка. Показатели качества программных средств
- •33.Надёжность программных средств и её оценка. Модели надёжности
- •34.Проблемы, цели и задачи технико-экономического анализа разработки программных средств. Показатели технико-экономического анализа
- •35.Оценка экономической эффективности программных средств
- •36.Сертификация, метрология и научно-технический прогресс
25.Основные отличия языка Object Pascal (Delphi) от Turbo Pascal. Динамические массивы в Delphi: описание, особенности, применение
Turbo Pascal — интегрированная среда разработки для языка программирования Pascal и язык программирования в этой среде, диалект языка Паскаль от фирмы Borland.
Delphi — среда программирования, в которой используется язык программирования Object Pascal.
Object Pascal — результат развития языка Turbo Pascal, который, в свою очередь, развился из языка Pascal. Pascal был полностью процедурным языком.
Turbo Pascal, начиная с версии 5.5, добавил в Pascal объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI.
Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
Объектная модель Delphi Pascal по сравнению с моделью, использованной Borland Pascal 7.0, является более полной:
ограничение доступа к полям и методам за счет определения собственного интерфейса к каждому полю класса (пять типов секций при объявлении класса, использование свойств);
более развитые механизмы реализации полиморфных методов (абстрактные, динамические методы)',
средства работы с метаклассами (переменные метаклассов, методы классов, механизм RTTI).
Динамические массивы в Delphi.
Массив - это упорядоченный набор данных. Динамическим называется массив, размер которого может меняться во время исполнения программы.
Объявление массива: var My_Array: array of BaseType;
При таком объявлении память не выделятся, и первоначальный размер массива - нулевой.
Установка размера массива: SetLength(My_Array,100);
Получение числа элементов массива: n:=Length(My_Array);
Обращение к первому элементу массива: My_Array[0]:=10; x:=My_Array[0];
Объявление двумерного массива: var A: array of array of BaseType;
Если присвоить переменной динамический массив, то его содержимое не копируется, присваивается только указатель на массив. А вот если применить к новому массиву SetLength , то тогда и произойдет копирование.
26.Структура модулей в Delphi. Интерфейсная, исполняемая части, инициирующая и завершающая части. Процедуры и функции: особенности в Delphi
Проект в Delphi представляет собой набор программных единиц – модулей.
Delphi позволяет поместить свои функции и процедуры в отдельный модуль (Unit), а затем использовать процедуры и функции модуля в своих программах, указав имя модуля в списке модулей, необходимых программе (инструкция uses). Модуль – это файл с расширением *.pas.
Начинается модуль заголовком — инструкцией unit, в которой указано имя модуля.
Модуль состоит из последовательности разделов. Каждый раздел начинается ключевым словом и продолжается до начала следующего раздела. В раздел implementation (реализация) нужно поместить процедуры и функции, объявленные в разделе interface.
Структура модулей в Delphi.
Unit <имя>;
Interface <интерфейсная часть>
Implementation <исполняемая часть>
initialization <инициирующая часть>
finalization <завершающая часть>
end.
Инициирующая и завершающая части чаще всего отсутствуют. В инициирующей части размещаются операторы, которые исполняются до передачи управления основной программе и обычно используются для подготовки ее работы. В завершающей части указываются операторы, выполняющиеся после завершения работы основной программы (в них освобождаются выделенные программе ресурсы, закрываются файлы и т. д.).
unit ИмяМодуля;
interface // раздел интерфейса
{ Описания процедур и функций модуля, которые могут использоваться другими модулями. }
const // раздел объявления констант
{ Объявления глобальных констант модуля, которые могут использоваться процедурами и функциями модуля.}
type // раздал объявления типов
{ Объявления глобальных типов модуля, которые могут использоваться процедурами и функциями модуля }
var // раздел объявления переменных
{ Объявления глобальных переменных модуля, которые могут использоваться процедурами и функциями модуля}
implementation // раздел реализации
{ Описания (текст) процедур и функций модуля!}
end.
Использование модуля. Для того чтобы в программе могли применяться функции и процедуры модуля, необходимо добавить этот модуль к проекту и указать имя модуля в списке используемых модулей. После добавления имени модуля в список модулей, используемых приложением, сам модуль нужно добавить в проект.
Процедуры и функции в Delphi.
Процедура – подпрограмма, которая выполняет какие-то действия, и которую можно вызвать из другого места программы. После выполнения процедуры выполнение программы продолжается с того места, откуда она была вызвана.
Процедура — это разновидность подпрограммы. Обычно подпрограмма реализуется как процедура в двух случаях:
когда подпрограмма не возвращает в основную программу никаких данных;
когда подпрограмма возвращает в вызвавшую ее программу больше чем одно значение.
Параметры – это входные данные.
Объявление процедуры
procedure ИмяПроцедуры {var параметр1: тип1; … var параметр К : тип К);
var
// здесь объявление локальных переменных
begin
// здесь инструкции процедуры
end;
Использование процедуры. Разработанную процедуру нужно поместить в раздел implementation, перед подпрограммой, которая использует эту процедуру.
Вызов процедуры: ИмяПроцедуры (СписокПараметров);
Функции – это такие же подпрограммы, как и процедуры. Отличие функций от процедур в том, что они не просто выполняют какие-то действия и расчеты, но и могут возвращать результат определенного типа (необходимо указать тип этого результата).
Объявление функции
function NameFunc(Param : Тип) : Тип_возвращаемого_значения;
var
//объявление переменных (необязательно)
begin
//тело функции
Result := результат вычислений;
end;
Кроме того, в каждой функции по умолчанию имеется переменная Result, которая имеет тот же тип, что и тип возвращаемого значения. В отличие от других языков, в Delphi этой переменной можно присваивать значение неоднократно. Результатом будет последнее присвоенное значение.
Строка: Result := результат вычислений;
будет полностью идентична: NameFunc := результат вычислений;