Цикл for

Статус
В этой теме нельзя размещать новые ответы.

USA

Новичок
Добрый день. Подскажите как мне хорошо разобраться с цыком for. Я понимаю самое элементарное, а вот чуток подальше и не могу сообразить, что и куда =) Может подскажите, какие то для начало простенькие логические задачки написать на цыкле for для хорошего усвоения. Подскажите что то, а то тыкать код в цыкле на угад не вариант мне кажется или я ошибаюсь
 

Вурдалак

Продвинутый новичок
USA, в 21 год человек не умеет правильно писать слово «цикл». Тебе уже ничего не поможет. Лучше попробуй в макдаке на кассе поработать, больше пользы для общества будет.
 

USA

Новичок
все могут ошибаться и опечатываться, спс за совет, лучше б что то по делу подсказал. А может я на Украинском заголовок написал
 

Фанат

oncle terrible
Команда форума
фор - это короткая запись цикла while
первый оператор - это устновка начального значения переменной -счетчика.
второй оператор - условие по которому проверяется, нужно ли выполнять цикл.
третий оператор - изменение счетчика.

то есть,
PHP:
for($i=0,$i <10,$i++) {
  echo $i;
}
можно записать как
PHP:
$i=0;
while($i <10) {
    echo $i;
    $i++
}
для тренировки можно написать вывод чисел от 10 до 100 шагом 10
 

Фанат

oncle terrible
Команда форума
но вообще, конечно, что вопрос, что жалоба - так себе.
 

USA

Новичок
Спасибо, самое элементарное я понимаю. Я путаюсь когда например нужно что то сравнивать, или подобие игры турнира в шахматы, в который игрок должен сыграть со всеми соперниками. Не могу понят с чего начать и тд =( Вот и прошу подсказать какие то самые простенькие логические задачки, что б разобраться что и куда )
1 тур

6 — 1

3 — 5

2 — 4
2 тур

1 — 4

5 — 2

6 — 3
3 тур

3 — 1

2 — 6

4 — 5
4 тур

1 — 5

6 — 4

3 — 2
5 тур

2 — 1

4 — 3

5 — 6
 

Фанат

oncle terrible
Команда форума
Зачем тебе подсказывать логические задачки, если у тебя и так есть задачка?
 

USA

Новичок
Просто , что б это реализовать нужно знать от чего отталкиваться, а я не знаю от чего ) на php это реализовать хочу.
 

USA

Новичок
не подскажите как сделать как в примере с шахматами ?
 

WMix

герр M:)ller
Партнер клуба
первая логическая задачка
нарисовать треугольник
Код:
*
**
***
****
*****
2я нарисовать пирамиду
Код:
   *
  ***
 *****
*******
3я задача ромбик
Код:
   *
  ***
 *****
*******
 *****
  ***
   *
ждем ваш код... обсудим...

подсказка: переход на следующую строчку echo "\n"
чтоб в браузере отображались символы в том виде как они написаны используем echo "<pre>";
пример
PHP:
echo "<pre>";
echo "*\n";
echo "**       **\n"; // все пробелы нарисованны
echo "</pre>";
разумеется задачки решаем с помощью цикла
 

USA

Новичок
PHP:
for($m = 0;$m <= 0; $m++){
    echo $m; }echo "<br>";
    for($y = 0;$y <= 1; $y++){
    echo $y; 
    }echo "<br>";
        for($u = 0;$u <= 2; $u++){
        echo $u; 
        }echo "<br>";
            for($j = 0;$j <= 3; $j++){
            echo $j; 
            }echo "<br>";
                for($t = 0;$t <= 4; $t++){
                echo $t; 
                }
?>
Вот так получилось ) а как сделать вместо цифр звездочки не знаю ) правильно ?
0
01
012
0123
01234
 

WMix

герр M:)ller
Партнер клуба
echo '*'; ?
пожалуйста оформляйте код правильно!

еще раз обрати внимание сюда

подсказка: переход на следующую строчку echo "\n"
чтоб в браузере отображались символы в том виде как они написаны используем echo "<pre>";
вам еще 2ю и 3ю задачку решать (я про <br> ничего не говорил)

попробуй обьяснить
1. почему в каждом цикле ты использовал новую переменную?
($m, $y, $u ...)
2. а еслиб высота треугольника состовляла 1000 линий, тыб повторял каждый раз один и тотже кусок кода 1000 раз?
 

WMix

герр M:)ller
Партнер клуба
подумал, и решил, я дам решение первой задачки, чтоб представить о чем я говорю
PHP:
// это вместо <pre>, сообщаем браузеру что содержимое голый текст
header('Content-Type: text/plain');

// высота треугольника
$height=10;


for($y=1; $y<=$height; $y++){
	for($x=0; $x<$y; $x++){
		echo "*";
	}
	echo "\n";
}
 

USA

Новичок
Переменные писал разные бо не знал, что одна подходит )
PHP:
echo "</pre>";
echo "<pre>";
for($i = 0;$i <= 0; $i++){
    echo "*\n";   
    }
        for($i = 0;$i <= 1; $i++){
            echo "*";   
            }echo "\n"; 
                for($i = 0;$i <= 2; $i++){
                    echo "*";   
                    }echo "\n";
                         for($i = 0;$i <= 3; $i++){
                            echo "*";   
                            }echo "\n";
                                for($i = 0;$i <= 4; $i++){
                                    echo "*";   
                                    }echo "\n";       
echo "</pre>";
?>
*
**
***
****
*****
 

USA

Новичок
блин, опять не правильно сделал) я каким то странным способом делаю не как все нормальные люди )
 

WMix

герр M:)ller
Партнер клуба
напоследок дам тебе законченное решения первой задачки...
и пока не вылижешь свой код также сюда не приходи

PHP:
<?php

/**
 * читать тут
 * http://www.php.net/manual/ru/reserved.variables.get.php
 * http://php.net/manual/ru/language.operators.comparison.php
 * http://www.php.net/manual/ru/language.types.integer.php
 * http://www.php.net/manual/ru/tutorial.forms.php
 */

// высота по умолчанию
$default_height = 4;

// определяем высоту
$height = (
	isset( $_GET['height'] ) // если высота передана по гет
	? (int)$_GET['height']   // используем ее как числовое значение
	: $default_height        // иначе используем значение по умолчанию
);


?><html>

	<head>
		<title>triangle</title>
		<style type="text/css">
			pre.output{
				border: 1px solid silver;
				background-color: #f5f5f5;
				padding: 10px;
				color: gray;
			}
		</style>
	</head>

	<body>

		<form action="" method="get">
			<fieldset>
				<legend>configuration</legend>
				<label for="height">height:</legend>
				<input type="text" id="height" name="height" value="<?=$height?>">
				<input type="submit" value="generate">
			</fieldset>
		</form>

		<pre class="output"><?php

			for($y=1; $y<=$height; $y++){
				echo str_repeat('*',$y)."\n";
			}

		?></pre>

	</body>
</html>
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху