- •Вопрос 29. Ссылочный тип данных. Указатели.
- •Вопрос 30. Динамическая память.
- •Вопрос 31. Очередь.
- •Вопрос 39 Способы обхода дерева
- •Вопрос 3 Жизненный цикл программного продукта
- •Вопрос 32 Стек
- •Вопрос 37 Деревья
- •Вопрос 38 Идеально-сбалансированное дерево
- •Вопрос 40 Дерево поиска
- •Вопрос 45 Конструкторы Деструкторы
- •Вопрос 1 Основные этапы решения задач на эвм.
- •Вопрос 2 Критерии качества программы.
- •Вопрос 10 Тождественность и совместимость типов данных языка Object
- •Вопрос 12 Ввод-вывод информации средствами Delphi
- •Вопрос 34 Линейные динамические структуры данных. Двунаправленые списки.
- •Вопрос 13 Простые операторы языка Object Pascal
- •Вопрос 35 Линейные динамические структуры данных. Кольцевые списки.
- •Вопрос 36 Мультисписки
- •Вопрос 17 Массивы
- •Вопрос 18 Множества
- •Вопрос 11 Выражения и операции в языке Object Pascal.
- •Вопрос 16 Строковый тип данных
- •Вопрос 19 Тип данных запись
- •Вопрос 20 Записи с вариантами
- •Вопрос 43 Классы
Вопрос 10 Тождественность и совместимость типов данных языка Object
Типы называются тождественными, если для их описания использован один и тот же тип. Типы являются совместными в операциях присваивания, если выполняется одно из условий: 1) Типы тождественны 2)Оба типа явл совместными в операциях сравнения 3)1-й тип явл вещ., а 2-й целочисл. 4) 1-й строковый, а 2-й символьный.
Типы явл совместными в операциях сравнения, если выполняются условия 1)Типы явл тождественными 2)1-й из типов явл поддиапазоном другого 3)Оба явл поддиапазонами одного и того же типа.
Вопрос 12 Ввод-вывод информации средствами Delphi
Некоторые компоненты: 1) Метка(Tlable.Caption) 2)TEdit; Edit1.text; 3)Tmemo; Memo1.Lines. Ввод данных из поля диалогового окна: ввод(var a:integer; a:=strtoint(Edit1.text), вывод(Edit1.text:=inttostr(a)). Ввод из окна ввода(x:=InputBox(заголовок, подсказка и значение(пример: х:=InputBox(‘радиус’, введите радиус в сантиметрах)).
Вывод данных в окно сообщений(реализация с использованием процедуры ShowMessage(‘сообщение’)).
Вопрос 34 Линейные динамические структуры данных. Двунаправленые списки.
Д ля перехода по списку в том или ином направлении нужно знать указатель на нач и кон списка. Добавление и удаление в двунаправленном списке можно проводить в любом месте списка.
У даление: Добавление:
Pre^.link1:=P^.link1;
P^.link1^.link2:=P^.link2;
Dispose(P);
New(NewP); NewP^.inf:=«информация» ; NewP^.link1:=P2;(NewP^.link1:=P1^.link1);NewP^.link2:=P1;(NewP^.link2:=P2^.link);P1^.link1:=NewP;P2^.link2:=NewP;
Вопрос 13 Простые операторы языка Object Pascal
Присваивание: Общая форма записи оператора: имя величины := выражение;
(пример, V:=A; или V:=A+1;). Вызов процедуры: Общая форма записи:
procedure имя процедуры (формальные параметры);раздел описаний процедуры
begin исполняемая часть процедуры end;. Безусловный переход: Формат:
goto метка (Оператор goto переходит при выполнении программы к определенному оператору программы, перед которым находится метка). Пустой оператор: Наличие точки с запятой перед end означало, что между последним оператором и операторной скобкой end располагается пустой оператор. Пустой оператор не содержит никаких действий, просто в программу добавляется лишняя точка с запятой. В основном пустой оператор используется для передачи управления в конец составного оператора.
Вопрос 35 Линейные динамические структуры данных. Кольцевые списки.
Линейный однонаправленный список-кольцевой, если последний элемент списка ссылается на первый, как на следующий.
TypeTspisok=^TElement; TElement=rocord inf: тип данных; link:TSpisok; end;
Создание лин. од. кольц. списка:
P^.link:=BegP; EndP^.link:=P; EndP:=P;
Добавление в середину лин.од.кол.сп. аналогично добавлению в обычный список.
Линейный двунаправленный список-кольцевой, если последний элемент списка ссылается на первый, как на следующий, а первый ссылается на последний, как на предыдущий.
Вопрос 36 Мультисписки
М ультисписок-это нелинейная динамич. структура данных, каждый элемент которой входит более чем в 1 список одновременно. Пример:
Type TSpisok=^TElement; TElement=Record
col:byte; inf:byte; link:TSpisok; end;
TMas=arrey[0..N] of Element; Mas=^Mas;
Для определения значения эл-та, находящегося в i-й строке и в j-м столбце просмотр элементов начинают с i-го списка строки. Указатель при этом фиксируется на первом элементе, и осуществляется просмотр j-го списка столбца. Переход осуществляется до тех пор, пока указатель не будет равен nil(в этом случае будет переход к следующему столбцу) или указатель совпадает с указателем на элемент в строке (элемент в этом случае найден).