Здравствуйте, AndrewVK, Вы писали:
AVK>Интересно, а что метод Монте-Карло никто не вспомнил? Стандартный вроде ж метод определения площади сложных фигур?
Непонятно как монте-карло связан с рисованием окружности, разве что способ ещё более ухудшить алгоритм, предложенный игппук
Здравствуйте, AndrewVK, Вы писали:
ГВ>>Можно взять и что попроще, например — Аммераля. Есть такой почти классический четырёхтомник по машграфике. AVK>Интересно, а что метод Монте-Карло никто не вспомнил? Стандартный вроде ж метод определения площади сложных фигур?
Э-э... Так, вроде, не площади считаем. Хотя, вообще, определять площадь круга методом МК — это прикольно.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, IID, Вы писали:
AVK>>Интересно, а что метод Монте-Карло никто не вспомнил? Стандартный вроде ж метод определения площади сложных фигур?
IID>Непонятно как монте-карло связан с рисованием окружности
С чего ты взял что он связан с рисованием окружности? Он связан с темой топика — определением площади окружности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Flying Dutchman, Вы писали:
FD>>Сегодня ради интереса попытался найти в нашем проекте все места, где FD>>используется TextWriter.
AVK>Как искал?
Ctrl-F в Visual Studio
FD>>Что, впрочем, не удивительно — файлы данных мы не используем. FD>>Пишем все в базу данных.
AVK>И тектовых файлов в ресурсах сборки нет?
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Э-э... Так, вроде, не площади считаем. Хотя, вообще, определять площадь круга методом МК — это прикольно.
А чего ж
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>С чего ты взял что он связан с рисованием окружности? Он связан с темой топика — определением площади окружности.
Потому что в этой ветке мы уже пытаемся энту окружность хотя бы нарисовать Тем не менее реакция топик-стартера не становится от этого менее интересной.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Интересно, в чём ты видишь различия? Я не ёрничаю, мне в самом деле интересно.
В buzzwords. Математики в индустрии производства ПО действительно мало. Что требуется от разработчика — знание языка, сопуствующих фреймворков, процессов и инструментов разработки, умение дизайнить систему. Да что там говорить, требования в вакансиях прописаны.
ГВ>Хуже того, они не всегда понимают, чем O(log N) отличается от O(N*N).
Это действительно хуже.
ГВ>Теоретики CS? Ну вот тебе пример — Барбара Лисков, теоретик из теоретиков. Напомнить об остальном?
Не знаю такового, увы.
ГВ>Какие акценты, например? У нас, например, делался некоторый акцент на организации самого процесса разработки. А что ты имеешь в виду?
Это хорошо. Я имею в виду акценты практической разработки.
ГВ>Причём тут строительные архитекторы? Это, по сути, дизайнеры пользовательского интерфейса.
Дизайнеры — это отдельная специализация.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Плохо, что эти же самые потом полезут в менеджеры (а куда ещё податься бедному кодеру?) и устроят свистопляску.
Я тебе скажу, что математики-теоретики в менеджерах еще веселее будут. Менеджмент — это вообще отдельная песня.
Здравствуйте, Flying Dutchman, Вы писали:
AVK>>Как искал?
FD>Ctrl-F в Visual Studio
Я так и думал. Рассказываю как надо — ставим решарпер, находим в Object Browser textWriter, правой кнопкой мыши, выбираем Find Usages Advanced, затем ставим галки напротив member usages и derived types, и жмем ОК. В текущем проекте, который, вроде как, работает только с БД — 443 occurences.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Flying Dutchman, Вы писали:
AVK>>>Как искал?
FD>>Ctrl-F в Visual Studio
AVK>Я так и думал. Рассказываю как надо — ставим решарпер, находим в Object Browser textWriter, правой кнопкой мыши, выбираем Find Usages Advanced, затем ставим галки напротив member usages и derived types, и жмем ОК. В текущем проекте, который, вроде как, работает только с БД — 443 occurences.
Я имел в виду — в коде, написанном нами, не используется. В самом .NET и в компонентах третьих сторон, конечно же,
встречается.
Здравствуйте, Flying Dutchman, Вы писали:
FD>Я имел в виду — в коде, написанном нами, не используется. В самом .NET и в компонентах третьих сторон, конечно же, FD>встречается.
А приведенный мной способ только сосбтвенный код и меряет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
ГВ>>Э-э... Так, вроде, не площади считаем. Хотя, вообще, определять площадь круга методом МК — это прикольно. AVK>А чего ж
А вообще... Пятница сегодня, в конце концов или нет?!
Значит так: синус = 4, площадь квадрата считаем монтекарлой. Понеслась!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Flying Dutchman, Вы писали:
FD>>Я имел в виду — в коде, написанном нами, не используется. В самом .NET и в компонентах третьих сторон, конечно же, FD>>встречается.
AVK>А приведенный мной способ только сосбтвенный код и меряет.
Здравствуйте, olegkr, Вы писали:
ГВ>>Интересно, в чём ты видишь различия? Я не ёрничаю, мне в самом деле интересно. O>В buzzwords. Математики в индустрии производства ПО действительно мало. Что требуется от разработчика — знание языка, сопуствующих фреймворков, процессов и инструментов разработки, умение дизайнить систему. Да что там говорить, требования в вакансиях прописаны.
Понятно.
ГВ>>Теоретики CS? Ну вот тебе пример — Барбара Лисков, теоретик из теоретиков. Напомнить об остальном? O>Не знаю такового, увы.
А зря.
ГВ>>Какие акценты, например? У нас, например, делался некоторый акцент на организации самого процесса разработки. А что ты имеешь в виду? O>Это хорошо. Я имею в виду акценты практической разработки.
Например?
ГВ>>Причём тут строительные архитекторы? Это, по сути, дизайнеры пользовательского интерфейса. O>Дизайнеры — это отдельная специализация.
Так вот я и не понимаю, почему ты про архитекторов вспомнил.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
потому я и говорю, что мой алгоритм действий, для этой задачи, был бы следующий: покопаться в интернете и справочниках и найти оптимальное решение. более чем убежден, что на вашу ссылку я бы тоже нарвался, возможно и использовал бы ее.
слижком много вещей, которые казались мне очень актуальными 5-10 лет назад, на сегодняшний день не имеют практического смысла. когда каждый месяц появляются новые технологии, я физически не имею возможности запомнить все детали. единственный выход для меня — это изучить базовые принципы и знать, где их можно уточнить.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Э-э... Так, вроде, не площади считаем. Хотя, вообще, определять площадь круга методом МК — это прикольно.
Вот, кстатии, и оно. И сакральных математических знаний нужно только "квадрат гипотенузы равен сумме квадратов катетов".
using System;
using System.Collections.Generic;
using System.Linq;
namespace PieArea
{
public static class Extensions
{
private static readonly Random _rnd = new Random();
public static IEnumerable<int> Rnd(int max)
{
while (true)
yield return _rnd.Next(max);
}
public static IEnumerable<R> Merge<T1, T2, R>(
this IEnumerable<T1> left,
IEnumerable<T2> right,
Func<T1, T2, R> selector)
{
using (var leftEn = left.GetEnumerator())
using (var rightEn = right.GetEnumerator())
while (leftEn.MoveNext() && rightEn.MoveNext())
yield return selector(leftEn.Current, rightEn.Current);
}
}
class Program
{
static void Main()
{
Console.WriteLine(PieArea(1000));
}
private static double PieArea(int radius)
{
const int iterations = 1000000;
var hits =
Extensions.Rnd(radius)
.Merge(Extensions.Rnd(radius), (l, r) => new { X = l, Y = r })
.Select(pos => Math.Sqrt(pos.X * pos.X + pos.Y * pos.Y) < radius)
.Take(iterations)
.Aggregate(0, (agg, value) => agg + (value ? 1 : 0));
return (double)radius * radius / iterations * hits * 4;
}
}
}
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, olegkr, Вы писали:
ГВ>>Теоретики CS? Ну вот тебе пример — Барбара Лисков, теоретик из теоретиков. Напомнить об остальном? O>Не знаю такового, увы.
Такую. И про Liskov Substitution Principle тоже никогда не слышал?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, mymuss, Вы писали:
M>В Гугле считают, что умение решать головоломки есть признак хорошего разработчика. В Гугле хотят нанять хороших разработчиков. Поэтому для отсева кандидатов им предлагают порешать головоломки.
А вы считаете себя гуглом? В гугл столько кандидатов рвется, что они могут просто нанимать их по принципу — кто быстрее свой носок сжует, и не ошибутся. Я не уверен, что такая ситуация у всех компаний, тем более у компаний третьего эшелона. Там если так выпендриваться — то можно вообще сотрудника по два года искать. Если кто-то и заглянет ненароком по объявлению раз в три месяца — то тарелку борща ему наливать надо, а не площадь круга спрашивать.
И>значит, программисту вся математика не нужна, о чем я и стараюсь говорить с самого начала. нужна булева арифметика, логические операции, дискретная (хотя я уже не помню, про что она). а вот умения считать площадь круга (геометрия) не нужна сто лет в обед.
Я тебе по секрету скажу, что вся математика не нужна обычно даже профессиональным математикам.