sbírka příkladů

aneb příkazy pro větvení a cyklus v jazyce PHP v praxi

gymnázium
karviná

Pyramida

zadání

Vytvořte pomocí příkazu cyklu následující vzor tak, aby nejdelší řada měla počet prvků zadaný uživatelem.

zobrazení

zadejte číslo:

řešení

Vytvoříme formulář pro zadání maximálního počtu. Získanou hodnotu vložíme do proměnné $pocet. Začneme cyklem, který bude postupně řádky prodlužovat. $i=1 a přičítá se, dokud bude menší nebo rovna $pocet. Do každého řádku musíme vypsat daný počet prvků. Na to také použijeme příkaz cyklu. Na prvním řádku se rovná 1. Proto nastavíme proměnnou $pricitani = 1. $a se v příkazu cyklu na začátku rovná 1 a přičítá se, dokud je menší nebo rovna $pricitani. Po ukončení příkazu tohoto cyklu přičteme k $pricitani 1, aby se v dalším řádku vypsal o jeden prvek více. Na dokončení pyramidy použijeme také příkaz cyklu for a postupujeme podobným způsobem. Rozdíl je v tom, že odčítáme, ve vnějším cyklu nastavíme $i<$pocet, protože vypsaných řádků je o jeden méně, než je zadaný počet, začínáme u maximální hodnoty ($odcitani = $pocet) a že ve vnitřním cyklu nastavíme $a<1, opět proto, že chceme vypsat o jeden prvek méně, než je aktuální hodnota $odcitani.

<form method="post"> 
  zadejte číslo: <input name="pocet" size="10" type="text">
  <input value="klik" type="submit" class="tlacitko">
</form>
<?php
  if (isset($_POST["pocet"])) {
	$pocet = $_POST["pocet"];
	$pricitani = 1;
	$odcitani = $pocet;
	for ($i = 1; $i <= $pocet; $i++) {
	  for ($a = 1; $a <= $pricitani; $a++) {
		  echo "o";
	  }
	  echo "<br>";
	  $pricitani++;
	}
	for ($i = 1; $i < $pocet; $i++) {
	  for ($a = $odcitani; $a > 1; $a--) {
		echo "o";
	  }
	  echo "<br>";
	  $odcitani--;
	}
  }
?>

použité příkazy: if, for