- •1. Нарисуйте и опишите структуру главного окна системы Delphi. Для чего нужно окно инспектора объектов и как им пользоваться?
- •2. Объясните назначение окна формы. Как на нём размещать компоненты и настраивать их параметры?
- •4. Что собой представляет программа решения задачи в системе Delphi? Как организуются процедуры обработки событий: «щелчок мыши на кнопке», «создание формы»?
- •8. Как запустить программу? Как работать с программой? Как остановить программу для её редактирования?
- •9. Какие файлы содержит программа, их структура? Как организовать запись программы в отдельный каталог? Как создать новый каталог?
- •12. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора repeat.
- •13. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора while.
- •14.Приведите примеры схем циклических алгоритмов и их программ с использованием оператора for.
- •15. Как организуется работа с массивами в языке Pascal: описание, обращение к элементам, операции над массивами? Проиллюстрируйте на примерах.
- •16. Понятия статического и динамического распределения памяти. Что такое указатель? Операции над указателями. Что такое динамическая переменная? Наложение переменных с помощью указателя.
- •17. Понятие множеств в языке Pascal. Как они описываются? Какие операции над ними допустимы? Привести примеры их полезного использования.
- •18. Что такое строки в языке Pascal? Как они описываются, что такое текущая и максимальная длина строки? Опишите процедуры и функции обработки строк.
- •23. Как выводить графики в Delphi, используя компоненту tImage. Опишите последовательность действий по настройке tImage и фрагмент программы вывода закрашенного квадрата внутри круга.
- •24. Что такое записи в языке Pascal? Как они описываются, в чем особенность вариантной части?
- •25.Понятие объекта и класса. Объясните на примерах, что такое инкапсуляция наследственность и полиморфизм, раннее и позднее связывание
- •26. Что такое виртуальный и динамический способы реализации полиморфизма. В чем их различие. Понятие абстрактного метода. Как реализуется вызов родительского метода в методе потомке?
- •27.Назначение конструктора и деструктора. Приведите примеры их описаний. Их вид в Delphi
- •28.Понятие свойств класса, для чего они нужны? Как они описываются? Приведите примеры классов со свойствами
- •29. Постановка задачи оптимального выбора. Двоичное дерево решений. Метод полного перебора, метод ветвей и границ эвристические методы.
12. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора repeat.
Под циклом понимается многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений может быть задано в явной или неявной форме. Для организации повторений в языке Pascal предусмотрены три различных оператора цикла, один из них оператор repeat:
*Оператор repeat:
repeat
<операторы>
until<условие>;
организует повторение операторов, помещенных между ключевыми словами repeat и until, до тех пор, пока не выполнится <условие>=true, после чего управление передается следующему за циклом оператору.
Оператор repeat имеет три характерные особенности: -выполняется по крайней мере один раз; -тело цикла выполняется, пока условие равно false; -в теле может находиться произвольное число операторов без операторных скобок begin...end. По крайней мере один из операторов тела цикла должен влиять на значение условия, иначе цикл будет выполняться бесконечно. Пример:
I:=0;
Repeat
I:=I+1;
Writeln(I);
Until I>10;
13. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора while.
Под циклом понимается многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений может быть задано в явной или неявной форме. Для организации повторений в языке Pascal предусмотрены три различных оператора цикла, один из них оператор while:
* Оператор while:
While<условие>do begin
<операторы>
end;
организует повторение операторов, помещенных между begin и end, до тех пор, пока не выполнится <условие>=false. Заметим, что если <условие>=false при первом входе, то <операторы> не выполнятся ни разу, в отличие от repeat, в котором хотя бы один раз они выполнятся.
Как и в операторе repeat, программист сам должен позаботиться об изменении переменных, определяющих условие выхода, иначе цикл получится бесконечным. Выйти из цикла можно, минуя вычисление выражения условия, с помощью процедуры break. Пример:
I:=1;
While I<10 Do
Begin
I:=I+1;
Writeln(I);
End;
14.Приведите примеры схем циклических алгоритмов и их программ с использованием оператора for.
Под циклом понимается многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений может быть задано в явной или неявной форме. Для организации повторений в языке Pascal предусмотрены три различных оператора цикла, один из них оператор for:
*Оператор for:
for i:=i1 to i2 do begin
<операторы>
end;
организует повторение операторов при нарастающем изменении переменной цикла i от начального значения i1 до конечного i2 с шагом “единица”. Заметим, что если i2>i1, то <операторы> не выполнятся ни разу. Модификация оператора for i:=i2 downto i1 do begin <операторы> end организует повторения при убывающем изменении i на единицу.
Для прекращения выполнение цикла используется процедура Break, которая прерывает выполнение тела любого цикла и передает управление следующему за циклом оператору. Для прерывания текущей итерации цикла и передачи управления следующей, используется процедура Continue.
Параметры цикла, его начальные и конечные значения должны принадлежать к одному и тому же типу данных. В операторе for Pascal не допускает изменение параметра цикла на величину, отличную от единицы. Однако это не является большим недостатком, так как любой шаг можно задать при организации циклов в операторах repeat и while. В теле оператора for могут находиться другие операторы for. Это позволяет строить циклы, содержащие внутренние циклы. Такие внутренние циклы называются вложенными:
for i:=1 to 10 do
for j:=1 to 5 do
a[i,j]:=0; {обнуление элементов матрицы}
Пример:
For I:=1 to 5 Do;
Begin
A:=A+I;
B:=B*I
Writeln(A,B);
End;