OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 17:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 197 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 02 Июнь, 2007 22:53 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Vlad писал(а):
По-моему цель у всех уважающих себя авторов одна - донести свои знания и опыт до читателя. Причем здесь бизнес?

С этим лучше к гослингам...
При том, учтите, что как бы академическую науку не обвиняли в "оторванности от реальной жизни", вдумчивое "обкашливание" и "обсасывание" проблем со всех сторон, помогает находит сжатые и универсальные решения, чем, "кавалерийский наскок" "пареньков от сохи" или ушедших в "глубокий бизнес"... Так шо цели, как раз, - отличаются.
Не знаю, как щаз, но у меня всегда было наивное представление, что "фтюхать" особо тот же Вирт никому ничего никогда не пытался, в отличие от тех же крикунов от Си++ или, тем более, явы с разными рубями...


Последний раз редактировалось Wlad Понедельник, 04 Июнь, 2007 10:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 04 Июнь, 2007 09:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Vlad писал(а):
Люди в моей компании, например, ищут исключительно через функциюю find.

Значит Вы работаете в компании второсортных программистов, а я в компании первосортных, т. е. в той, в которой пишут внутренность всяких функций навроде find для того, чтобы потом второсортные программисты их использовали.

Vlad писал(а):
Вот ты и отрываешься на кандидатах, заставляя их использовать неэффективные инструменты в силу твоей личной к ним привязанности.

Мне нужны высшие первосортные кандидаты, а не народные ополченцы, так что отрываться на них по полной программе я право имею. Однако, Вы даже не представляете себе какой сложности вопросы у меня заготовлены для тех кто сможет написать линейный поиск - простейший тест на вшивость... На таком простом вопросе и оторваться-то не получится. Объективности ради надо заметить, что собеседование я провожу не один (для объективности, всегда собеседуют как минимум двое), собеседуют от 2 до 6 человек в 2-3 разных проекта до 1.5 часов подряд. Тот кандидат, который не годится в мой проект запросто может быть с руками оторван в другой - второсортный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 04 Июнь, 2007 11:41 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Wlad писал(а):
Не знаю, как щаз, но у меня всегда было наивное представление, что "фтюхать" особо тот же Вирт никому ничего никогда не пытался, в отличие от тех же крикунов от Си++ или, тем более, явы с разными рубями...


Лично у меня ощущение "втюхать" было только от жабы. Однако это ощущение приходило не от конкретных авторов конкретных книг по жабе, а скорее от действий солнцевских.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 04 Июнь, 2007 11:47 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Сергей Губанов писал(а):
Vlad писал(а):
Люди в моей компании, например, ищут исключительно через функциюю find.

Значит Вы работаете в компании второсортных программистов, а я в компании первосортных,


Понятия "первосортные" и "второсортные" не несут никакой полезной информации, помимо эмоциональной окраски. Поэтому предлагаю мирно разойтись, благо мне не грозит попасть в Вашу компанию, а Вам не светит попасть в мою.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 07 Июнь, 2007 23:55 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
С программистского форума:

Цитата:
Вопрос: Сколько строк кода вы можете написать в один присест?
Ответ: Не больше 5, если они не взаимосвязаны. Если есть связный кусок кода, то его целиком. Дальше по возможности провожу проверку runtime'ом, чтобы исключить ошибки на этапе их возникновения.


Не быть уверенным ни в одной строчке своего кода - это нечто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 08 Июнь, 2007 05:49 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
С программистского форума:

Цитата:
Вопрос: Сколько строк кода вы можете написать в один присест?
Ответ: Не больше 5, если они не взаимосвязаны. Если есть связный кусок кода, то его целиком. Дальше по возможности провожу проверку runtime'ом, чтобы исключить ошибки на этапе их возникновения.


Не быть уверенным ни в одной строчке своего кода - это нечто.


Опять выдираешь из контекста. Например, применительно к TTD это высказывание вполне имеет шанс быть обоснованным.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 00:46 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
С большим интересом прочитал спор о while и for. Что кому наглядно - дело привычки, но вариант с while элегантнее...
Но в этой дискуссии был упущен ещё один вариант - и с for-ом и без break-а, заодно с пустым телом цикла. Но его нельзя реализовать на языках семейства Паскаля... только на Си-образных...
Код:
void main()
{
  int a[10] = {1,2,3,4,5,6,7,8,9,10};
  int i, x;

  scanf("%d", &x);
  for (i = 0; i < 10 && a[i] != x; i++);

  if (i < 10)
    printf("a[%d]=%d\n", i, a[i]);   
  else       
    printf("Not found!");
}


А вот код для двухмерного массива и тоже без break. Я отлично понимаю, что он весьма дурного вкуса, но это не рабочий вариант, а это хак, пригодный только для оптимизации кода и в обучении низкоуровневому программированию (для лучшего понимания, что же такое массив).
Код:
void main()
{
  int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
  int i, x;
  int *ptr;

  x = 5;
  for (ptr = &a[0][0], i = 0;
       i < 3*3 && ptr[i] != x;
       i++); 
  printf("a[%d][%d]=%d\n",i / 3, i % 3, ptr[i]);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 01:34 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Цитата:
for (i = 0; i < 10 && a[i] != x; i++);[/Quote]

Не понял, а что мешает реализовать этот цикл через WHILE? Собственно, это уже и есть WHILE - т.е. цикл с предпроверкой из трёх частей - инициализация, условие продолжение, изменение. Чем и является в общем случае си-шный for.
Вопрос только в ключевом слове.
В дискуссии выше под FOR следует понимать "цикл со счётчиком", который определяет фиксированное число повторений.
Просто Ваш for - это не тот FOR, о котором шла речь выше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 07:53 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
ScrollLock писал(а):
...для лучшего понимания, что же такое массив.

Скорее, для понимания того, что в Си for не отличается от while, и того, что не понятно, зачем нужно два разных while.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 10:30 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Илья Ермаков писал(а):
Не понял, а что мешает реализовать этот цикл через WHILE?
Ничто не мешает - просто в отличие от варианта с WHILE/while тут всё в одну строчку (вместе с обнулением счётчика цикла) и на мой взгляд даже более наглядно (речь только про вариант для одномерного массива).

Александр Ильин писал(а):
Скорее, для понимания того, что в Си for не отличается от while, и того, что не понятно, зачем нужно два разных while.

По существу не отличается, но его намного удобнее применять там, где применяется FOR Бейсика и Паскаля/Модулы/Оберона. Он менее защищён от ошибок программиста, но зато более гибок. Кстати, меня всегда удивляло, почему нельзя было в сделать в Паскале FOR по типу Бейсика - с регулируемым шагом. Это иногда бывает полезным.
А для лучшего понимания природы массива - это второй вариант, где "трюк" с указателем.

P.S. Кстати, в самом первом сообщении я считаю задание на 2 балла не менее наглядным, чем на 1 балл. И тут есть, за что набавить балл - за придумывания не совсем тривиального алгоритма. И оба варианта довольно структурированы.
P.P.S. Для двухмерного массива я не написал ещё два варианта: с goto и с управляющими флагами (без goto).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 10:35 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
По поводу шага цикла - в Компонентном Паскале FOR TO BY DO.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 10:40 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Вот только шаг цикла задаётся константой, что снижает его ценность.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 10:45 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Иван Горячев писал(а):
Вот только шаг цикла задаётся константой, что снижает его ценность.

Почему? Им ведь так удобно расчерчивать сетку для графика и таблицу значений функций.

Илья Ермаков писал(а):
По поводу шага цикла - в Компонентном Паскале FOR TO BY DO.

Большое спасибо! Значит, и правда в Обероне удобств больше, чем в Паскале. Просто я этим языком заинтересовался совсем недавно, когда увидел его на проекте Информатика-21. Уже лет пять не пользовался Паскалем и его производными (хотя программы понимаю)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 10:51 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
ScrollLock писал(а):
Иван Горячев писал(а):
Вот только шаг цикла задаётся константой, что снижает его ценность.

Почему? Им ведь так удобно расчерчивать сетку для графика и таблицу значений функций

Да, неправ. Цикл FOR применим для ограниченного круга задач (недаром он даже в опале побывал), а для большой гибкости всегда есть WHILE.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 19:37 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
PRG писал(а):
Это и все, что понимается под марковскими языками?

Когда-то я на Дельфях делал интерпретатор для самого настоящего марковского языка - PROLAN/M. Самодельный язык, придуманный (или просто описанный? не знаю) неким В.В. Прохоровым и описанный в журнале ИНФорматика и Образование (ИНФО) в 86 году.

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

(a,b), (bc, cde), и т.д. до (,)

в смысле:

(что_искать1, чем_заменить_1), (что_искать2, чем_заменить_2), и т.д. до (усё_на_этом)

После каждой замены цикл повторяется с начала программы, и так до тех пор, пока в результирующей строке не найдётся ни одной последовательности из списка, задаваемого "программой".

Там были ещё задачи, которые надо было решить на этом языке, увы, я решил только первые несколько, остальные просто не вкурил как решать... :о)) Такие, как "заменить число++ на число+1", тупой вариант типа
Код:
 (199++,200) (299++,300) (399++,400) (499++,500)
 (599++,600) (699++,700) (799++,800) (899++,900) (999++,1000)
  (19++,20)   (29++,30)   (39++,40)   (49++,50)
  (59++,60)   (69++,70)   (79++,80)   (89++,90)   (99++,100)
   (9++,10)    (0++,1)     (1++,2)     (2++,3)     (3++,4)
   (4++,5)     (5++,6)     (6++,7)     (7++,8)     (8++,9)     (,)
мне не понравился (он ограничен до 1998++), а как по-другому (что бы коротко и по всему диапазону натуральных чисел), я не догнал. Подозреваю, PROLAN/M не был полным по Тьюрингу... Полон, но при условии бесконечных ресурсов... :о)

Этот язык показывает суть марковских языков - циклическую подстановку символов в строке вплоть до получения нужного результата.
Рефал на него не очень похож, но тем не менее считается не только функциональным, но и марковским тоже. Вроде ещё и Ребол относился к марковским...

ЗЫ. Этот В.В. Прохоров описывал ещё и ФЯ PROLAN/F - этакий микро-Хаскелл, жаль, я потерял тот номер... :о(

ЗЗЫ. В прикреплённом архиве - та самая моя "IDE" для PROLAN/M. :о))

ЗЗЗЫ. А вапще все эти ваши WHILE-DO, foreach и даже IF-THEN-ELSE - всего лишь синтаксический сахар, без которого при желании можно легко прожить... :о))))


Вложения:
Prolan-M.zip [164.49 КБ]
Скачиваний: 432


Последний раз редактировалось Geniepro Среда, 01 Август, 2007 22:24, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Среда, 01 Август, 2007 19:37 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Александр Ильин писал(а):
Vlad писал(а):
А гвозди будешь забивать микроскопом, потому что им можно еще и на звезды смотреть?

На микроскопические звезды.
: ))

Если с бинокулярного микроскопа снять объектив, то получится бинокль! :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 20:29 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Geniepro писал(а):
Этот язык показывает суть марковских языков - циклическую подстановку символов в строке вплоть до получения нужного результата.
Это суть определение нормального алгоритма. Другая форма всё той же машины Тьюринга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 21:07 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
GUEST писал(а):
Geniepro писал(а):
Этот язык показывает суть марковских языков - циклическую подстановку символов в строке вплоть до получения нужного результата.
Это суть определение нормального алгоритма. Другая форма всё той же машины Тьюринга.

Нормального алгорифма Маркова...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 21:11 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Geniepro писал(а):
ЗЫ. Этот В.В. Прохоров описывал ещё и ФЯ PROLAN/F - этакий микро-Хаскелл, жаль, я потерял тот номер... :о(

А в интернет-архивах нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Об одной задаче из ЕГЭ
СообщениеДобавлено: Среда, 01 Август, 2007 21:51 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Geniepro писал(а):
Этот язык показывает суть марковских языков - циклическую подстановку символов в строке вплоть до получения нужного результата.
Рефал на него не очень похож, но тем не менее считается не только функциональным, но и марковским тоже. Вроде ещё и Ребол относился к марковским...

Очень необычная концепция... Где-то видел похожую вещь из комплекта MARKOV/TURING для MS-DOS... Но вообще-то такие вещи вызываются ассоциации с языком BrainF**k ;) (не хочу никого обидеть, но реально трудно воспринимать)

Geniepro писал(а):
ЗЗЗЫ. А вапще все эти ваши WHILE-DO, foreach и даже IF-THEN-ELSE - всего лишь синтаксический сахар, без которого при желании можно легко прожить... :о))))

Ясное дело, но увы, CMP/Jxx вместе с коротким и длинными JMP в больших программах применять чего-то не тянет :)

Иван Горячев писал(а):
Вот только шаг цикла задаётся константой, что снижает его ценность.

Почему??? Ведь в этом случае принцип структурного программирования не нарушается, строго фиксированное число проходов. FOR...TO...STEP...NEXT (aka FOR TO BY DO) - это не не Сишный for, в котором
Код:
for (i=0, i<100; i--) a[i]=0;

доведёт до некорректной операции а то и до "синего экрана" (Win9x/ME).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 197 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB