Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  13:40[Войти] | [Зарегистрироваться]
Обсуждение темы:
Информатика-21. Форум проекта

Форум открыт по просьбам читателей сайта проекта для обсуждения Оберона/Компонентного Паскаля/Блэкбокса как технологической платформы для современной общей системы преподавания программирования, параллельной и дополняющей систему преподавания математики. Мнения за и против, вопросы как и почему, и т.п.

Характер форума предполагает максимальную корректность высказываний: модераторы удалят без предупреждения любые сообщения с вульгарным или неуместным контентом, переходом на личности и т.п.

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 1147 сообщений

Добавить свое сообщение


Дополнительные ссылки
  1. Проект «Информатика—21»
  2. Обсуждение темы "Мысли об Обероне" на Королевстве

Уважаемые участники форума!
Обращаем ваше внимание на тот факт, что данная тема никоим образом не допускает offtopic и предполагает максимальную корректность высказываний: модераторы удалят без предупреждения любые сообщения с вульгарным или неуместным контентом, переходом на личности и т.п.



Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 287—278 | 277—268 | 267—258 | ...>>>
Всего сообщений в теме: 1147; страниц: 115; текущая страница: 88


№ 277   17-05-2005 06:45 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>Впрочем обсуждение указателей - жестокий
>>>оффтоп по отношению к теме. С этим лучше
>>>в "Мысли".

А вот с этим не согласен категорически.
Мы же обсуждаем Оберон и Блэкбокс как платформу для преподавания программирования и математики!
Наличие и отсутствие указателей в языке имеет важнейшее значение именно для образовательных целей. Любой преподаватель знает: ничто так не развивает алгоритмическое мышление, как программирование рекурсий и динамических структур данных :). При этом для промышленного программирования эти штучки может и не очень важны, но для развития операционных возможностей мышления - это просто "золото". Для меня лично если человек может написать процедуру обхода двоичного дерева или хотя бы превращения простого массива в кольцевой список с указателями, то это "критерий": мозги уже созрели для работы в области программирования. И наоборот, если человек никак не может понять разницу между ссылкой и тем, на что эта ссылка указывает, то это тоже показательно - у человека есть проблемы с логическим мышлением.
Так что вопрос очень даже по теме:
Ссылки (указатели) в языке, используемом для обучения будущих программистов - это вред или благо?



№ 276   17-05-2005 06:21 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>Если уж C# то надо посматривать в сторону
>>>Zonnon-а.

Думаю смысл вопроса в другом. С кем двигаться вместе: с "большевиками" или с "меньшевиками". Шефа понять можно. C# - это популярность на рынке, большие капиталы, уверенность в завтрашнем дне: MS всегда была, есть и будет. А BlackBox - это "черный ящик", да еще freeware, что уже само по себе подозрительно :).



№ 275   17-05-2005 06:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Кстати, у меня складывается впечатление, что сам способ "обзывания" указателей "указывает" на уровень языка.
Если мы говорим "адрес", то уровень низкий (например, Ассемблер).
Если мы говорим "указатель", то уровень выше.
Если мы говорим "ссылка", то еще выше: мы оперируем чисто логическими понятиями и ни о каких физических адресах не упоминаем.


№ 274   17-05-2005 06:05 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 262« (Андрей Иванов)
___________________________


У меня другой вопрос.
Где (за какие деньги, способ оплаты) приобрести BlackBox с причандалами
- коммерческую версию в рабочем состоянии с лицензией.


http://www.oberon.ch/blackbox.html
http://www.oberon.ch/contact.html

Добро от шефа получено. Иначе меня склоняют к сожительству с С#.

Сравнил красное с кислым.

Если уж C# то надо посматривать в сторону Zonnon-а.



№ 273   17-05-2005 06:04 Ответить на это сообщение Ответить на это сообщение с цитированием
В Обероне не указатели а скорее ссылки, независимые в общем случае от реализации. Действительно, можно даже говорить о связях, причём об "односторонних". Для полноты картины в языке не хватает "двусторонних" указателей. Вот только вопрос, как их реализовать?

Впрочем обсуждение указателей - жестокий оффтоп по отношению к теме. С этим лучше в "Мысли".


№ 272   17-05-2005 05:42 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>Вообще говоря, для работы со списками и
>>>деревьями в указателях нет необходимости.
>>>Скорее это средство для более низкоуровневого
>>>манипулирования памятью.

Я и не говорил о необходимости - я говорил о возможности :). Указатель - это одна из возможностей отразить логические связи между элементами данных. А насчет низкоуровневого манипулирования - это вопрос спорный. Это смотря как воспринимать указатель - как адрес памяти, с которым можно делать что угодно (как в Си) или как ссылку на переменную, т.е. как эквивалент логической связи между данными (как в Паскалях/Оберонах). В последнем случае манипулирование скорее получается логическим, чем физическим, т.е. достаточно высокоуровневым. Тем более, что при работе с указателями такие слова как "адрес" и "память" можно вообще не использовать. Это мы, технари, понимаем, что это все равно связано с адресами памяти. А для математика есть просто "связь от одного узла списка к другому". Эту связь можно создать, а можно уничтожить или направить к другому узлу.


№ 271   17-05-2005 05:20 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 260« (S.A.)
___________________________
Вообще говоря, для работы со списками и деревьями в указателях нет необходимости. Скорее это средство для более низкоуровневого манипулирования памятью.


№ 270   17-05-2005 04:39 Ответить на это сообщение Ответить на это сообщение с цитированием
Проблема еще и в том, что "минимизация" языка может довести до абсурда. Насколько мне известно в первых версиях Оберона был исключен даже оператор типа for. Правда потом его быстро вернули. То же самое и со структурами данных. Конечно, механизмы работы со ссылками/указателями можно исключить из языка. Станет ли язык от этого лучше? Самое интересное состоит еще и в том, что даже когда мы не используем указатели в явной форме, они все равно присутствуют - любая переменная-объект - это фактически указатель на область памяти, выделенную для объекта. Значит вопрос может звучать так: должен ли язык высокого уровня предоставлять возможность работы с динамическими данными непосредственно или эти механизмы должны быть скрыты от программиста?


№ 269   17-05-2005 04:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Вообще-то я том же говорю :). Есть статика и есть динамика. Если время более важно, чем память, то работай со статическими структурами. А если наоборот - с динамическими. Просто "язык с указателями" дает возможность осознанного выбора.


№ 268   17-05-2005 03:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Да, такой подход имеет право на существование.

Вот пример:


TYPE
  ListNode = RECORD
    (*...*)
    next: INTEGER; (* если = -1, значит "NIL" *)
  END;

  TreeNode = RECORD
    (*...*)
    left, right: INTEGER; (* если = -1, значит "NIL" *)
  END;

VAR
  ListNodes: ARRAY 1000 OF ListNode;
  TreeNodes: ARRAY 1000 OF TreeNode;


ListNode.next - это индекс в массиве ListNodes.
TreeNode.left и TreeNode.right - это индексы в массиве TreeNodes.




<<<... | 287—278 | 277—268 | 267—258 | ...>>>
Всего сообщений в теме: 1147; страниц: 115; текущая страница: 88


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования