![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Айра |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Привет! Очень надеюсь на вашу помощь в разжевывании некоторых понятий
![]() Итак приступим-с: 1. Банально.. Свойства алгоритма. Массовость - це значит, что любой алгоритм должен решать какую-то конкретную задачу из определенного класса задач, причем такой класс либо бесконечен, либо конечен, но очень "баальшой".. Так вот.. А можно это сказать как-то по-человечески и с примером? 2. Тут мне б тоже пример хотелось: а) перечислимый тип (а сюда пойдет, например, тип месяцы(-а))) с элементами январь, февраль и т.д.?) б) ссылочный тип - знаю, что значение любого ссылочного типа - это адрес памяти, но в живую не встречала.. познакомите?)) Пока все, но думаю еще вопросы появятся.. Я только начала подготовку.. Заранее пасибо)) Сообщение отредактировано: Айра - 6.01.2008 1:19 |
![]() ![]() |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
У списка есть недостаток перед массивом - нельзя сразу перейти к элементу с нужным номером: приходится перебирать все элементы с начала. Тут ничего не поделаешь - зато у списка есть другие преимущества перед массивом. Поэтому длиная цепочка ссылок - всего лишь способ добраться до нужного элемента (как знать, вдруг белке захотелось полакомиться именно орехом урожая 1894 года?).
Еще один пример на ссылку на ссылку (мне привычнее употреблять термин "адрес"). В Паскале не очень вразумительно сделаны указатели, поэтому лучше на примере Си. Хочется иметь строки неограниченной длины. Но хочется также иметь тип данных фиксированной длины, например для того, чтобы можно было сделать из них массив. Как совместить эти требования? Например, использовав в качестве типа адрес первого символа строки, а конец строки пометить каким-либо ограничителем, скажем, символом с кодом 0. То есть строка у нас на самом деле имеет тип указателя. Теперь нам нужно, чтобы некая процедура возвращала строку. Чтобы передать строку внутрь процедуры достаточно переда ее значение (в нашем случае это адрес), а чтобы получить обратно - нужен адрес: для того, чтобы записать по этому адресу значенние переменной. Вот мы и передаем в процедуру адрес указателя на первый символ строки. А процедура записывает по этому адресу адрес тела уже существующей строки. Если бы перед нами стояла задача обойтись единственным адресом, пришлось бы дополнительно резервировать память и создавать копию строки вместо того, чтобы использовать адрес уже существующей. Сообщение отредактировано: andriano - 6.01.2008 11:03 |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 5:35 |