Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Решить задание по программированию


Marinka777

Recommended Posts

Добрый день ребята.

Cыну на курсах задали задание, если есть время и желание то помогите решить
1. https://prnt.sc/1vkt5br
2. https://prnt.sc/1vkt9g3
3. https://prnt.sc/1vktcin

4. https://prnt.sc/1vku9kh

5. https://prnt.sc/1vkufp2

Надіслати
Поділитися на інших сайтах


наймите сыну репетитора, в программировании так же как и в медицине = или ты понимаешь что делаешь или лучше не занимайся этим, вреда будет больше. 

  • +1 1
Надіслати
Поділитися на інших сайтах

А что на курсах не растолковали что к чему? Если сыну действительно это нужно, гугл ему в помощь (если на курсах нормально не объяснили или прохлопал ушами), пусть упрется лбом и пробует решить свой вопрос... Если сам не разберется, то толку не будет.

  • +1 1
Надіслати
Поділитися на інших сайтах

Только что, Marinka777 сказал:

В таком варианте предоставили

Тогда держите такой ответ на все задания: https://developer.mozilla.org/en-US/docs/Web/JavaScript

  • +1 1
Надіслати
Поділитися на інших сайтах

39 минут назад, Marinka777 сказал:

Cыну на курсах задали задание

 

а в чем смысл курсов?

Я наивно полагал, что курсы добровольно проходят с целью познания нового и приобретения навыков, которые нужны в дальнейшей работе.

 

На работе у вашего сына тоже будет кто-то, кто все будет выполнять за него?

 

Без самостоятельного решения задач программистами не становятся. Разве не так?

Надіслати
Поділитися на інших сайтах

Кто-то кстати решил первую задачку?
Мне стало интересно и я так залип что минут наверное 15 потратил и все равно решение мне не совсем нравится, хотя и делает вроде то, что нужно, ну почти. Просто по условии задачи нужно использовать именно callback а  тут больше бы подошел Promise  чтобы можно было вернуть назад значение после выполнения setTimeout 
Может кто предложит более красивое и правильно решение? 
Там вся загвоздка в том, что return в функции addString не работает потому он вызывается внутри setTimeout и функция возвращает результат до того, как setTimeout выполниться. Следовательно в result в addAll() всегда будет undefined 

короче у меня как-то так получилось 
 

function addString(callback) {
  setTimeout(callback(), Math.floor(Math.random() + 100) + 1);
}

function addAll() {
  addString(() => callback("A"));
  addString(() => callback("B"));
  addString(() => callback("C", true));
}

function callback(current, printResult = false) {
  if (typeof callback.sesult === "undefined") {
    callback.sesult = "";
  }

  callback.sesult += ` ${current}`;

  if (printResult) {
    console.log(callback.sesult);
  }
}

addAll();

 

Надіслати
Поділитися на інших сайтах

А мне по приколу такие задачки решать и интересно и узнаешь что-то новое, учишся. 

Еще один вариант первого задания через промис + async await 
этот вариант мне нравится намного лучше
именно его я бы и использовал на практике в подобной ситуации

НО тут нету callback функции, как требует задание, поэтому по условиям задания этот вариант неправильный. 
 

function addString(previous, current) {
  return new Promise((resolve) =>
    setTimeout(
      () => resolve(previous + " " + current),
      Math.floor(Math.random() + 100) + 1
    )
  );
}

async function addAll() {
  let result = await addString("", "A");
  result = await addString(result, "B");
  result = await addString(result, "C");
  console.log(result);
}

addAll();

 

Надіслати
Поділитися на інших сайтах

12 минут назад, sv2109 сказал:

 


function addString(previous, current) {
  return new Promise((resolve) =>
    setTimeout(
      () => resolve(previous + " " + current),
      Math.floor(Math.random() + 100) + 1
    )
  );
}

async function addAll() {
  let result = await addString("", "A");
  result = await addString(result, "B");
  result = await addString(result, "C");
  console.log(result);
}

addAll();

 

 

В итоге сайт бы не работал на моём android 5 с браузером Chrome 43

Надіслати
Поділитися на інших сайтах

8 минут назад, buslikdrev сказал:

В итоге сайт бы не работал на моём android 5 с браузером Chrome 43

при чем тут ваш браузер, это тестовая задача, про браузеры там ничего не было :)
а вообще в продакшине такой код пропускают через бабель и все прекрасно работает, даже на очень старых браузерах, например код для вашего хрома выглядел бы как-то так: 

 

Спойлер

"use strict";

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function addString(previous, current) {
  return new Promise(function (resolve) {
    return setTimeout(function () {
      return resolve(previous + " " + current);
    }, Math.floor(Math.random() + 100) + 1);
  });
}

function addAll() {
  return _addAll.apply(this, arguments);
}

function _addAll() {
  _addAll = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
    var result;
    return regeneratorRuntime.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return addString("", "A");

          case 2:
            result = _context.sent;
            _context.next = 5;
            return addString(result, "B");

          case 5:
            result = _context.sent;
            _context.next = 8;
            return addString(result, "C");

          case 8:
            result = _context.sent;
            console.log(result);

          case 10:
          case "end":
            return _context.stop();
        }
      }
    }, _callee);
  }));
  return _addAll.apply(this, arguments);
}

addAll();

 

 

Надіслати
Поділитися на інших сайтах

2 часа назад, buslikdrev сказал:

В итоге сайт бы не работал на моём android 5 с браузером Chrome 43

 

2 часа назад, sv2109 сказал:

при чем тут ваш браузер, это тестовая задача, про браузеры там ничего не было :)

 

Тоже не понял причем тут старый браузер? Да и не очень старый, пусть.

Тестовая задача, явно подразумевающая использование всей мощи JS в его современном виде.

Одного беглого взгляда достаточно чтобы узреть применение "let", которое мягко говоря, намекает на использование свежего стандарта JS.

Надіслати
Поділитися на інших сайтах

В 10.10.2021 в 16:51, Marinka777 сказал:

Добрый день ребята.

Cыну на курсах задали задание, если есть время и желание то помогите решить
1. https://prnt.sc/1vkt5br
2. https://prnt.sc/1vkt9g3
3. https://prnt.sc/1vktcin

4. https://prnt.sc/1vku9kh

5. https://prnt.sc/1vkufp2

Если сын на курсах, и не решает поставленные задачи, не способен в них разобраться и найти решение. т.е problem solving skill на нуле и не может загуглить решение подобного на stackoverflow, то вероятно Вы тратите деньги время зря.

Не мне Вас учить как воспитывать сына, если бы он пришел на форум и попросил помощи, мол не могу разобраться, думаю можно было бы помочь. Но когда за пацана мама идет за помощью... Вы кого тряпку воспитать хотите? Мужик должен уметь сам находить решение своих проблем.

  • +1 2
Надіслати
Поділитися на інших сайтах

3 часа назад, ocdev_pro сказал:

Если сын на курсах, и не решает поставленные задачи, не способен в них разобраться и найти решение. т.е problem solving skill на нуле и не может загуглить решение подобного на stackoverflow, то вероятно Вы тратите деньги время зря.

Не мне Вас учить как воспитывать сына, если бы он пришел на форум и попросил помощи, мол не могу разобраться, думаю можно было бы помочь. Но когда за пацана мама идет за помощью... Вы кого тряпку воспитать хотите? Мужик должен уметь сам находить решение своих проблем.

"Благими намерениями вымощена дорога в ад."

 

А может мама отправила сына учиться на программиста(там хорошо платят и работа легкая), а сын хочет быть электриком/танцором/кассиром(кем-угодно).

И вот говорит - мама не могу решить, хоть убейте. И это решение его проблемы(не решать это и улететь с этих курсов), а не с той, с которой мама пришла на форум. Мама пришла за решением своей проблемы. 

"Что бы вы ни делали, но, увы, дети не хотят быть теми, кем когда-то мечтали, но так и не стали вы!"

Змінено користувачем niger
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.