За последние 24 часа нас посетили 16153 программиста и 1666 роботов. Сейчас ищут 900 программистов ...

Показать числа от $a до 20

Тема в разделе "PHP для новичков", создана пользователем DaniilKhanin, 30 июл 2014.

  1. DaniilKhanin

    DaniilKhanin Новичок

    С нами с:
    30 июл 2014
    Сообщения:
    24
    Симпатии:
    0
    Присвойте переменной $а значение в промежутке [0..20]. С помощью оператора switch организуйте вывод чисел от $a до 20

    вот что надумал
    Код (PHP):
    1.  <?php 
    2. $a=13;
    3. switch ($a)
    4. {
    5.  
    6. case 13:
    7. echo $a;
    8. break;
    9. }
    10. ?>
    там где
    Код (PHP):
    1. echo $a
    не знаю как записать чтобы показал числа до 20.

    Просьба! не выкладывать ответ, а подсказать...

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    подсказка - брейк в свиче можеть быть , а может и не быть(это не ошибка ,а такое поведение!)
    2 подсказка, выполняется ког после НАЙДЕННОГО КЕЙСА И ДАЛЬШЕ!!!!! ........брейк нужен или нет!
    пс пытался не раскрывать все козыри ,ну я думаю ты догадался!
     
  3. DaniilKhanin

    DaniilKhanin Новичок

    С нами с:
    30 июл 2014
    Сообщения:
    24
    Симпатии:
    0
    если стоит break то интерпритатор дальше не будет выполнять действия из следующих блоков
    Код (PHP):
    1. <?php
    2.  
    3.  
    4.  
    5. $v=10; 
    6. $d=11;
    7. $g=12;
    8. $a=13;
    9. $b=14;
    10. $c=15;
    11.  
    12. switch ($a)
    13. {
    14. case 10:
    15. echo $v;
    16.  
    17. case 11:
    18. echo $d;
    19.  
    20. case 12:
    21. echo $g;
    22.  
    23.  
    24. case 13:
    25. echo $a;
    26.  
    27. case 14:
    28. echo $b;
    29.  
    30. case 15:
    31. echo $c;
    32. }
    33.  
    34. ?>
    Как считаете правильно задания выполнил ?? ведь если менять значения переменной тогда некорректно выводится а именно повторяется значение((
    P.S здесь Присваивание переменной значения в промежутке [10 ...15].

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  4. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    у тебя тут вывидеться 13 14 15

    свич ищет по условию а которое равно 13 (он нашел совпадение , то есть условие выполнилось!(case 13:) и если нету брейка то он после совпадения выполнить ВСЕ ниже стоящие условия вне завсимости совпали они или нет! для этого ОБЫЧНО ставиться брейк что бы ВЫПОЛНИЛОСЬ ТОЛЬКО ТО ЧТО СООТВЕТСТВУЕТ УСЛОВИЮ!)
    Код (PHP):
    1. $v=10;$d=11;$g=12;$a=13;$b=14;$c=15;
    2.  
    3. switch ($v){
    4. case 10: echo $v;
    5. case 11: echo $d;
    6. case 12: echo $g;
    7. case 13: echo $a;
    8. case 14: echo $b;
    9. case 15: echo $c;
    10. }
    11. вот так выведеть от 10 - 15 
    Например поставь БРЕЙК case 14: echo $b;break;
    и получишь 10-14
     
  5. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    А зачем доп. переменные? разве не проще
    Код (Text):
    1. switch ($v)
    2. {
    3. case 10:
    4. echo 10;
    5.  
    6. case 11:
    7. echo 11;
    и т.д.?
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    а что за идиотское задание? откуда оно? и почему именно switch.
     
  7. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Думаю, от нашей системы образования. Там очень любят задания "постройте окружность с помощью линейки, консервного ножа и ботинка"
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Да ладно, похоже на задание из учебника. Наверно тема связана с switch и что бы закрепить материал нужно сделать через свитч, а 20 что бы задолбался и запомнил на всю жизнь.
     
  9. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Так вот в том и проблема таких учебников, что они требуют применять инструмент на поле, где он совершенно не нужен.
     
  10. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    На сколько мне известно чем меньше код, тем быстрее он исполняется (тем меньше надо РНР что бы проверить синтаксис на ошибки), по этому правильнее было бы писать такое:
    Код (PHP):
    1. $a = rand(0,20);
    2. for ( $i = $a + 1; $i < 20; $i++) {
    3. echo "<h3>{$i}</h3>";
    4. }
    на худой конец, если так хочется что то по проверять, то вот так вот:
    Код (PHP):
    1. $a = rand(0,20);
    2. for ( $i = 0; $i < 20; $i++) {
    3. if ( $i > $a ) { echo "<h3>{$i}</h3>"; }
    4. }
    а не писать 20 штук case из оператора switch.
    Если это учебник, то он плохой, т.к. там должно быть максимум до 5 значений, а дальше надо искать альтернативу решения проблемы, а тут целых 20 значений, он учит программированию, но плохому.
     
  11. DaniilKhanin

    DaniilKhanin Новичок

    С нами с:
    30 июл 2014
    Сообщения:
    24
    Симпатии:
    0
    Это я на курсы записался по php . Дали методичку https://www.dropbox.com/s/rvlw0ci7nfft72y/php1-02-manual.pdf вот эта про if , switch ...там задания вконце

    Правда я еще не совсем понимаю как я могу применить это при создании сайтов
     
  12. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Это обычная практика для многих учебников, после прохождения материала даются задачи на закрепление. Не всегда оптимальные решения, согласен. Открой любой учебник по программированию для абсолютных новичков.

    Ты сейчас изучаешь язык его возможности, а не как писать сайты. Это не одно и то же.
     
  13. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Посмотри по документам, кто проводит курсы (и кто автор методички), не Евгений Попов?
     
  14. DaniilKhanin

    DaniilKhanin Новичок

    С нами с:
    30 июл 2014
    Сообщения:
    24
    Симпатии:
    0
    Не написано кто методичку писал(( а курсы ведет Андрей Жариков (школа Программирования)
     
  15. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Задания бредовые, но методичка вроде ничего. Не пытайтесь сейчас понять. Этот учебник научит вас в принципе основе применения языка, а потом вы уже изучите конкретику для сайтов. А то тут куча народу, которые сразу начинают писать сайт методом собирания кода с разных сайтов и форумов, а потом задают вопросы: "А как мне сделать, чтоб в переменной $a было число 20"... Хотя придумать не столь бредовые задания можно всё-таки было бы.
     
  16. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
  17. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Ну, не согласен. Кроме этого задания остальные вполне осмысленные. И методичка вполне приличная. Если в следующих разделах не будет задач типа "с помощью рекурсии вычислите сумму двух чисел", я бы сказал, что курс хороший.
     
  18. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Тоже учусь и выполняю это задание. Мое решение:
    Код (PHP):
    1. <?php
    2.     $a = 5;
    3.     switch ($a)
    4.     {
    5.         case 0:
    6.             echo ($a++ );
    7.         case 1:
    8.             echo ($a++ );
    9.         case 2:
    10.             echo ($a++ ) ;
    11.         case 3:
    12.             echo ($a++ );
    13.         case 4:
    14.             echo ($a++ );
    15.         case 5:
    16.             echo ($a++ ) ;
    17.         case 6:
    18.             echo ($a++ );
    19.         case 7:
    20.             echo ($a++ );
    21.         case 8:
    22.             echo ($a++ );
    23.         case 9:
    24.             echo ($a++);
    25.                 case 10:
    26.             echo ($a++ );
    27.         case 11:
    28.             echo ($a++ );
    29.         case 12:
    30.             echo ($a++ ) ;
    31.         case 13:
    32.             echo ($a++ );
    33.         case 14:
    34.             echo ($a++ );
    35.         case 15:
    36.             echo ($a++ ) ;
    37.         case 16:
    38.             echo ($a++ );
    39.         case 17:
    40.             echo ($a++ );
    41.         case 18:
    42.             echo ($a++ );
    43.         case 19:
    44.             echo ($a++);
    45.                case 20:
    46.             echo ($a);
    47.         break;
    48.  
    49.     }
    50. ?>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Нет. Нет задачи менять переменную. Есть задача числа вывести свичом без брейка. Задача на закрепление. Вполне нормальная.
     
  20. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Т.е. достаточно тупо написать такой код?
    Код (PHP):
    1. <?php
    2.     $a = 19;
    3.     switch ($a)
    4.     {
    5.         case 19:
    6.             echo '19';
    7.         case 20:
    8.             echo '20';
    9.         break;
    10.     }
    11. ?>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Да. Только с нуля начиная.
     
  22. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Теперь понял. Спасибо!