Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/54: Рейтинг темы: голосов - 54, средняя оценка - 4.96
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406

101 Basic Computer Games

25.05.2024, 16:17. Показов 18709. Ответов 273
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно я натолкнулся в сети на книгу, о которой никогда не слышал.
Книга называется "101 Basic Computer Games". Она была выпущена DEC в 1975 году
и содержит тексты игр с аннотациями. Игры написаны на BASIC, на компьютере PDP-11.

Очень интересная коллекция для начинающих программистов, и не только.

Коллекция игр с описаниями и переводом на другие языки программирования находится по адресу:

https://github.com/coding-horr... uter-games
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2024, 16:17
Ответы с готовыми решениями:

Создайте график функций x^3 на отрезке [-101; 101]. В качестве значений используйте массив x размером в 101 элемент
Создайте график функций x^3 на отрезке . В качестве значений используйте массив x размером в 101 элемент. Для создания массива значений...

Coodo Games & Datcroft Games Java Developer (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты:...

Coodo Games & Datcroft Games AS3.0 Developer (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты: Fragoria,...

273
Эксперт по электронике
7139 / 3319 / 341
Регистрация: 28.10.2011
Сообщений: 13,048
Записей в блоге: 7
09.10.2024, 18:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Даже если есть отступы это мало помогает.
Если бы это было действительно так, никто бы их не использовал в коде. Другим помогает, а вам почему-то нет. Но при этом вам goto помогает сделать код "максимально читаемым".

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Не вижу в этом никакого смысла.
То вам нужно чтобы у блоков были имена, а когда предложил вариант, выяснилось что нет смысла в именах блоков. Вы уж определитесь что хотите.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Внутри функции имя блока (метки) уникально.
Метка это не блок, а точка перехода. У такого блока нет начала и конца, а есть точка перехода располагаемая где угодно в блоке.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И если она выше, то понятно, что тут может быть цикл, а может и не быть.
И нужно думать что это, цикл или просто переход, а может то и другое.
Увидев в коде for, while и т. д. можно однозначно сказать что это цикл.

Я тут посмотрел код и о ужас, я увидел ЦИКЛЫ!
А как же принцип что все можно построить на if и goto? И где ваши хваленые именованные блоки?
Вот этот фрагмент вообще шедевр!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
int checkCshot(void)
{  int i, r, b=0, x, gr; ts_shipCoords cr;
  char y; char shot[6];
  if(cs_state==NOATTAK)goto L_noattak;
  else goto L_attak;
  L_noattak:
    nAttList=0;
    gr = getGreater(allS, allN);
    if(gr==1)
      {b = getRandRange(0, currL2-1); cr = tmpCrd2[b];}
    else
    {cr=getOptCrd(gr);}
    y = get_cy(cr.y); x = cr.x;
    if(getIn(uShips, cr))
    {
      if(uShips[sc.ns].t==SHIP_1)
      {
        sprintf(shot, "%c%d ", y, x); strcat(cStr, shot);
        goto L_endAttak;
      }
      sprintf(shot, "%c%d ", y, x); strcat(cStr, shot);
      goto L_attak_a;
    }
    r=MIS; cs_state=NOATTAK;
    nAttList=0;
    currL2=delValTmp(tmpCrd2, cr, currL2); ar1[I(cr.y, cr.x)]='*';
    sprintf(shot, "%c%d ", y, x); strcat(cStr, shot); goto L_ret;
  L_endAttak:
    currL2=delValTmp(tmpCrd2, cr, currL2);
    for(i=0; i<uShips[sc.ns].al; ++i)
    {
      if(uShips[sc.ns].aura[i].y > 0 && uShips[sc.ns].aura[i].x > 0 && 
      uShips[sc.ns].aura[i].y < 11 && uShips[sc.ns].aura[i].x < 11){
        currL2=delValTmp(tmpCrd2, uShips[sc.ns].aura[i], currL2);
        ar1[I(uShips[sc.ns].aura[i].y, uShips[sc.ns].aura[i].x)]='#';
      }
    }
    allN = delValAtt(allS, uShips[sc.ns].t, allN);
    ar1[I(cr.y, cr.x)]='+';
    csU+=1;
    if(csU==ALLSH){r=WIN; goto L_end;}
    goto L_noattak;
  L_attak:
    cr = attList[getRandRange(0, nAttList-1)];
    y = get_cy(cr.y); x = cr.x; sprintf(shot, "%c%d ", y, x);
    strcat(cStr, shot);
  L_attak_a:
    if(getIn(uShips, cr))
    {
      if(uShips[sc.ns].c<uShips[sc.ns].t){
      uShips[sc.ns].c +=1;}
      if(uShips[sc.ns].t == uShips[sc.ns].c)
      {initAttList();goto L_endAttak;}
      currL2=delValTmp(tmpCrd2, cr, currL2);
      addAtt(cr);
      cs_state=ATTAK; ar1[I(cr.y, cr.x)]='+'; goto L_attak;
    }
    nAttList=delValTmp(attList, cr, nAttList);
    if(nAttList==0){goto L_endAttak;}
    currL2=delValTmp(tmpCrd2, cr, currL2);
    cs_state=ATTAK; ar1[I(cr.y, cr.x)]='*'; r=MIS; goto L_ret;
  L_end:
    ar1[I(cr.y, cr.x)]='+';
  L_ret:
  return r;
}
Зачем так запутывать?
Код сложночитаем в том числе из-за goto. Комментов нереально много!
Если вы пропагандируете такой подход к разработке, спасибо не надо.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
09.10.2024, 18:18
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Даже если есть отступы это мало помогает. Отступы - костыль.
Приведи пример.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
09.10.2024, 19:36
Цитата Сообщение от locm Посмотреть сообщение
Если вы пропагандируете такой подход к разработке, спасибо не надо.
Это мой старый проект. Я бы сейчас несколько по другому делал.
Цитата Сообщение от locm Посмотреть сообщение
Зачем так запутывать?
Первоначально я хотел сделать код чисто на goto. Но это было бы слишком для неокрепших умов, поэтому я выбрал более традиционный путь. Однако использовал goto там, где без него было бы сложно обойтись. И я до сих пор не представляю, как можно "выровнять" данный код. Потому что сама игровая логика там довольно сложна, что бы её можно было легко реализовать без goto. С ним было проще и я его использовал. Комментариев мало, потому что делалось чисто из спортивного интереса на скорую руку.
Цитата Сообщение от locm Посмотреть сообщение
Метка это не блок, а точка перехода. У такого блока нет начала и конца,
По крайней мере у метки есть начало, а концом является первый же goto. Поэтому я называю это блоком.
Цитата Сообщение от The trick Посмотреть сообщение
Приведи пример.
Если конструкция растягивается на несколько страниц, то как бы найти что к чему относится довольно проблемно. Подсветка только и помогает. Но читать как Вирт сверху вниз я лично не могу. Он действительно гений если так может..
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
09.10.2024, 22:05
CoderHuligan, и ещё:
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Блок, в моем понимании - отдельное состояние.
Блок это не состояние, блоком может быть целый алгоритм, выполняющий отдельную задачу,
чёрный ящик - это блок(процедура). А может быть и одна операция, если это "блок схема".
От контекста зависит.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Чтобы объяснить как работает алгоритм, та же сортировка Шелла
Что ты прикопался к этим сортировкам? Сортировки это 1/1000 реальной задачи.
Они актуальны, в основном, в технических обёртках. Их пишут 1 раз и не возвращаются к этому.
Не надо заострять внимание на этом, оно не так важно.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Хорошо если алгоритм достаточно прост, а если нет, как его разматывать?
Никак, значит уровень программиста не соответствует задаче. С этим бесполезно спорить.
Значит надо повышать уровень или делать, например, как я: брать задачу на два порядка выше
своего уровня и аналитически её долбать со всех сторон, получая на ней кратно больше знаний,
чем на задачах своего уровня. Не все понимают, что так делать можно. Что-то сделать получится,
что-то нет. Тут уже вопрос набора опыта. Главное - преждевременно не опускать голову, не ссать в штаны.
И не стоит абсолютизировать и идеализировать чужие решения, всегда есть аспекты где их можно нагнуть.
Тебе профи не будут на каждом углу писать, что их проги не идеальны, это легко проверяется тестированием.
Они знают где у них косяки и что всё объять не смогут, некоторые пользуются доверчивостью других.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Лео Броуди в своей книге "Способ мышления - Форт" привел пример вложенного if/else.
Не знаю, кто такой Лев Броуди, судя по описанию - "технический" лох какой-то, но знаю кто такой
Кен Сильверман, который начинал свою карьеру с QuickBasic и который реально писал прикладной софт
и выкладывал его на всеобщее(я даже пользовался его секвенсором - KS), а не чё-то там делал где-то
в закрытом режиме и крысино в книгах выпендривается. Называется почувствуй разницу.
Также и тут на форуме люди сходного Кену уровня сидят по собранности, а может даже и повыше,
хотя, думаю, столько софта и не писали. Так что не надо тут на авторитет своих книжных богов давить.

Добавлено через 2 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Когда мы доходим до 4-9 уровня
Ни разу не видел 9 уровней IF-ов, но наверное для человека это проблема посочувствуем молча.

Добавлено через 1 час 53 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Если конструкция растягивается на несколько страниц, то как бы найти что к чему относится довольно проблемно.
Поведай это питонистам. Им, во-первых, толстый код - больнее, а во-вторых, там всё на отступах. Ну ты понял.

Резюмирую, в бейсике в том же NEXT есть возможность указывать счётчик. Конечно злые "структурные" дяди
это сделали чтобы людям плохо жилось. Остальные операторы можно просто прокомментировать.
Это если вдруг возникнут вопросы - "а что так можно было?"

Для "особо незрячих" есть возможность обрамлять блок символами или псевдографикой.
Приведу примеры возможных вариантов. Отошёл от этого в начале 2000-го, но мало-ли кому приспичит:
Как видно из обсуждения актуальная темка-то раз отступы уже не помогают.

примеры обрамлений

Для не нумерованных блоков:
Code
1
2
3
4
5
6
7
; ═════════════════════ ИМЯ БЛОКА ════════════════════
; <><>><><<><>><><<><>><><<><>><><<><>><><<><>><><<><>
 
. . . код на несколько страниц . . .
 
; <><>><><<><>><><<><>><><<><>><><<><>><><<><>><><<><>
; ════════════════════════════════════════════════════
Code
1
2
3
4
5
   ;  ░▓░▓░▓░   ОСНОВНАЯ  ИНИЦИАЛИЗАЦИЯ   ░▓░▓░▓░
 
   . . . код на несколько страниц . . .
 
   ;  ░▓░▓░▓░  ░▓░▓░▓░  ░▓░▓░▓░  ░▓░▓░▓░  ░▓░▓░▓░
Для нумерованных:

Code
1
2
3
4
5
6
7
8
9
 ;     \    /  \    /       \   /       \   \  /    \
 ; 1.  /    \  / /  \  -  Имя блока  -  / / /  \    /
 ;     \    /  \    /       \   /       \   \  /    \
 
. . . код на несколько страниц . . .
 
 ;     /    \  /    \                   /   /  \    /
 ;     \    /  \ \  /    Конец блока    \─/─\──/ ── \
 ;     /____\__/____\___________________/___/__\____/
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;▒▒─4─▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒─4─▒▒
;▒██████ 4 ██████  ПОДКЛЮЧЕННЫЕ БИБЛИОТЕКИ  ██████ 4 ██████▒
;▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒
 
PrAREA SEGMENT USE16
ASSUME CS:PrAREA, DS:DtAREA
 
 Button1     db 'Graphics\Image.bmp', 0
 InformtFile db 'Prog.Txt', 0
 
  Include AsmLb\ZeroLIB.Asm
  Include AsmLb\MouseLIB.Asm
  Include AsmLb\InterLIB.Asm
 
 . . .  код на несколько страниц . . .
 
;▒█─4─▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒─4─█▒
;▒█████████████████████████████████████████████████████████▒
;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


ASCII вообще удивительная вещь - городить можно до бесконечности. Хотя конечно не для тех у кого
уровень вложенности - 9. Тут надо уже что-то другое - от доктора Попова. Вообще, не понятно, для кого
люди открывали дискретную алгебру и собственно её подраздел - логику.

Цитата Сообщение от locm Посмотреть сообщение
Вот этот фрагмент вообще шедевр!
Ох нахулиганил, ух! Теперь понятно на что уходит вся мотивация.
Ему больно в этот код влезать, глазки можно выколоть.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
09.10.2024, 23:00
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Если конструкция растягивается на несколько страниц, то как бы найти что к чему относится довольно проблемно.
Пример.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
09.10.2024, 23:53
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И я до сих пор не представляю, как можно "выровнять" данный код.
Не делай вид что ты с особенными хотелками и опупенными задачами.
Любой код, любой сложности вполне нормально представляется в структурном виде без goto.
Ключевая особенность, купить письменный стол, бумагу, ручек\карандашей. И сесть, мать его, за него)))
И всё, весь секрет. Начать рисовать схемки, алгоритмы, писать руками куски кода. Проверять эти куски
на компиляторе, мозговать над ними побольше, никаких "агайлов-скаммов", метаний из угла в угол
и торопёшек, чтобы код был полностью формализован. И собирать своё творение. Самому тестировать,
параллельно отдать знакомым на тесты, потом уже выкладывать бету. Критический код(движок) должен
быть формализован на 100%, остальное - по желанию\возможностям.
Обычно с таким подходом бета - это уже готовый продукт. И код должен быть превосходно оформлен,
если ты сам его будешь читать легко и с удовольствием - то и результат на выходе другой.
И никто не говорил что структуризация кода это простой процесс, на толстых проектах поломать бошку
приходится знатно, чтобы как раз без goto. Плюсов конечно больше, такой код отлично дополняем
сходным функционалом, т.е. главное создать базовый скелет с запасом на масштабируемость, остальное
дело рутины. Ну и конечно важна завершённость документации, иначе проект до беты не дойдёт))).

CoderHuligan, в твоём коде всё те же банальные ошибки читаемости. Внутри блока отступов часто нет,
арифметика\логика вся без пробелов(мозаику, отталкиваясь от пробелов не сделать и читать тяжело)
метки обычно ставят совместно с кодом, а перед ними пустая строка. Причём в некоторых местах
ты ставишь пробелы, т.е. ты можешь это делать, просто тупо ленишься. Ну и макаронина всё портит.
Понятно что кусок контекстный и без общей схематики его не разобрать, но и без схематики этого
конкретного куска тоже - и это ужё косяк. В идеале структурный и комментированный код таких
проблем не имеет.

Вот кстати весёлая прожка, рисующая блок схемы. Довольно забавная. Картинку в архиве приложу.
https://almiur.ru/show_prog_9.html



Это для затравки интереса товарищу testuser2-у. Плюс на коде хулигана она демонстрирует
невозможность что-то понять из-за пересечений стрелок(то о чём я и писал) и из-за разложения "в высоту".
Вместо грамотного распределения блоков на плоскости(что и есть та задача с которой дядька не справился,
я об этом не просто так упомянул, потому что красиво сделать - трудно). А тут всего 60 строчек кода.
На 1000 - пиши пропало.
Вложения
Тип файла: zip scheme.zip (47.5 Кб, 0 просмотров)
1
1406 / 864 / 93
Регистрация: 08.02.2017
Сообщений: 3,682
Записей в блоге: 2
10.10.2024, 01:55
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Это для затравки интереса товарищу testuser2-у.
Спасибо за ссылку, теперь у меня будет небольшой интерес к этой программе, хотя я не знаю си, самому делать все-равно нет особого интереса. )
По правде говоря, я стрелки представлял, несколько по иному, чуть более толстые, где одну линию было бы видно поверх другой и если выделить какю-то линию, чтобы она выходила на верхний слой, и, может быть, еще утолщалась. Параллельные лини не должны сливаться а идти именно параллельно и не пересекать блоки... Как-то вот так. Там автор, кстати, пишет, что работает над новой версией, где будут учтены пожелания пользоватлелей. И главное, комментарии там свежие, а значит автор и проект жив телом и душой и можно ждать обновлений. Для си-кодеров наверное будет мастхев )
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
10.10.2024, 03:27
Цитата Сообщение от testuser2 Посмотреть сообщение
Для си-кодеров наверное будет мастхев )
Там ещё Паскаль есть. Начинание неплохое. Но мне больше сайт этого мужика понравился.

Цитата Сообщение от testuser2 Посмотреть сообщение
самому делать все-равно нет особого интереса.
Мне, кстати, интересно, но есть два "но": занят другими задачами и скорее всего эту
не потяну(если сходу прикинуть). Но ниша почти пуста. Беглый гуглинг даёт это понять.
Тут как говорится "кто успеет урвать свой кусок".
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
14.10.2024, 17:46
Вот тут сегодня ТС выложил свое видение решения задачи:Определить длину самой длинной подстроки из подряд стоящих букв 'а'
Задачка простая:
Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих букв 'а'.
Код на Си. Посмотрите внимательно на этот в общем-то безграмотный код (по ссылке). Это традиционный подход, когда краткость записи считается вершиной мастерства в ущерб эффективности. Алгоритм неверен, хотя и работает. Я переписал его:
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <string.h>
#define N 255
char str[N];
int main(void){
  
  int max_len = 0, len, i=0, current_len = 0;
  len = strlen(str);
    New://новая строка
      i=0; current_len=0; max_len=0;
      printf(": ");
      fgets(str, sizeof(str), stdin);
      if (str[i]=='q')exit(0);
      if (str[i] == 'a'){goto In;}else {goto Out;}
    In://встретилась цепочка
      current_len++; i+=1;
      if (!str[i])goto End;
      if (str[i] != 'a')goto Out;
      goto In;
    Out://конец цепочки
      if (current_len > max_len)
         max_len = current_len;
      current_len = 0;
      goto Noa;
    Noa://вне цепочки
      i+=1; 
      if (!str[i])goto End;
      if (str[i] == 'a')goto In;
      goto Noa;
    End://завершаем обработку
      if (current_len > max_len)
         max_len = current_len;
    printf("%d\n", max_len);
    goto New;
 
    return 0;
}

Простите, что не на basic, но уж очень показательный пример. Если немного помедитировать над алгоритмом и сравнить эффективность, ты вы поймете о чем я вам тут тру уже столько лет.
0
Эксперт по электронике
7139 / 3319 / 341
Регистрация: 28.10.2011
Сообщений: 13,048
Записей в блоге: 7
14.10.2024, 18:20
Эффективность это замечательно, но не в ущерб читаемости кода!
Код по ссылке легко понять, в отличие от вашего.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
15.10.2024, 10:14
Цитата Сообщение от locm Посмотреть сообщение
Эффективность это замечательно, но не в ущерб читаемости кода!
Для конечного потребителя важно, чтобы программы быстро работали и не отнимали ресурсы для других приложений: системы-то многозадачные, а ресурсы процессоров не беспредельны, как показывает практика. И конечному потребителю как-то до одного места заморочки программистов.
0
Эксперт по электронике
7139 / 3319 / 341
Регистрация: 28.10.2011
Сообщений: 13,048
Записей в блоге: 7
15.10.2024, 11:55
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Для конечного потребителя важно, чтобы программы быстро работали
Для этого придумали оптимизирующие компиляторы, которые читаемый код разворачивают в быстрый.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
15.10.2024, 13:19
Цитата Сообщение от locm Посмотреть сообщение
Для этого придумали оптимизирующие компиляторы
К сожалению они не могут оптимизировать алгоритмы.

Добавлено через 32 минуты
Переписал код в традиционном стиле. Конечно скорость из-за вызова функций несколько меньше, но всё же он алгоритмически оптимизирован. Определить длину самой длинной подстроки из подряд стоящих букв 'а'
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
16.10.2024, 19:45
Осталось понять как измеряется эффективность.
На мой взгляд нужно генерить метров 100 данных, чтобы оно с гарантией в кеш не вошло
и на них уже тестить. А то можно ложно счесть неэффективное эффективным.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вот тут сегодня ТС выложил свое видение решения задачи
Ой не тем ты занят хулиган, ой не тем!

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Если немного помедитировать над алгоритмом и сравнить эффективность, ты вы поймете о чем я вам тут тру уже столько лет.
Да мы давно уже это поняли, что ты трёшь о бестолковых писюлях на 10 строк.
Потри нам о чём-нибудь потолще самописном. Алгоритмически грамотно можно писать не только с GOTO
и там не будет разницы даже в 0.1%.
Уже говорил, что нет смысла писать всё в супер хардкорном стиле выдаивая каждый такт, достаточно
поддерживать уровень оптимизации приложения выше среднего уровня по всему коду и будет уже круто.
А то, что надо работать над алгоритмами - это вроде и так понятно без лишних слов.

Хулиган, побеждая неофитов на 10 строчниках ты славы не сыщешь и корм закончится)). Вот чё неэффективно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2024, 19:45

Coodo Games & Datcroft Games 3d Artist (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты:...

Coodo Games & Datcroft Games Lead Java Developer / Team Lead
Для решения задач, связанных с разработкой серверной части казино игр, нам в команду требуется сильный Java developer. Помимо технических...

Выполнить следующие операции в двоичной системе счисления: 10101,10101+1001,0011 101110,101-101,11 1011*111 1010101
Прямой, обратный и дополнительный коды двоичных чисел, их использование в двоичной арифметике. Выполнить с использованием кодов двоичных...

Даны действительные числа x1,…,x101, y1…,y101. Получить действительные x'1,…,x'101, y'1,…,y'101
Написать код в Free Pascal. Помогите, пожалуйста! Даны действительные числа x1,…,x101, y1…,y101. Получить действительные x'1,…,x'101,...

Bsod - *50,*3B, *101, *101
Доброго времени суток. Началось все после того как снял 2ю GTX 550 Ti(SLI) и немного разогнал оставшуюся(GPU c 900 до 1000, память с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
274
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru