
- •Этот вопрос для идиота!
- •Поиск элемента в неупорядоченном массиве
- •Поиск элемента в упорядоченном массиве
- •Запомните: Отличие между функцией и процедурой в том:
- •Процедуры передачи управления
- •Структурные типы в Паскале
- •Сортировка выбором
- •Со стеками обычно выполняются следующие действия:
- •Действия со строками в Паскале
- •Структурная организация данных:
- •Интервальный тип данных
- •Функция сложности алгоритма.
- •Сочувствую кому это поподется!
Процедуры передачи управления
В Паскале есть несколько стандартных процедур, изменяющих последовательность выполнения операторов:
break - завершает выполнение цикла, внутри которого записана;
continue - выполняет переход к следующей итерации цикла;
exit - выходит из программы или подпрограммы, внутри которой записана;
halt - немедленно завершает выполнение программы.
Кроме того, для передачи управления используется оператор перехода goto
Оператор перехода goto
Этот оператор имеет простой синтаксис: в точке программы, из которой требуется организовать переход, после слова goto через пробел записывается имя метки, например goto 1 или goto error. При программировании на Паскале необходимость в применении оператора перехода возникает, как правило, в двух случаях:
-принудительный выход вниз по тексту программы из нескольких вложенных циклов или операторов выбора;
-переход из нескольких мест программы в одно (например, если перед выходом из программы необходимо всегда выполнять какие-либо действия).
№35
Динамическая память - это оперативная память ЭВМ, предоставляемая Турбо-Паскалевой программе при её работе, за вычетом сегмента данных (64 К), стека (обычно 16 К) и собственно тела программы. По умолчанию размер динамической памяти определяется всей доступной памятью ЭВМ и, как правило, составляет не менее 200 - 300 Кбайт.
Динамическую память обычно используют при:
1. обработке больших массивов данных;
2. разработке САПР;
3. временном запоминании данных при работе с графическими и звуковыми средствами
ЭВМ.
Размещение статических переменных в памяти осуществляется компилятором в процессе компиляции.
Динамические переменные - размещаются в памяти непосредственно в процессе работы программы. При динамическом размещении заранее неизвестны ни тип, ни количество размещаемых данных, к ним нельзя обращаться по именам, как к статическим переменным. Турбо-Паскаль представляет средство управления динамической памятью: указатели.
№36
Работа со структурами данных
Возможность выделения и освобождения области памяти позволяет создавать структуры данных с переменным числом элементов - динамические структуры. Чаще всего используют т. н. связанные структуры, когда среди элементов устанавливается некоторая иерархия, например наподобие генеалогического дерева. Среди таких структур наибольшее распространение в различных практических приложениях получили линейные структуры (списки) и структуры-деревья (более подробно о разнообразии структур см., например, [6,7]. В связных структурах обычно используются однотипные элементы. Каждый элемент имеет две различные части:
-информационную часть - та часть, которая содержит всю информацию о том или ином объекте (например если это структура целых чисел, то значение конкретного числа);
-ссылку на соседний элемент (соседние элементы) в конкретной иерархии элементов (например, если структура является списком, то ссылка на элемент, стоящий в списке непосредственно за данным элементом, а может быть, и на предыдущий элемент).
Наиболее удобно для фиксации такой информации использовать тип-запись. Однако при задании такого типа элемента возникает определенная трудность, связанная с тем, что этот тип должен содержать тип-указатель на элемент структуры, который, в свою очередь, нельзя определить, пока не определен тип элемента. При этом, в какой бы последовательности ни определялись эти типы, будет нарушено правило, гласящее, что использовать можно только те элементы программы, которые определены ранее. Для устранения этого препятствия в языке Паскаль сделано исключение из указанного правила по отношению к двум типам данных, один из которых является типом-указатель на объект второго типа.