Небольшая таблица умножения


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

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

Нам понадобятся два цикла, один для строк, где счетчик цикла будет изме­няться от одного до десяти, и второй для столбцов - здесь также счетчик цик­ла изменяется от одного до десяти, и в этом цикле и будет производиться опе­рация умножения. Общая конструкция выглядит следующим образом:

<?
for ($r = 1; $r <= 10; $r++) {
for ($c = 1; $c <= 10; $c++)  {
   echo ($r * $с);
   echo " ";
}
}
?>


Первый цикл использует в качестве счетчика количества повторений цик­ла переменную $r (от rows - ряды, строки) и значение счетчика изменяется от 1 до 10. Первой инструкцией в теле этого цикла является второй, вложенный цикл, в котором как счетчик используется переменная $с (от columns - столб­цы), которая также изменяется от 1 до 10 - при выполнении этого цикла вы­водится результат умножения счетчика строк и счетчика столбцов. После окончания работы вложенного цикла выводится тег , который служит для перехода к новой строке таблицы умножения.

Что же происходит в этих циклах?

Давайте перейдем в самое начало, здесь переменной $r присваивается значение 1. Затем начинается выполнение вто­рого, вложенного цикла, при этом переменная $с изменяется от 1 до 10 - пе­ременная $r остается равной 1. Внутри вложенного цикла выполняется умно­жение переменных $r и $с, результат умножения выводится на экран. В ре­зультате этого мы получаем на экране следующую строку:

123456789 10

После этого внутренний цикл завершается и управление передается во внешний цикл. На экран выводится символ перехода на новую строку и после этого значение переменной $r увеличивается на единицу. Так как условие прекращения внешнего цикла пока не выполняется, то вновь начинается вы­полнение внутреннего цикла - но значение переменной $r теперь равно 2:

123456789 10 2 4 6 8 10 12 14 16 18 20

Вновь выполнение внутреннего цикла завершается и управление передает­ся внешнему циклу. Это будет повторяться до того момента, когда переменная $r достигает значение 11 и выполнение внешнего программного цикла пре­кращается.
Теперь попробуем сделать выводимые на экран результаты более нагляд­ными и понятными, для этого мы будем использовать тег . Внешний цикл осуществляет вывод всей строки результатов, таким образом внутренний цикл должен быть окружен элементами . Во внутреннем цикле выводятся отдельные значения для строки таблицы умножения, мы используем для каж­дой ячейки обрамление из элементов<td>. Таким образом, мы получаем следующий код HTML в котором используется и PHP:

<table cellpadding="5" border="1">
<?
for ($r = 1; $r <= 10; $r++) {
echo "<tr>";
for ($c = 1; $c <= 10; $c++) {
echo "<td>";
echo ($r * $c);
echo "</td>";
}
echo "</tr>";
}
?>
</table>

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

<?
for ($с = 1; $с <='10; $с++) echo "<td>", ($r * $с) , "</td>";
?>

Автор рекомендует тем, кто только начинает работать с PHP, полностью отказаться от использования сокращений, и каждый шаг программы записы­вать в отдельной строке.

Теперь мы закончили работу над PHP-частью нашего скрипта и можем за­няться тем, чтобы сделать выводимые на экран результаты более красиво оформленными. Например, мы можем с помощью каскадных таблиц стилей изменить их фоновые цвета и выровнять выводимые результаты по правому краю ячейки.

С помощью такого цикла мы можем выводить не только небольшие табли­цы, но и практически любые таблицы умножения, которые только могут нам по­надобиться. Для этого необходимо только проделать несложные операции над переменными этих циклов. Например, мы можем изменить стартовое и конеч­ное значение, или изменить шаг увеличения переменной цикла (рис. 2.6):

<?
for ($с = 1; $с <= 10; $с = $с + 2) ...
?>

Безусловно, мы можем использовать и сокращенный вариант для записи $с = $с + 2;

<?
for ($с = 1; $с <= 10; $с += 2)
?>



Рис. 2.6. Изменяя переменные для двух используемых циклов, мы имеем возможность создать практически любую таблицу умножения. При этом за содержание таблицы отвечает PHP, в то время как внешнее оформление производится средствами HTML

 


Тэги:

Комментарии: 1

Прокомментировать »

 
 
Анастасия
19.03.2017
 

Мы недавно с сыном очень легко выучили таблицу умножения при помощи вот какой классной штуки. Это картинки с изображениями ассоциаций. Нашла я ее на сайте Ярмарка Мастеров, а ещё нашла на Авито. Забиваете в поисковике "ассоциативная таблица умножения". Вот правила игры: (скопировала со странички на сайте) Поочередно показывать ребёнку карточки с обеих сторон, вначале множители, затем картинку, поясняя, что она означает. Когда ученик уже немного заучил информацию, нужно показывать только цифры и можно напомнить картинку в случае, если сразу не запомнил. Таким образом, откладывается и сам результат таблицы умножения, и сам познавательный факт, указанный на картинке. Некоторые дети, изучавшие таблицу умножения при помощи данных карточек, сами просили маму показать сначала картинку, а ребёнок уже называет множители! Тоже отличный вариант обучения!

 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика