Pull to refresh

Comments 87

Да, но сайт находится в разработке. Об открытии будет объявлено позже.
На сайте предполагается наличие блога, в котором я (программист) буду рассказывать о всех стадиях разработки проекта с примерами и исходными кодами. Также о своей работе поведают дизайнер и звукооператор.
хм. если проект будет интересным. помогу с раскруткой, через свой блог, пишите в личку, если интересно.

Могли бы вы боле подробно рассказать об этой игре?
Все подробности проекта будут рассказаны в последующих статьях
А какой язык программирования вы планируете использовать?
В наше время все большее внимание уделяется умственному развитию человека. Все больше людей хотят стать, к примеру, программистами. Большинство не справляется с этой задачей из-за отсутствия способности к выбору правильного метода решения задачи, а следовательно, вытекающими проблемами с написанием программного кода.


Речь идет об одной и той же задаче? :) Не справляются с задачей стать программистом из-за отстутствия способности к выбору метода решения задачи «стать программистом»?
Да, Вы подловили меня на неоднозначности в тексте :) Спасибо.
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
Понимаю о чём вы. Эта же проблема сейчас у многих моих одногруппников — не могут пойти работать потому, что не владеют алгоритмическим мышлением.
с третьего раза только правильно название прочитал ;)
Xmal — Xaml ;)
Если я правильно понимаю :)
на самом деле алгоритмическое мышление очень полезная штука, сам понимаю, что не достает определенных знаний в этой области, чтобы решить определенную задачу, не связанную с IT. К примеру «описание бизнес-процесса».
Где-то там понимаешь, что должен быть «вход» и «выход» и определенные стадии этого процесса. Но не совсем ясно, где поставить «вход» и где поставить «выход», потому что хочется «войти» пораньше, а «выйти» попозже, а в итого получается каша.

Удачи в развитии проекта.

Надеюсь, что будет достаточно интересного и полезного материала. Тогда буду пользоваться.
Да, Вы подловили меня на неоднозначности в тексте :) Спасибо.
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
Извиняюсь, это был ответ на вопрос «flacon»
Вопрос.
Вы уверены, что человек, у которого нету _природных способностей к алгоритмическому мышлению_, может стать _хорошим_ программистом, пусть даже развивая какие-то паттерны мышления?
Лично я (а так же жизненный опыт моих друзей, и куча самых разных книжек по психологии/типологии личности) считаю, что любой человек может заниматься любой профессией — но вопрос, каких высот он сможет в ней достигнуть.
Многие могут развивать свои навыки в программировании, но не поднимутся никогда выше планки «быдлокодера», тогда как люди, с которыми они сидели за одной партой в школе — пройдут быстро этот этап, и в их работе появится такой элемент как ТВОРЧЕСТВО в работе (не путать с хаотичностью подходов).
Тогда как его товарищ с «непрограмерским» умом зависнет в своем профессиональном развитии на низком уровне. Примеров вокруг — полно, думаю любой айтишник знает таких людей — обвиняющих в своем низком профессиональном уровне плохих учителей в институте, дураков начальников, свою лень, и т.п. Хотя проблема состояла в том, что они изначально не на ту профессию ориентировались, где могли бы действительно раскрыть свои природные таланты?
К чему я это все: может быть, Ваш метод немного по иному позиционировать? Не на тех, кто «хочет стать программистами, а не получается», а на тех, кто хочет немножко увеличить свой словарь и узнать новые подходы в решении задач?
"… Все больше людей хотят стать, к примеру, программистами..."
Не зря было выделено «к примеру». Смысл нашей программы можно будет менять от обучения уборщиков до строителей космических кораблей. Мы не приковываем идею к одному объекту — программисту. Сейчас, для проверки работоспособности идеи, нам легче составить курс обучения программистов. В дальнейшем, любой сможет сделать свой, особый, но увлекательный мир в котором будут учиться люди :)
Идея хорошая, не спорю. Хорошо, если так и получится, и 95% юзверей не будут именно программистами :)
Хотелось бы чтобы было что-то для детей =) Небольшой раздел например.
Может быть я стал программистом только из-за того, что очень любил такие логические задачи, но таковых было очень мало. Еще в начальной школе пытался программировать на «спектруме» =) (слава богу была возможность), а щас почти у каждого есть компьютер и интернет.
1. Открыть файл, если такового не существует, создать
2. В цикле считать значения введенные пользователем с клавиатуры
3. Цифра ли?
4. Если да — записать в файл
5. Иначе — проигнорировать
6. Закрыть файл

а не подскажите как реализовать пункты 1 и 6 в Си или С++?
1.
FILE *file;
file = fopen(«base.dat»,«rt»);
if (file==NULL)
{
file = fopen(«base.dat»,«wt»);
}

6.
fclose(file);
while( (c=getchar() ) != EOF)
{
if (c >='0' && c <= '9')
fputc(c,file)
else
break;
}
Нечаянно ctrl-enter нажал
std::ofstream f("data.bin", std::ios::binary | std::ios::out);

Если же надо создать только в случае, если файла нет, то надо добавить флаг std::ios:in
std::ios::ate — переводит каретку в конец файла
std::ofstream f("data.bin", std::ios::binary | std::ios::in | std::ios::out | std::ios::ate);
if (!f.is_open())
{
f.clear();
f.open("data.bin", std::ios::binary | std::ios::out | std::ios::trunc);
}
За что?
Это:
std::ofstream out("data.bin", std::ios::binary);

сложно?
За то, что это
>> std::ofstream f(«data.bin», std::ios::binary | std::ios::in | std::ios::out | std::ios::ate);

громоздко
За что минусы? Неужели на Хабре уже нельзя спросить совета или попросить помощи?
C:

1.
FILE *file;
file = fopen(«base.dat»,«rt»);
if (file==NULL)
{
file = fopen(«base.dat»,«wt»);
}

6.
fclose(file);
Вновь извиняюсь, видимо проблема у меня.
Хороший проект.
Моя лепта в вашу копилку — После объяснения оператора присваивания. Даны 2 числа. Поменять их местами. Ступор вызывает необходимость введения промежуточной переменной.
После того как решение найдено. Задача 2. Поменять местами числа не используя промежуточных переменных.
По результату 2-3 ученика постигают сатори програмирования.
Если не секрет, как решается 2ая задача?)

Для примера:
a = 5;
b = 4;

a = a — b // a = 1
b = b + a // b = 5
a = b — a // a = 4
Или так:
a=a ^ b;
b=a ^ b;
a=a ^ b;
Э-э, ну не могу понять как оно работает :) Написал — работает, но почему, не знаю, обьясните пожалуйста.
Вы с двоичной логикой знакомы:
Функция исключающее или (xor, ^) возвращает 1 если значения неравны, 0 если равны.

Таким образом, имея a и b вы после первого вызова получите в a число, в котором каждый бит показывает, отличается ли этот бит в a и b. Мы можем этим воспользоваться как «матрицей различия» (m = a ^ b), и при xor любой из переменных (в данном случае берётся b, т.к. в a хранится маска) на эту маску (m) мы получим в ней значение первой переменной. (b = m ^ b == a0).
После этого мы можем снова применить маску(m) к полученной переменной(b), получая таким образом исходную переменную(b0) и поместить результат в первую переменную(a).
m=a0 ^ b0;
b=m ^ b0;
a=m ^ b;
Т.к. очевидно, что переменная a0 нужна только в первой строке, b0 — в первой и второй.
За счёт этого можно хранить m в a.
Таким образом получаем написанный выше код.
спасиба, сложно, но кажись понял :)
Не сработает точно. Скобки на xor никакого влияния не окажут, у вас после первой строки будет a = b. А вот в b так и останется b.
Два метода есть, описанный выше и через исключающее или == xor == «побитовое не-равно» == деление по модулю два…

Выглядит это так:
a = 5;
b = 4;
a = a ^ b; //1
b = b ^ a; //5
a = a ^ b; //4

Или, короче:

a ^= b ^= a^= b;
Ребят, скажите что я ошибся, и проект будет не на глючной, кривой и ворованной SLAED CMS или (O)penSlaed а на нормальном движке.

Для тех кто не в курсе:
slaedsuck.com
antislaedcms.ru
Мы рассчитываем оставить блог и форум на первое время. Дальше, с развитием системы будет установлен svn, track, система учета багов и множество удобных для работы вещей :)
успокоили :) Сносите это убожество скорее :)
вы уж простите? но при беглом взгляде Хmal похоже на Xmail
Нам не за что обижаться на Вас =) У нас уже были варианты Xlam и Xaml =)
Иногда мне кажется, что люди на Хабре перебарщивают как в пренебрежении к правилам пунктуации, так и в их чрезмерном соблюдении.
Лучше
b=a+b;
a=b-a;
b=b-a;
Равенство последних 2 действий просветляет.
РS Не туда написал. Пример выше :(
Как я и говорил, сколько людей, столько и решений =)
Только это для «нормального» языка программирования. Иначе в первом действии вполне себе переполнение может случится…
интересный проект! ждем дальнейшего развития. А от себя предложу систему управления процессом разработки Вашего проекта: www.devprom.net, на мой взгляд она поможет быстрее развиться проекту в правильном направлении, которое подскажут пользователи.
Идея хороша, но какой смысл рекламировать проект, который даже еще непригоден для публичного бета-теста? Это может негативно сказаться на будущей посещаемости.
Сейчас нам необходимо мнение людей о проекте. Можно назвать это этапом сбора пользовательских требований.

Если проект будет удачным, о посещаемости, как мне кажется, не нужно будет беспокоиться :)
Мнение о чем? Извините, но пользователь, способный без прототипа четко сформулировать требования обычно имеет сферическую форму и обитает в вакууме. У вас же должны быть какие-то идеи касаемо проекта, аналитик, который умеет сформулировать начальное тех. задание, тестеры, которые проведут предварительное тестирование юзабилити… Вот выкатите прототип на публику и будете спрашивать, что у вас не так — сразу получите множество отзывов и пожеланий. А отзывы полученные сейчас вряд ли приведут к чему-то хорошему. На самом деле, я повторюсь, юзер, способный четко сказать, что ему нужно, в природе встречается очень редко :(
Но согласитесь, по правилам разработки программного продукта, некоторые требования должны быть сформулированы до начала разработки проекта, чтобы в будущем не тратить большие деньги на переработку кода.
Благодаря комментариям, мы сможем внести коррективы в уже существующие требования, которые в будущем помогут проекту понравиться публике.
Ну хоть выложите на суд публики сокращенный и недетализированый вариант вашего ТЗ. Возможно ведь у вас есть какая-то фича, которая не понравится пользователям, но до старта проекта они о ней просто не будут догадываться. Потому что в данный момент диалог выглядит так:
— Хотите увидеть немного програмерской магии?
— У, круто, сделай мне хорошо!
Извините за иронию, мне очень нравится ваша идея и я искренне вам желаю успеха в ее реализации.
Расскажите хотя бы как у вас будет организован сам процесс.
Это будет курс задач, которые надо решать последовательно?
Или задачи будут выкладываться на сайт каждую неделю?
Будет ли возможность у других людей принимать участие в их составлении (возможно за определенное вознаграждение)?
Как я уже писал выше, все будет раскрыто в следующих статьях :)
Ну что ж, буду ждать с нетерпением.
В моё детство, была игра, точное название я не помню, да и не я игрался, но суть была примерно следующий — давали каких-то роботов, нужно было добывать ресурсы/воевать ну т.д. Можно было конечно руками управлять, а можно было написать программу которая становилась алгоритмом действий этого робота, т.е. заточка такая в игре была, а не левые тулы какие-нибудь. Язык был С-образный, вроде.
acm.timus.ru
acm.lviv.ru
и многие другие
Только на АСМ можешь получить ПОЛНОЦЕННЫЙ алгоритмическое мышления!
lviv.ru — это мощно =) Не в АСМом единым, уважаемый — не все так просто ;) Хотя, конечно, он помогает.
ЗЫ Я вам это говорю, как человек, сдавший 140 задач на упомянутом вами acm.lviv.ua
ПОЛНОЦЕННОЕ алгоритмическое мышления! С грамматикой плохо =(
Своё мнение не изменил — это свинство. Заставлять людей открывать полную версию статьи. Почему нельзя сразу написать, в чём суть?

А проект на словах интересный. Посмотрим, что дальше будет.
Классная тема!
Последние 7 лет
ставлю себе вопрос
«а тем ли я занимаюсь»

И если я правильно
понял то просто посетил
ваш сайт, потренировался (если нужно)
и сдал или не сдал тест
и всё становится на места.

Обязательно держите в курсе.
1. Открыть файл, если такового не существует, создать
2. В цикле считать значения введенные пользователем с клавиатуры
3. Цифра ли?
4. Если да — записать в файл
5. Иначе — проигнорировать
6. Закрыть файл

я бы п. 2 и 3. поставил бы в начало :)
Я не понял, чем проект будет интересен уже состоявшимся программистам, у которых нет проблем с логикой и мышлением в нужном направлении?
Или это только для студентов, будущих программистов?
Вообщем-то у вас ачало громкое — «обязательно загляните под кат, всем будет интересно...», а толком не понятно что как и зачем. «Мы всем поможем, только подробности потом».
А я бы сделал по другому.

1. В цикле считать значения введенные пользователем с клавиатуры
2. Цифра ли?
3. Если да — Открыть файл, если такового не существует, создать (Иначе — проигнорировать)
4. Записать в файл
5. Закрыть файл
3 и 1 можно менять местами в зависимости от ресурсов и от
кол-во введенных символов (удачных срабатываний).

ведь по вашему алгоритму если я введу 1,2,3,4,5,6,7,8,9,
то придется 9 раз открывать и 9 раз закрывать файл.
Логично. В таком случае, файл можно просто держать постоянно открытым.
собственно про это я и говорил :)
Очень интересно, много раз пытался научиться кодить, но все упиралось в то, что я не всегда понимал, как делать ту или иную задачу.

Буду с интересом следить.
Удачи вашему проекту =)
самое простое — copy con zzz.txt
правда без проверки того что ввели, зато работает (:
Может пригодиться (решение на C#), из минусов — не прописано поведение на «ненормальное закрытие».

  1. using System;
  2. using System.IO;
  3. using System.Text;
  4.  
  5. namespace SimpleSTDNumericWrite
  6. {
  7.   class Program
  8.   {
  9.     [STAThread]
  10.     static void Main(string[] args)
  11.     {
  12.       Console.WriteLine("Hello! Write Numbers Please. To apply - press Enter key");
  13.       Console.WriteLine("Double and Decimal could contains ',' , not '.' as separator");
  14.       Console.WriteLine("To Exit Print 'exit' and press Enter");
  15.       Console.WriteLine(Environment.NewLine);
  16.  
  17.       StartReadingFromConsole();
  18.     }
  19.  
  20.     static void StartReadingFromConsole()
  21.     {
  22.       using (StreamWriter sw = new StreamWriter("file.txt", true, Encoding.ASCII))
  23.       {
  24.         string CurrentWordFromUser;
  25.         do
  26.         {
  27.           CurrentWordFromUser = Console.ReadLine();  
  28.  
  29.           if(isNumeric(CurrentWordFromUser))
  30.           {
  31.             Console.WriteLine("Added new Number");
  32.             sw.WriteLine(CurrentWordFromUser);
  33.           }
  34.           else
  35.           {
  36.             Console.WriteLine("It is Not a Number");
  37.           }
  38.         }
  39.         while (CurrentWordFromUser != "exit");
  40.       }
  41.     }
  42.     static bool isNumeric(string val)
  43.     {
  44.       Decimal resultDecimal;
  45.       if (Decimal.TryParse(val, out resultDecimal)) return true;
  46.  
  47.       Double resultDouble;
  48.       if (Double.TryParse(val, out resultDouble)) return true;
  49.  
  50.       Single resultSingle;
  51.       if (Single.TryParse(val, out resultSingle)) return true;
  52.  
  53.       Int32 resultInt32;
  54.       return Int32.TryParse(val, out resultInt32);
  55.     }
  56.   }
  57. }
* This source code was highlighted with Source Code Highlighter.
Не хочется быть занудой, но укажите кодировку на сайте заглушке, не у всех по умолчанию стоит cp-1251, да и пора бы уже на юникод переходить.
Может, пора бы уже поставить cp1251?
Sign up to leave a comment.

Articles