Modele în PHP - Prezentare generală - 9 exemple de model în PHP

Cuprins:

Anonim

Introducere în tiparele în PHP

Ce este programarea modelului în PHP? Este o artă a programării pentru a imprima un fel de model pe ecran. Aceasta poate fi o serie de numere, litere sau caractere speciale pentru a forma un model. Cel mai simplu exemplu de model este seria Fibonacci (1, 1, 2, 3, 5, 8, 13, 21, 34 și așa mai departe). Apoi, există alte modele care sunt modele pe ecran, să spunem o piramidă de stele. Deci, practic, programarea pattern-urilor este pur și simplu imprimarea unui model pe ecran.

Pentru acest articol, am folosi PHP pentru a coda tiparele. Nu vă faceți griji. După ce obțineți atârnarea, este doar sintaxa care variază de la limbă la limbă. Logica este aceeași, întotdeauna.

Exemple de model în PHP

  • Înainte de a sări direct pe programe, să înțelegem logica de bază a modelelor de codare. Modelele sunt întotdeauna programate prin bucle cuibăritate - în majoritate cuibate pentru bucle. Acest lucru se datorează faptului că buclele sunt mai ușor de înțeles sintactic și concis.
  • Bucla exterioară este întotdeauna preocupată de numărul de linii. Deci, să spunem că dacă trebuie să imprimați un model care cuprinde cinci linii, bucla exterioară va rula întotdeauna de cinci ori.
  • Bucla interioară este întotdeauna preocupată de numărul de elemente din fiecare linie. Deci, să spunem că dacă trebuie să imprimați 1 stea în prima linie, 2 stele în a doua linie și așa mai departe, bucla interioară ar controla această logică.
  • În funcție de model, uneori există mai mult de o buclă interioară sau trei niveluri de bucle cuiburi. De asemenea, există implicarea spațiilor și file pentru a produce modelul dorit.

Deci, ținând cont de toate acestea, haideți să încercăm să codăm modelele acum.

1. Piramida stelei.

Acesta este cel mai simplu model de tipărit. Tipărește numărul tot mai mare de stele în rândurile ulterioare. 1 stea în prima linie, 2 stele în a doua linie și așa mai departe.

Să codăm acest model pentru cinci linii. Reținând logica în minte, bucla noastră externă va rula de cinci ori. Deoarece numărul de stele din fiecare linie depinde direct de numărul liniei, bucla noastră interioară va fi o funcție a variabilei de control din bucla noastră externă. Să vedem cum.

Our outer control variable is i and inner control variable is j .
Outer loop iteration 1 –> i = 0
Inner loop iteration 1 –> j = 0
Print star
Outer loop iteration 2 –> i = 1
Inner loop iteration 1 –> j = 0
Print Star
Inner loop iteration 2 -> j = 1
Print Star
Outer loop iteration 3 –> i = 2
Inner loop iteration 1 –> j = 0
Print Star
Inner loop iteration 2 -> j = 1
Print Star
Inner loop iteration 3 -> j = 2
Print Star

Si asa mai departe. Astfel ne controlăm bucla interioară pe baza variabilei de control a buclelor exterioare. Să vedem acum programul în acțiune.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = 0; $i < $num; $i++)
(
// inner loop handles number of columns
for($j = 0; $j <= $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

2. Piramida jumătății stele - Oglindită.

Acest lucru este similar cu Piramida Stelei, cu excepția faptului că stelele sunt aliniate drept.

Pentru a realiza o indentare potrivită, am folosi spații și apoi am imprima stele. Deci, ar exista două bucle interioare - una care să controleze numărul de spații și altele să controleze numărul de stele.

Notă: Rețineți un lucru că numărul de spații din bucla k este spațiu dublu. Acest lucru se datorează faptului că imprimăm și un singur spațiu împreună cu stelele. Acest lucru oferă un aspect final modelului nostru, mai degrabă decât o imprimare congestionată. Vom folosi acest lucru în funcție de pârghia noastră atunci când imprimăm piramidele complete.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = 0; $i < $num; $i++)
(
// inner loop handles indentation
for($k = $num; $k > $i+1; $k-- )
(
// Print stars
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j <= $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

3. Piramida stelei - inversat.

Pentru acest model de piramidă, numărul de stele continuă să scadă cu fiecare nouă linie. Prima linie are 5 stele, a doua linie are 4 stele și așa mai departe.

Ținând cont de logică, știm că bucla exterioară trebuie să controleze întotdeauna numărul de linii, iar bucla interioară trebuie să controleze numărul de stele. Această logică nu poate fi modificată. Cu toate că, ceea ce poate fi schimbat este modul în care pornim buclele, crescând sau scăzând ordinea. Acest lucru înseamnă că putem fie o buclă de la 0 la 5, fie ne putem bucla în ordine descrescătoare de la 5 la 0. Deci, pentru tiparele inversate ca aceasta, știm că numărul de stele este mai mare în prima linie. Deci, alegem să reducem buclele de comandă.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = $num; $i > 0; $i--)(
// inner loop handles number of stars
for($j = 0; $j < $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

4. Piramida stelei - Oglindă inversă.

Acest model este o jumătate piramidă inversată indentată. Numărul de stele scade cu fiecare linie, iar stelele sunt aliniate la dreapta.

Cred că acum veți putea ghici logica pentru aceasta.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = $num; $i > 0; $i--)
(
// inner loop handles indentation
for($k = $i; $k < $num; $k++ )
(
// Print stars
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j < $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

5. Piramida plină de stele.

Acest model imprimă piramida completă. Sau cu alte cuvinte, imprimă pe ecran un triunghi de stele.

Acest model este în esență o combinație de jumătate piramidă și oglinda sa. Deși există o ușoară răsucire atunci când o codificăm. Revizitați nota în jumătate piramidă în oglindă. Țineți minte, cum am folosit distanțarea dublă pentru a da un aspect final modelului nostru? Aici am folosi o distanțare unică astfel încât stelele să fie aliniate alternativ într-un număr impar și egal de rânduri, oferindu-ne un adevărat model triunghiular.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = 0; $i < $num; $i++)
(
// inner loop handles indentation
for($k = $num; $k > $i+1; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j <= $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

6. Diamond Diamond.

Acest model imprimă pe ecran o formă de diamant completă. Numărul de stele crește până la valoarea maximă definită și apoi scade înapoi la 1, oferindu-ne o formă de diamant completă.

Pentru a imprima acest model, va trebui să împărțim modelul în două jumătăți. Jumătatea superioară - care imprimă numărul tot mai mare de stele. Jumătatea inferioară - care imprimă numărul descrescător de stele. Pentru a imprima ambele jumătăți, am folosi două bucle exterioare și bucle interioare corespunzătoare.

Cod

<_?php
function print_pattern($num)
(
// The Upper Half Pattern
// Outer loop handles number of rows
for ($i = 0; $i < $num; $i++)
(
// inner loop handles indentation
for($k = $num; $k > $i+1; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j <= $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
// The Lower Half Pattern
// Outer loop handles number of rows
for ($i = $num-1; $i > 0; $i--)
(
// inner loop handles indentation
for($k = $num-1; $k >= $i; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j < $i; $j++ )
(
// Print stars
echo "* ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

7. Model de număr.

Pentru acest model de număr, vom tipări numerele în raport cu numărul de rând. Astfel, cifra 1 ar fi tipărită o dată, 2 de două ori, 3 ori șamd.

Dacă ai fi urmat rândul său acest tutorial cu rând, acum trebuie să fi înțeles foarte bine funcționarea buclelor imbricate pentru a imprima modele. Acest model urmează, de asemenea, aceeași logică. În loc de stele, imprimăm numere. Acum vă întrebați cum obținem numerele? Răspunsul este - pur și simplu prin variabilele noastre de control i și j.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = 1; $i <= $num; $i++)
(
// inner loop handles indentation
for($k = $num; $k > $i; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 1; $j <= $i; $j++ )
(
// Print numbers
echo $i." ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

8. Model de caracter.

În acest model, am imprima ABCDE alfabetele într-un model. Începând cu A, rândurile următoare vor introduce un nou alfabet întreprins între alfabetele anterioare.

Singurul truc din acest tipar este de a scoate personajele din variabilele noastre de control. Facem acest lucru folosind valoarea ASCII a caracterelor. Valoarea ASCII de la A la Z este 65 până la 90 . Deci, calculăm valoarea ASCII în fiecare iterație și tipărim caracterul corespunzător. Funcția chr () din PHP este utilizată pentru a imprima un caracter din codul ASCII.

Cod

<_?php
function print_pattern($num)
(
// Outer loop handles number of rows
for ($i = 1; $i <= $num; $i++)
(
// inner loop handles indentation
for($k = $num; $k > $i; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 1; $j <= $i; $j++ )
(
// Print characters
echo chr(64+$j)." ";
)
for($j = $i-1; $j >= 1; $j-- )
(
// Print characters
echo chr(64+$j)." ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 5;
print_pattern($num);
?>

ieşire:

Imprimați alfabetele complete, iar modelul arată destul de fain.

9. Clepsidra binară - model bonus.

Acest model este un tipar dinamic care tipărește clepsidra în raport cu timpul scurs, însă nu este un calcul real. De exemplu, dacă a trecut o oră, acesta va imprima o linie de 0s în jumătatea superioară și o linie de 1s în jumătatea inferioară.

Cod

<_?php
function print_pattern($num, $hour)
(
// Outer loop handles number of rows
for ($i = $num; $i > 0; $i--)
(
// inner loop handles indentation
for($k = $num; $k > $i; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j < $i; $j++ )
(
// Print characters
if($num-$i < $hour)
echo "0 ";
else
echo "1 ";
)
// go to new line after each row pattern is printed
echo "\n";
)
for ($i = 1; $i < $num; $i++)
(
// inner loop handles indentation
for($k = $num-1; $k > $i; $k-- )
(
// Print spaces
echo " ";
)
// inner loop handles number of stars
for($j = 0; $j <= $i; $j++ )
(
// Print characters
if($num-$i <= $hour)
echo "1 ";else
echo "0 ";
)
// go to new line after each row pattern is printed
echo "\n";
)
)
//Call function and send number of lines as parameter
$num = 8;
$hour = 3;
print_pattern($num, $hour);
?>

Ieșire: a trecut o oră.

Ieșire: au trecut 2 ore.

Ieșire: au trecut 3 ore.

Si asa mai departe.

Concluzie

Există multe de jucat cu tiparele. Totul este să ții cont de logica codului. După ce ați înțeles complet logica codului, nu există niciun tipar pe care nu îl puteți imprima.

Articole recomandate

Acesta a fost un ghid pentru Tiparele în PHP. Aici am discutat Prezentări generale și exemple de model în PHP cu coduri și ieșire. De asemenea, puteți parcurge articolele noastre date pentru a afla mai multe-

  1. Ce este PHP?
  2. Variabile în PHP
  3. Constructor în PHP
  4. Introducere în PHP
  5. Prezentare generală a modelelor în JavaScript
  6. Exemple de funcție recurentă PHP
  7. Tipare de numere în Java | Exemple cu implementarea Codului