За последние 24 часа нас посетили 17798 программистов и 1628 роботов. Сейчас ищут 948 программистов ...

Пожалуйста помогите решить задачку. Заранее спасибо!!!

Тема в разделе "Сделайте за меня", создана пользователем AKTER, 1 мар 2019.

  1. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Самая простая задача

    Дано: Массив: $items = ['where', 'is', 'my', 'money']; и переменная $sum = 0;

    В цикле от 0 до 100 сделайте следующее (должно выполнится только одно из условий):

    если число делится без остатка на 3 выведите любую непустую строку

    если число делится без остатка на 5 – прибавьте это число к переменной
    $sum

    если число делится и на 5 и на 3 – перемешайте массив
    $items

    После цикла Выведите массив $items, любым удобным способом
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    выложи, что у тебя получилось и что не получилось
     
    AKTER нравится это.
  3. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Я вообще не понимаю как двигаться.
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    AKTER нравится это.
  5. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Спасибо огромное. Был бы очень благодарен конечно если кто нибудь скинул код решения всей задачи. Просто времени в обрез. Дали задачи тестовые чтобы на курсы в компанию попасть. Ничего не успеваю.
    Ещё вопрос на миллион. Нужно описание к заданию(почему ответ именно этот)
    ЗАДАЧА
    upload_2019-3-1_19-33-9.png
    3. Каков результат выполнения у данного скрипта
    А) end
    Б) 12345end
    В) Другой ответ
    Г) Ошибка синтаксиса


    Я ответил: В) тоесть функция выдаст (5end)
    Потому что, цикл прерывается точкой с запятой, и переменная $someBeautifulValue будет хранить в себе последний элемент массива с последней итерации. Верно?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    ну а на курсах учиться тоже форум будет? Не пойми неправильно, но надо приложить силы. Тебе дали все, что нужно, чтобы решить задачу. Пробуй. Все равно придется потом. Лучше начать сейчас.
    --- Добавлено ---
    А откуда инфа, что точки с запятой прерывают циклы? То есть, мыслишь ты в направлении верном, почти. Но ответ неправильный.
     
  7. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Я понимаю у меня сейчас времени просто не хватает. Нужно сегодня до 12-ти скинуть ответы. И я не успеваю. Было бы время разобрался конечно. Подскажите если знаете я правильно обоснование написал к задаче выше?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Хм...а я был не прав. Ты ответил верно. Я тупанул :)
     
  9. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Так я же проверил скрипт, он выдаёт 5end. Ответ неправильный или обоснование?
    --- Добавлено ---
    А обоснование правильное?
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Но цикл не прерывается точкой с запятой, которую я проглядел. Точка с запятой просто отделяет его от секции под ним, в итоге тело цикла будет пустым. Но переменная создастся, да, и будет хранить последнее значение. Это багофича foreach.

    То есть цикл не был прерван. Он совершенно штатно отработал. А потом уже стал отрабатывать остальной код.
     
  11. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Спасибо большое. А с первой задачей не сможете помочь?
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Остаток от деления получается с помощью оператора %, уже было сказано.

    10%3 = 1
    10%2 = 0

    Сравнение значений делается с помощью конструкции if.

    Почитайте об этом, потратьте 15 минут. Не так много времени. И все поймете. Там все не сильно сложнее кода из второй задачи. Вы справитесь.
     
  13. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Хорошо, это наверно все нервы не дают сосредоточиться. Я вроде понимаю что это все просто сосредоточиться не могу. Огромное спасибо
     
  14. Catrinblaidd

    Catrinblaidd Новичок

    С нами с:
    21 окт 2018
    Сообщения:
    13
    Симпатии:
    7
    PHP:
    1. //Дано:
    2. $items = ['where', 'is', 'my', 'money'];
    3. $sum = 0;
    4.  
    5. //В цикле от 0 до 100 сделайте следующее
    6. $n = 0;
    7. for ($n; $n < 100; $n++) {
    8.   if ($n % 3 == 0 && $n % 5 == 0) { //если число делится и на 5 и на 3
    9.     //перемешайте массив $items
    10.     shuffle($items);
    11.   } else if ($n % 3 == 0) { //если число делится без остатка на 3
    12.     //выведите любую непустую строку
    13.     echo 'Non empty string<br>';
    14.   } else if ($n % 5 == 0) { //если число делится без остатка на 5
    15.     //прибавьте это число к переменной $sum
    16.     $sum += $n;
    17.   }
    18. }
    19. print_r($items);
     
    AKTER нравится это.
  15. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Огггромнеейшее спасибо!!!!!!!!!!!!! подскажите null по значению равено 0 я правильно понимаю?
     
  16. Catrinblaidd

    Catrinblaidd Новичок

    С нами с:
    21 окт 2018
    Сообщения:
    13
    Симпатии:
    7
    null это не 0, это специальное значение.
    https://php.ru/manual/language.types.null.html
     
    mkramer нравится это.
  17. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Тогда почему if (null == 0) { на выходу выдаёт TRUE?
    echo 'true';
    } else {
    echo 'false';
    }
     
  18. Catrinblaidd

    Catrinblaidd Новичок

    С нами с:
    21 окт 2018
    Сообщения:
    13
    Симпатии:
    7
    потому что это не строгое сравнение. null === 0 возвращает false
    https://php.ru/manual/language.operators.comparison.html
     
    Fell-x27 нравится это.
  19. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1


    Все равно непонятно. "0" в данном случае имеет тип числовой и значение "0". При двойном равенстве "==" выражения сравниваются по значению. Т.е. я "0" помещаю в одинарные кавычки и конструкция мне выдаёт FALSE . Я из этого делаю вывод что null == 0 эти два выражения равно по значению.
    У меня вообщем такие мысли.
    Объясните пожалуйста где я дурак???
     
  20. Catrinblaidd

    Catrinblaidd Новичок

    С нами с:
    21 окт 2018
    Сообщения:
    13
    Симпатии:
    7
    Когда используется сравнение с помощью "==" php преобразует типы, то есть null превращается в 0 и сравнивается. Я Вам дала ссылки на документацию, где всё это подробно объясняется.
     
    Fell-x27 и mkramer нравится это.
  21. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Есть понятия строгого и не строгого сравнения. Строгое учитывает тип данных. Не строгое - не учитывает.
     
  22. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Всем огромное спасибо. Голова уже кипит
    --- Добавлено ---
    Я по ходу с вами за вечер весь PHP выучу.
    --- Добавлено ---

    Есть ещё одна задача последняя с которой я не могу справиться. Если я попрошу помочь мне, если вам это не составит большого труда
    ЗАДАЧА
    Небходимо придумать удобную структуру результирующего массива, с помощью которого можно решить следующую задачу.
    В системе (программе или базе данных) есть авторы и книги, у каждой книги только один автор.
    Создайте массив, в котором будет не менее 3-х авторов и не менее 5-ти книг.
    Необходимо вывести информацию по всем авторам, на каждой строке : имя Автора – его email– год рождения.
    Затем необходимо вывести информацию по книгам, на каждой строке:
    Название книги – Имя автора - год выпуска книги.


    Например:
    Николай Васильевич – gogol@gogol.ru - 1809
    Пушкин – alexandr@sergeevich.ru - 1799
    Мертвые души – Николай Васильевич - 1841
    Вий – Николая Васильевич - 1834
    Пиковая дама - Пушкин - 1833
     
  23. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    @AKTER, один вопрос. Ты явно хочешь пойти на курсы выше уровня, чем твой. Что ты там поёмешь? Вот у меня немецкий язык, к примеру, уровня a2 (т.е. второй от начального) примерно. Если я сейчас пойду на курсы немецкого на уровень c2 (самый высший), то я там буду сидеть чурбан чурбаном. Тут тоже самое.
     
    artoodetoo нравится это.
  24. AKTER

    AKTER Новичок

    С нами с:
    1 мар 2019
    Сообщения:
    20
    Симпатии:
    1
    Обстоятельства таковы что выбирать не приходится(((((

    upload_2019-3-2_13-16-58.png

    Подскажите почему данный скрипт возвращает bool(true)
     
  25. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    var_dump((int)'test'); - ?