Comments 87
xmal.ru?
Да, но сайт находится в разработке. Об открытии будет объявлено позже.
На сайте предполагается наличие блога, в котором я (программист) буду рассказывать о всех стадиях разработки проекта с примерами и исходными кодами. Также о своей работе поведают дизайнер и звукооператор.
На сайте предполагается наличие блога, в котором я (программист) буду рассказывать о всех стадиях разработки проекта с примерами и исходными кодами. Также о своей работе поведают дизайнер и звукооператор.
В наше время все большее внимание уделяется умственному развитию человека. Все больше людей хотят стать, к примеру, программистами. Большинство не справляется с этой задачей из-за отсутствия способности к выбору правильного метода решения задачи, а следовательно, вытекающими проблемами с написанием программного кода.
Речь идет об одной и той же задаче? :) Не справляются с задачей стать программистом из-за отстутствия способности к выбору метода решения задачи «стать программистом»?
Да, Вы подловили меня на неоднозначности в тексте :) Спасибо.
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
с третьего раза только правильно название прочитал ;)
на самом деле алгоритмическое мышление очень полезная штука, сам понимаю, что не достает определенных знаний в этой области, чтобы решить определенную задачу, не связанную с IT. К примеру «описание бизнес-процесса».
Где-то там понимаешь, что должен быть «вход» и «выход» и определенные стадии этого процесса. Но не совсем ясно, где поставить «вход» и где поставить «выход», потому что хочется «войти» пораньше, а «выйти» попозже, а в итого получается каша.
Удачи в развитии проекта.
Надеюсь, что будет достаточно интересного и полезного материала. Тогда буду пользоваться.
Где-то там понимаешь, что должен быть «вход» и «выход» и определенные стадии этого процесса. Но не совсем ясно, где поставить «вход» и где поставить «выход», потому что хочется «войти» пораньше, а «выйти» попозже, а в итого получается каша.
Удачи в развитии проекта.
Надеюсь, что будет достаточно интересного и полезного материала. Тогда буду пользоваться.
Да, Вы подловили меня на неоднозначности в тексте :) Спасибо.
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
Имелось ввиду, что когда человек ставит себе задачу стать программистом, ему необходимо решать задачи (вида решить пример :) ), которые, при отсутствии способности мыслить алгоритмически становятся настоящей проблемой, так как человек задается вопросом «С чего начать?» :)
Извиняюсь, это был ответ на вопрос «flacon»
Вопрос.
Вы уверены, что человек, у которого нету _природных способностей к алгоритмическому мышлению_, может стать _хорошим_ программистом, пусть даже развивая какие-то паттерны мышления?
Лично я (а так же жизненный опыт моих друзей, и куча самых разных книжек по психологии/типологии личности) считаю, что любой человек может заниматься любой профессией — но вопрос, каких высот он сможет в ней достигнуть.
Многие могут развивать свои навыки в программировании, но не поднимутся никогда выше планки «быдлокодера», тогда как люди, с которыми они сидели за одной партой в школе — пройдут быстро этот этап, и в их работе появится такой элемент как ТВОРЧЕСТВО в работе (не путать с хаотичностью подходов).
Тогда как его товарищ с «непрограмерским» умом зависнет в своем профессиональном развитии на низком уровне. Примеров вокруг — полно, думаю любой айтишник знает таких людей — обвиняющих в своем низком профессиональном уровне плохих учителей в институте, дураков начальников, свою лень, и т.п. Хотя проблема состояла в том, что они изначально не на ту профессию ориентировались, где могли бы действительно раскрыть свои природные таланты?
К чему я это все: может быть, Ваш метод немного по иному позиционировать? Не на тех, кто «хочет стать программистами, а не получается», а на тех, кто хочет немножко увеличить свой словарь и узнать новые подходы в решении задач?
Вы уверены, что человек, у которого нету _природных способностей к алгоритмическому мышлению_, может стать _хорошим_ программистом, пусть даже развивая какие-то паттерны мышления?
Лично я (а так же жизненный опыт моих друзей, и куча самых разных книжек по психологии/типологии личности) считаю, что любой человек может заниматься любой профессией — но вопрос, каких высот он сможет в ней достигнуть.
Многие могут развивать свои навыки в программировании, но не поднимутся никогда выше планки «быдлокодера», тогда как люди, с которыми они сидели за одной партой в школе — пройдут быстро этот этап, и в их работе появится такой элемент как ТВОРЧЕСТВО в работе (не путать с хаотичностью подходов).
Тогда как его товарищ с «непрограмерским» умом зависнет в своем профессиональном развитии на низком уровне. Примеров вокруг — полно, думаю любой айтишник знает таких людей — обвиняющих в своем низком профессиональном уровне плохих учителей в институте, дураков начальников, свою лень, и т.п. Хотя проблема состояла в том, что они изначально не на ту профессию ориентировались, где могли бы действительно раскрыть свои природные таланты?
К чему я это все: может быть, Ваш метод немного по иному позиционировать? Не на тех, кто «хочет стать программистами, а не получается», а на тех, кто хочет немножко увеличить свой словарь и узнать новые подходы в решении задач?
"… Все больше людей хотят стать, к примеру, программистами..."
Не зря было выделено «к примеру». Смысл нашей программы можно будет менять от обучения уборщиков до строителей космических кораблей. Мы не приковываем идею к одному объекту — программисту. Сейчас, для проверки работоспособности идеи, нам легче составить курс обучения программистов. В дальнейшем, любой сможет сделать свой, особый, но увлекательный мир в котором будут учиться люди :)
Не зря было выделено «к примеру». Смысл нашей программы можно будет менять от обучения уборщиков до строителей космических кораблей. Мы не приковываем идею к одному объекту — программисту. Сейчас, для проверки работоспособности идеи, нам легче составить курс обучения программистов. В дальнейшем, любой сможет сделать свой, особый, но увлекательный мир в котором будут учиться люди :)
Хотелось бы чтобы было что-то для детей =) Небольшой раздел например.
Может быть я стал программистом только из-за того, что очень любил такие логические задачи, но таковых было очень мало. Еще в начальной школе пытался программировать на «спектруме» =) (слава богу была возможность), а щас почти у каждого есть компьютер и интернет.
Может быть я стал программистом только из-за того, что очень любил такие логические задачи, но таковых было очень мало. Еще в начальной школе пытался программировать на «спектруме» =) (слава богу была возможность), а щас почти у каждого есть компьютер и интернет.
1. Открыть файл, если такового не существует, создать
2. В цикле считать значения введенные пользователем с клавиатуры
3. Цифра ли?
4. Если да — записать в файл
5. Иначе — проигнорировать
6. Закрыть файл
а не подскажите как реализовать пункты 1 и 6 в Си или С++?
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);
FILE *file;
file = fopen(«base.dat»,«rt»);
if (file==NULL)
{
file = fopen(«base.dat»,«wt»);
}
6.
fclose(file);
C++:
std::ofstream f("data.bin", std::ios::out);
Нечаянно ctrl-enter нажал
Если же надо создать только в случае, если файла нет, то надо добавить флаг std::ios:in
std::ios::ate — переводит каретку в конец файла
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);
}
За что минусы? Неужели на Хабре уже нельзя спросить совета или попросить помощи?
C:
1.
FILE *file;
file = fopen(«base.dat»,«rt»);
if (file==NULL)
{
file = fopen(«base.dat»,«wt»);
}
6.
fclose(file);
1.
FILE *file;
file = fopen(«base.dat»,«rt»);
if (file==NULL)
{
file = fopen(«base.dat»,«wt»);
}
6.
fclose(file);
Хороший проект.
Моя лепта в вашу копилку — После объяснения оператора присваивания. Даны 2 числа. Поменять их местами. Ступор вызывает необходимость введения промежуточной переменной.
После того как решение найдено. Задача 2. Поменять местами числа не используя промежуточных переменных.
По результату 2-3 ученика постигают сатори програмирования.
Моя лепта в вашу копилку — После объяснения оператора присваивания. Даны 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 = 5;
b = 4;
a = a — b // a = 1
b = b + a // b = 5
a = b — a // a = 4
a += b;
b = a — b;
a -= b;
b = a — b;
a -= b;
Или так:
a=a ^ b;
b=a ^ b;
a=a ^ b;
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, ^) возвращает 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.
Таким образом получаем написанный выше код.
a:= (a xor b) xor a
b:= (b xor a) xor b
b:= (b xor a) xor b
Два метода есть, описанный выше и через исключающее или == xor == «побитовое не-равно» == деление по модулю два…
Выглядит это так:
a = 5;
b = 4;
Или, короче:
a ^= b ^= a^= b;
Выглядит это так:
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
Для тех кто не в курсе:
slaedsuck.com
antislaedcms.ru
вы уж простите? но при беглом взгляде Хmal похоже на Xmail
Лучше
b=a+b;
a=b-a;
b=b-a;
Равенство последних 2 действий просветляет.
b=a+b;
a=b-a;
b=b-a;
Равенство последних 2 действий просветляет.
ну что я могу сказать? заинтриговали ;)
интересный проект! ждем дальнейшего развития. А от себя предложу систему управления процессом разработки Вашего проекта: www.devprom.net, на мой взгляд она поможет быстрее развиться проекту в правильном направлении, которое подскажут пользователи.
Идея хороша, но какой смысл рекламировать проект, который даже еще непригоден для публичного бета-теста? Это может негативно сказаться на будущей посещаемости.
Сейчас нам необходимо мнение людей о проекте. Можно назвать это этапом сбора пользовательских требований.
Если проект будет удачным, о посещаемости, как мне кажется, не нужно будет беспокоиться :)
Если проект будет удачным, о посещаемости, как мне кажется, не нужно будет беспокоиться :)
Мнение о чем? Извините, но пользователь, способный без прототипа четко сформулировать требования обычно имеет сферическую форму и обитает в вакууме. У вас же должны быть какие-то идеи касаемо проекта, аналитик, который умеет сформулировать начальное тех. задание, тестеры, которые проведут предварительное тестирование юзабилити… Вот выкатите прототип на публику и будете спрашивать, что у вас не так — сразу получите множество отзывов и пожеланий. А отзывы полученные сейчас вряд ли приведут к чему-то хорошему. На самом деле, я повторюсь, юзер, способный четко сказать, что ему нужно, в природе встречается очень редко :(
Но согласитесь, по правилам разработки программного продукта, некоторые требования должны быть сформулированы до начала разработки проекта, чтобы в будущем не тратить большие деньги на переработку кода.
Благодаря комментариям, мы сможем внести коррективы в уже существующие требования, которые в будущем помогут проекту понравиться публике.
Благодаря комментариям, мы сможем внести коррективы в уже существующие требования, которые в будущем помогут проекту понравиться публике.
Ну хоть выложите на суд публики сокращенный и недетализированый вариант вашего ТЗ. Возможно ведь у вас есть какая-то фича, которая не понравится пользователям, но до старта проекта они о ней просто не будут догадываться. Потому что в данный момент диалог выглядит так:
— Хотите увидеть немного програмерской магии?
— У, круто, сделай мне хорошо!
Извините за иронию, мне очень нравится ваша идея и я искренне вам желаю успеха в ее реализации.
Расскажите хотя бы как у вас будет организован сам процесс.
Это будет курс задач, которые надо решать последовательно?
Или задачи будут выкладываться на сайт каждую неделю?
Будет ли возможность у других людей принимать участие в их составлении (возможно за определенное вознаграждение)?
— Хотите увидеть немного програмерской магии?
— У, круто, сделай мне хорошо!
Извините за иронию, мне очень нравится ваша идея и я искренне вам желаю успеха в ее реализации.
Расскажите хотя бы как у вас будет организован сам процесс.
Это будет курс задач, которые надо решать последовательно?
Или задачи будут выкладываться на сайт каждую неделю?
Будет ли возможность у других людей принимать участие в их составлении (возможно за определенное вознаграждение)?
В моё детство, была игра, точное название я не помню, да и не я игрался, но суть была примерно следующий — давали каких-то роботов, нужно было добывать ресурсы/воевать ну т.д. Можно было конечно руками управлять, а можно было написать программу которая становилась алгоритмом действий этого робота, т.е. заточка такая в игре была, а не левые тулы какие-нибудь. Язык был С-образный, вроде.
Насколько я понимаю, это приблизительно как
Игры для программистов
Игры для программистов
acm.timus.ru
acm.lviv.ru
и многие другие
Только на АСМ можешь получить ПОЛНОЦЕННЫЙ алгоритмическое мышления!
acm.lviv.ru
и многие другие
Только на АСМ можешь получить ПОЛНОЦЕННЫЙ алгоритмическое мышления!
ПОЛНОЦЕННОЕ алгоритмическое мышления! С грамматикой плохо =(
Своё мнение не изменил — это свинство. Заставлять людей открывать полную версию статьи. Почему нельзя сразу написать, в чём суть?
А проект на словах интересный. Посмотрим, что дальше будет.
А проект на словах интересный. Посмотрим, что дальше будет.
Классная тема!
Последние 7 лет
ставлю себе вопрос
«а тем ли я занимаюсь»
И если я правильно
понял то просто посетил
ваш сайт, потренировался (если нужно)
и сдал или не сдал тест
и всё становится на места.
Обязательно держите в курсе.
Последние 7 лет
ставлю себе вопрос
«а тем ли я занимаюсь»
И если я правильно
понял то просто посетил
ваш сайт, потренировался (если нужно)
и сдал или не сдал тест
и всё становится на места.
Обязательно держите в курсе.
1. Открыть файл, если такового не существует, создать
2. В цикле считать значения введенные пользователем с клавиатуры
3. Цифра ли?
4. Если да — записать в файл
5. Иначе — проигнорировать
6. Закрыть файл
я бы п. 2 и 3. поставил бы в начало :)
2. В цикле считать значения введенные пользователем с клавиатуры
3. Цифра ли?
4. Если да — записать в файл
5. Иначе — проигнорировать
6. Закрыть файл
я бы п. 2 и 3. поставил бы в начало :)
подписался)
Я не понял, чем проект будет интересен уже состоявшимся программистам, у которых нет проблем с логикой и мышлением в нужном направлении?
Или это только для студентов, будущих программистов?
Вообщем-то у вас ачало громкое — «обязательно загляните под кат, всем будет интересно...», а толком не понятно что как и зачем. «Мы всем поможем, только подробности потом».
Или это только для студентов, будущих программистов?
Вообщем-то у вас ачало громкое — «обязательно загляните под кат, всем будет интересно...», а толком не понятно что как и зачем. «Мы всем поможем, только подробности потом».
А я бы сделал по другому.
1. В цикле считать значения введенные пользователем с клавиатуры
2. Цифра ли?
3. Если да — Открыть файл, если такового не существует, создать (Иначе — проигнорировать)
4. Записать в файл
5. Закрыть файл
1. В цикле считать значения введенные пользователем с клавиатуры
2. Цифра ли?
3. Если да — Открыть файл, если такового не существует, создать (Иначе — проигнорировать)
4. Записать в файл
5. Закрыть файл
Надо математику учить:)
Очень интересно, много раз пытался научиться кодить, но все упиралось в то, что я не всегда понимал, как делать ту или иную задачу.
Буду с интересом следить.
Удачи вашему проекту =)
Буду с интересом следить.
Удачи вашему проекту =)
самое простое — copy con zzz.txt
правда без проверки того что ввели, зато работает (:
правда без проверки того что ввели, зато работает (:
Может пригодиться (решение на C#), из минусов — не прописано поведение на «ненормальное закрытие».
- using System;
- using System.IO;
- using System.Text;
-
- namespace SimpleSTDNumericWrite
- {
- class Program
- {
- [STAThread]
- static void Main(string[] args)
- {
- Console.WriteLine("Hello! Write Numbers Please. To apply - press Enter key");
- Console.WriteLine("Double and Decimal could contains ',' , not '.' as separator");
- Console.WriteLine("To Exit Print 'exit' and press Enter");
- Console.WriteLine(Environment.NewLine);
-
- StartReadingFromConsole();
- }
-
- static void StartReadingFromConsole()
- {
- using (StreamWriter sw = new StreamWriter("file.txt", true, Encoding.ASCII))
- {
- string CurrentWordFromUser;
- do
- {
- CurrentWordFromUser = Console.ReadLine();
-
- if(isNumeric(CurrentWordFromUser))
- {
- Console.WriteLine("Added new Number");
- sw.WriteLine(CurrentWordFromUser);
- }
- else
- {
- Console.WriteLine("It is Not a Number");
- }
- }
- while (CurrentWordFromUser != "exit");
- }
- }
- static bool isNumeric(string val)
- {
- Decimal resultDecimal;
- if (Decimal.TryParse(val, out resultDecimal)) return true;
-
- Double resultDouble;
- if (Double.TryParse(val, out resultDouble)) return true;
-
- Single resultSingle;
- if (Single.TryParse(val, out resultSingle)) return true;
-
- Int32 resultInt32;
- return Int32.TryParse(val, out resultInt32);
- }
- }
- }
* This source code was highlighted with Source Code Highlighter.
Не хочется быть занудой, но укажите кодировку на сайте заглушке, не у всех по умолчанию стоит cp-1251, да и пора бы уже на юникод переходить.
Sign up to leave a comment.
И что же это такое?