1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Хочу кодить! или Куда пойти учиться

Тема в разделе "Общие", создана пользователем Lla, 01.12.16.

  1. IvUs

    IvUs Активный участник

    13.204
    967
    фишка дополнительного кода - в АЛУ нужен только сумматор. Вычитание делается как сложение уменьшаемого с вычитаемым в дополнительном коде. "вычитатор" становится не нужен.
     
  2. Lla

    Lla Читатель

    3.495
    762
    О, почти угадала.:d Интуицию не пропьешь.:kos:
     
  3. E13

    E13 Активный участник

    10.793
    1.680
    romantica,
    Так ведь а с чем ещё сравнивать-то? :) С другими конторками подобного уровня? Нет смысла. Просто как мне кажется ВУЗ должен был чем-то передовым с точки зрения индустрии. Сколько программных разработок, без которых не мыслится современность, родилось в ВУЗах на Западе?

    А у нас нечто обратное получается.

    Хм, не знаю, кто-где устроился, но если кто-то уехал в Штаты работать кодером, я бы удивился. Но тут вопрос не про то, где кто устроился - у меня вот тоже из Штатов клиенты есть - а про уровень подготовки.

    Безусловно. Но, опять же, я не говорю "почему так мало хороших айтишников выпускается?" Я говорю о том, что объём знаний, которые даются в рамках, казалось бы, фундаментальной подготовки, неконкурентен.

    То, что люди, не осилившие программу, получают дипломы - это, конечно, тоже проблема. Но - другая.

    Это уже к вопросу о причинах. Нет нормальной зарплаты - любому толковому выпускнику куда интереснее в Мск уехать, чем в родных пенатах осесть. Но, я считаю, взялся делать дело - делай его хорошо.

    У меня знакомый один по го вообще в школе информатику преподаёт. Но я к нему в кабинет пришёл, и оторопь взяла - не самые плохие компы, ноуты, 3д-принтер, школьные(!!!) занятия по робототехнике. И это школа, блин! Просто один человек с мотивом.
     
  4. sema

    sema Активный участник

    16.155
    1.786
    Плавали - знаем. Только дум 5 на нем может быть и напишешь, но больше 1 фпс не получишь.
     
  5. E13

    E13 Активный участник

    10.793
    1.680
    sema,
    "Бла-бла-бла" - это абстрактная задача ни для чего. В действительности работает куча факторов - от объёма ресурсов и платформы, на которой реализуется решение, до совместимости задачи с другими модулями системы и стоимости часа программиста, с точки зрения которой может быть более эффективным самое тупое решение (если ресурсы позволяют).
     
  6. IvUs

    IvUs Активный участник

    13.204
    967
    Никто ничего изобретать не будет, в 99 случаев из 100 будет заюзана библиотечная реализация. Поэтому Кнут в практическом смысле малополезен.
     
  7. E13

    E13 Активный участник

    10.793
    1.680
    sema,
    Как всегда с любыми фреймворками - есть задачи для них и не для них. Там, где требуется особенный функционал, нужен кастом, и соответственно уровень специалистов под него. Если кастом не нужен, фундаментальными вещами занимаются очень особенные люди, делающие фреймворк. А все остальные его используют.
     
  8. sema

    sema Активный участник

    16.155
    1.786
    Гении обычно плохие педагоги.
    ...
    Если физик получился скажем прямо неказист
    Позже может получится очень классный программист
    ...

    ---------- Сообщение добавлено 04.12.2016 19:05 ----------

    Это ты сейчас на всех преподавателей и студентов кучку говна кинул или я не так понял? А потом будешь по 500 рублей за час своим детям репетиторов нанимать.
     
  9. romantica

    romantica Активный участник

    2.822
    1.776
    Какие ресурсы должны быть, чтоб не смочь посчитать два произведения и разность?))
    Оффтоп: развели тут про ненужность нестандартных подходов.... Точно любую систему положат...

    ---------- Сообщение добавлено 04.12.2016 19:11 ----------

    Откуда дети? :) там выше писали, что у программистов нет личной жизни...
     
  10. sema

    sema Активный участник

    16.155
    1.786
    Кодером - да. А программисту интересно - почему так? Почему qsort самый быстрый?
     
  11. IvUs

    IvUs Активный участник

    13.204
    967
    На коротких последовательностях тупое сложение может оказаться эффективнее "двух произведений".
     
  12. sema

    sema Активный участник

    16.155
    1.786
    Плюс cmp плюс организация цикла - вряд ли по тактам эффективнее выдет. Два произведения и разность вполне на два конвеера раскладываются.
     
  13. IvUs

    IvUs Активный участник

    13.204
    967
    все есть, вас обманули. :)
     
  14. sema

    sema Активный участник

    16.155
    1.786
    Щас точно не найду, но одну демку в 256b впихнул - шум на монитор.
     
  15. romantica

    romantica Активный участник

    2.822
    1.776
    Х
    Это наверное если писать на ассемблере

    Как хорошо, что мне не приходится ломать голову над производительностью простого арифметического выражения.
     
  16. IvUs

    IvUs Активный участник

    13.204
    967
    смотря какое железо. Мож у нас контроллер тупой, у которого кроме складывалки и нету ничего.
    Это все к вопросу о нюансах.

    ---------- Сообщение добавлено 04.12.2016 19:28 ----------

    когда что-то выполняется в цикле сотни тысяч или миллионы раз - желательно думать над каждой строчкой.
     
  17. romantica

    romantica Активный участник

    2.822
    1.776
    Безусловно.
     
  18. E13

    E13 Активный участник

    10.793
    1.680
    sema,
    Это да. Но если педагог никакой специалист, он не сможет хорошо дать материал. Потому что будет "по бумажке" говорить и спрашивать.

    Эт пожалуйста, эт сколько угодно. Только понимать тему в принципе и жить в ней - всё же, немного разные штуки.

    Что я кинул - это пусть каждый для себя сам решит :). Но мнение и о преподавателях, и о студентах у меня действительно не самое хорошее. Исключения есть, но это очень отдельные случаи.

    romantica,
    Такие, например, что можно тупо сделать цикл от x до y, вычисляющий сумму x+i (i=1..y-x-1).

    А можно вычислить d = y-x-1, и затем x*d + sum (i=1..d)

    Но на первое решение у меня бы ушло меньше минуты, на второе - больше. То, что больше времени ушло - минус. Код при втором решении будет сложнее прочитать - это тоже минус. Но производительность будет, по-видимости, выше - это плюс (хотя не факт).

    Итого, если у нас не стоит вопрос о жёсткой экономии ресурсов, первое решение может получиться выгоднее второго (код легче прочитать + стоимость разработки ниже).

    Также нужно учесть, что в одних решениях (скажем, если я пишу это на Ассемблере) нужно думать об алгоритме. В других это вызов одной библиотечкой функции "посчитать_сумму_чисел_между(x,y)".
     
  19. romantica

    romantica Активный участник

    2.822
    1.776
    Вероятность такой ситуации крайне мала.

    ---------- Сообщение добавлено 04.12.2016 19:36 ----------

    E13,
    А можно:
    C = b + a*(a+1)/2 - b*(b+1)/2 при условии что b<a
     
  20. в контексте общеупотребимых алу одинаковая. Именно из-за унификации и дополнение до джвух.
    В общем мнувгн IvUs всё правильно там написал.

    Я могу ещё добавить, что есть алу где негатор (то, что делает ~, а затем ++) стоит перед входом сумматора, а есть те алу, в логике которых есть отдельно вычесть и отдельно сложить. Тип алу обычно определяется реакцией бита переноса на переполнение при выполнении сложения и вычитания. Если бит переноса при сложении определяет не_заём при вычитании, значит алу с негатором, а если бит переноса является одновременно и битом заёма, то алу с отдельной логикой сложения и вычитания, хотя бывают и нюансы.

    Да и вообще, ты ж математик, а арехметики не знаешь. Зато наверн цепочка символов GF2 помнишь как называется.





    если уж так жосско оптимизировать, надо знать архитектуру процессора.
     
  21. IvUs

    IvUs Активный участник

    13.204
    967
    Если говорить о вероятности, то практическая задача вычислить сумму арифметической прогрессии мне ни разу за 25 лет программирования не встречалась. А вот процессоры не умеющие ничего кроме сложения попадались несколько раз. Так что вероятности у всех разные. :)
     
  22. а можно сдвинуть шкалу на меньшее целое, далее формула арифм. прогрессии и добавить туда смещение - кол-во чисел*смещение_шкалы.

    ---------- Сообщение добавлено 04.12.2016 19:44 ----------

    а мне несколько раз попадались процессоры, кои могли восемь_бит на восемь_бит умножать, все остальные тока складывале :d
    Да и то, как умножить две знаковые величины на процессоре с аппаратным беззнаковым умножителем (ессно используя его) без брания модулей знают немногие :d
     
  23. romantica

    romantica Активный участник

    2.822
    1.776
    Ага)))
    зато не цикл
     
  24. romantica, я, честно говоря, математику вашу не глянул :d
     
  25. E13

    E13 Активный участник

    10.793
    1.680
    romantica,
    И вот у нас есть третье решение. Какое более эффективно? Если мы начнём сейчас это считать, то получим где-то два часа траты времени (час на меня и час на вас). И это вместо того, чтобы менее чем за минуту написать простейший цикл с суммой.

    Где-то, собственно, тут и дня не жалко будет для поиска того, что будет работать лучше (по какому-то интересующему нас признаку). А где-то это просто не нужно.
     
  26. romantica

    romantica Активный участник

    2.822
    1.776
    Зато суть уловил;)

    ---------- Сообщение добавлено 04.12.2016 19:51 ----------

    У меня эта формула с первых упражнений Демидовича о сумме ряда на подкорке записана. Я потратила менее пяти минут чтобы её применить.
    Просто задача была задана не мне и я воздерживалась от ответа.

    ---------- Сообщение добавлено 04.12.2016 19:54 ----------

    Такая не попадалась, а вот решать системы уравнений приходилось в реальной практике.
     
  27. E13

    E13 Активный участник

    10.793
    1.680
    romantica,
    Эт пожалуйста, да. Но мы тут про алгоритмы. И у нас вопрос в эффективности применения этой формулы.
     
  28. Lla

    Lla Читатель

    3.495
    762
    Так куда мне, я вон лучше
    :shuffle:

    ---------- Сообщение добавлено 04.12.2016 20:31 ----------

    Что-то у меня с правкой косяк какой-то.
     
  29. sema

    sema Активный участник

    16.155
    1.786
    Педагогу специалистом быть не надо!!! Учебные программы на то и учебные!

    ---------- Сообщение добавлено 04.12.2016 20:50 ----------

    Когда таких строчек пару тысяч - возникают нюансы. Например можно ли распараллелить задачу.

    Для математиков фортран достаточно приемлемо оптимизирует. Специально схему с фортрана на плюсы переписывал и на кластере сравнивал.
    Вот для этого собственно математика программисту и нужна. Я уже не говорю про оптимизацию и сложность алгоритма. Но искать арифметическую прогрессию в цикле - это извините 7 класс школы.
    А обобщить пример с банальнейшей прогрессией никак нельзя? Прям за все 25 лет в лоб все считал и ни одной готовой формулы не применил? Что и a в степени b циклом считаешь?
     
  30. Lla

    Lla Читатель

    3.495
    762
    Бабруйский Диверсант, погоди, причем тут математика и то, что ты написал? Я в курсе, что разность а и б это сумма а с б, умноженным на минус один (сумма с противоположным числу б). АЛУ я проходила в университете, помню все эти сумматоры, полусумматоры, но я с ними не сталкивалась нигде больше.