Реально ли на первое время подрабатывать на небольшие суммы разработчиком какого-либо языка, самообучившись по книгам, видео-курсам и т.д. и создав портфолио с готовыми работамиСложно, не невозможно, но очень маловероятно. Чисто логически представьте себе такого работодателя, которому нужен малоопытный недоджун, работающий по пару часов в день. Что ему можно поручить такого, с чем бы опытный не справился за время в 10 раз меньше? Ну и в целом джунов/трейни берут с перспективой вырастить своего недорогого спеца, в вашем случае это со стороны нанимателя просто не перспективно.
при этом не имея на руках никаких документов о получении специальности/квалификации? Или в любом случае необходим сертификат или СПО/ВПО?90% нанимателей чхать хотели на ваши сертификаты или дипломы, если вы умеете в продакшн. Программирование не является сертифицированным видом деятельности (то есть для выполнения работ работник не обязан иметь сертификат, как нарпимер в медицине), и в вашем случае это самое последнее что должно вас волновать.
async
/ await
не меняет асинхронной сути исполнения. Перечитайте, что ли, про awync / await. function distribute(arr, val) {
let n = arr.length;
let dVal = val;
while (dVal > 0) {
let d = dVal / n;
dVal = 0;
for (let i = 0; i < arr.length; i += 1) {
if (arr[i] === 1) {
continue;
}
arr[i] += d;
if (arr[i] < 1) {
continue;
}
dVal += arr[i] - 1;
arr[i] = 1;
n -= 1;
if (n === 0) {
return undefined;
}
}
}
return arr;
}
= capacity
вместимость всего массива.X > capacity
— «невпихуемо!» — задача не имеет решения.k = X / capacity
меньше или равен 1.k
.const spread = (value, arr) => {
const CELL_MAX = 1;
const sum = arr.reduce((acc, c) => acc + c);
const capacity = arr.length * CELL_MAX - sum;
if (value > capacity) throw new Error("Value won't fit");
const k = value / capacity;
return arr.map(el => el + (CELL_MAX - el) * k);
}
spread(0.2, [ 0.1, 0.1 ]) // [ 0.2, 0.2 ]
spread(0.2, [ 0.1, 0.99 ]) // [ 0.29780219780219785, 0.9921978021978022 ]
(a + b + c) / 2
(a+b+c)/2.00
// Запускал в roslynpad. Тебе возможно придётся убрать вызовы Dump и добавить юзинги
var result1 = CalcualteAreaOfTriangle(11,11,12).Dump("result 1");
var result2 = CalcualteAreaOfTriangle(9,9,19).Dump("result 2");
static double CalcualteAreaOfTriangle(int a, int b, int c)
{
var p = (a + b + c) / 2.00;
p.Dump("p");
var s1 = Math.Sqrt((p * (p - a) * (p - b) * (p - c)).Dump("pre sqrt"));
var s2 = 0.5 * a * b;
if (s1 == s2)
{ // Кстати это почти никогда не будет срабатывать из-за IEEE754
Console.WriteLine("Треугольник прямоугольный");//а точно ли?
}
return s1;
}