TUTORIALE  TIC

COLEGIUL  ECONOMIC  "DPM"  ALBA   IULIA

Profesor  Simona  Dogaru ,    ISBN    978-973-0-31260-7 Alba Iulia, 2020

ISBN   978-973-0-31261-4 ;   Alba Iulia, 2020  
 

 

Clasa a IX-a Structura calculatorului Windows
Word Formatare Tabele, obiecte si formule matematice Cuprins,note subsol, unelte de desenare
HTML Tema 9
Clasa a X-a
Excel Formatari si grafice Formule si calcule matematice. Functii Baze de date Scenarii
Power Point Tema 10
Clasa a XI-a
Access Tabele Relatii intre tabele Interogari Rapoarte, formulare si etichete
Proiecte Tema 11
MATEMATICA Analiza matematica XI Reprezentarea functiilor Calcul financiar Recapitulare clasa 9 Ecuatii-Inecuatii 10 Trigonometrie 10
COMUNICARE Administrarea corespondentei Comunicarea Comunicare
Clasa a XII-a HTML PhP Formulare PHP Instructiuni conditionale MySQL Tema 12

 

Instrucţiuni condiţionale

 

 

Acestea se folosesc pentru a putea lua decizii.

Aceste decizii se iau în urma evaluării unor expresii condiţionale şi se vor executa diverse instrucţiuni. Expresiile pot avea una din valorile true (adevărat) sau false (fals). Constanta true are valoarea 1 şi false are valoarea 0.

În construcţia expresiilor condiţionale se pot utiliza următorii operatori relaţionali:

<; >; <= (≤); >= (≥);

a= =b (valoarea lui a este egală cu a lui b);

a!=b ( valoarea lui a este diferită de a lui b);

a= = = b este adevărată dacă a şi b au aceeaşi valoare şi sunt de acelaşi tip

a! = = b este adevărată dacă valoarea lui a diferă de b sau dacă au tipuri diferite

Putem forma expresii condiţionale astfel:

1)      Dacă $x este variabilă numerică cu valoarea diferită de zero atunci construcţia $x are valoarea true iar dacă are valoarea egală zero atunci $x=false;

2)      Dacă folosim un şir vid sau cu valoarea "\0" atunci are valoarea = false altfel este true;

3)      Dacă folosim un tablou sau un obiect vid atunci vor avea valoarea =false.

Putem folosi şi operatori logici:

x AND y (x && y): expresia este true dacă x şi y sunt adevărate altfel este false

x OR y (x ||y) : expresia este true dacă cel puţin x sau y este adevărată altfel este false

x XOR y : expresia este true dacă numai x sau y este adevărată altfel este false

!x: este true dacă x este false

 

De exemplu dorim să exprimăm relaţia matematică  atunci ea va avea forma:   sau  se va scrie: .

 

            

 

         Instrucţiunea IF

 

Are sintaxa:

IF(expresie condiţională)

                                     S;

şi efectul este : se evaluează expresie condiţională. Dacă este true atunci se va executa instrucţiunea S.

            if ($x<18)

            echo " Inca nu esti major!";

 

vom analiza efectul acestei instrucţiuni simple prin următoarea aplicaţie. Si anume, în fişierul HTML vom introduce o valoare numerică şi luăm decizia dacă a ajuns la majorat sau nu.

 

 

Pas 1.  Salvăm fişierul p6_1.php în folderul xampp/ htdocs/ probe cu următorul conţinut:

<html>

<head><tile> Instructiunea IF</title></head>

<body>

<?php

$numar=$_POST['numar'];

 echo "Varsta dvs este: $numar";

if ($numar<18)

  echo "<br> Inca nu sunteti major!";

?>

</body>

</html>

 

Observaţie:

După cum vedeţi, ne folosim de valoarea POST, iar datele nu sunt afişate decât dacă le definim noi  ( ex:  $_POST[‘numar’] ). Numele din interiorul variabilei $_POST  este numele elementului din formular.

 

Pas 2.  În acelaşi folder vom salva fişierul p6_1.html care va conţine formularul de mai jos.

 

<html>

<head><title>New Page 1</title></head>

 

<body>

<form method="POST" action="p6_1.php">

 

  Introduceti varsta dvs<br>

  <input type="text" name="numar" size="6">

</form>

 

</body>

</html>

 

Pas 3. Deschideţi fişierul HTML cu ajutorul unui browser şi completaţi URL-ul

 (http://localhost/probe/p6_1.html). După ce introduceţi un număr şi apăsaţi Enter

urmăriţi răspunsul.

 

Pas 4. După ce scriptul de prelucrare p6_1.php este executat, acesta va afişa un mesaj ca mai jos.

 

 

În cazul în care dorim să fie executate mai multe instrucţiuni acestea se vor grupa într-un bloc de instrucţiuni cu ajutorul acoladelor astfel

                        If (expresie_condiţională)

                              { S; }

 

            if ($x<18)

{  echo " <br> Ai sub 18 ani";

    echo "<br> Deci inca nu esti major!";

 }

 

Dacă dorim să avem o alternativă pentru varianta când expresia condiţională este falsă vom folosi instrucţiunea IF…ELSE.

if ($x<18)

  echo " <br> Ai sub 18 ani";

else

    echo "<br> Esti major";

 

Dacă variabila $x are o valoare mai mare decât 18 (adică expresia condiţională este falsă) va fi afişat mesajul cu „ Eşti major”.

Putem utiliza mai multe instrucţiuni IF cu ELSEIF, astfel:

 

if ($ani<7)

    echo " <br> Inca esti la gradinita";

elseif ($ani<16)

    echo "<br> Esti la scoala gimnaziala";

elseif ($ani<18)

     echo "<br> Esti liceean";

else

     echo"<br> Esti major si poti deveni student";

 

Limbajul PHP analizează succesiv expresiile condiţionale pornind de la prima(de sus în jos) şi va afişa mesajul de la cea găsită adevărată. Dacă nici una nu este adevărată atunci se va afişa ultimul mesaj.

 

 

 

 

Instrucţiunea SWITCH

 

Se utilizează atunci când decizia ce trebuie luată face parte dintr-un set de valori.

 

switch($x) {

case 5:     echo "copil mic"; break;

case 12:   echo" adolescent";break;

case 20:   echo" student"; break;

default:   echo " posibil sa fie adult";

}

 

Decizia luată prin switch depinde de valoarea variabilei $x. Instrucţiunea default este opţională. Va fi executată instrucţiunea case găsită adevărată.

De exemplu dacă $x= =5 atunci va fi afişat primul mesaj. Dacă valoarea lui $x nu corespunde cu nici unul din cele 3 cazuri atunci va fi executat default, dacă există. Instrucţiunea break determină încheierea execuţiei instrucţiunii switch trecând controlul la următoarea instrucţiune de după switch.

 

                

 

                      Instrucţiunea FOR

 

 

Este o instrucţiune repetitivă sau ciclică care va repeta executarea unui grup de instrucţiuni până când expresia condiţională devine falsă.

 

for( $i=1; $i<=3; $i++)

{ echo "<br> Pasul $i : ";

   echo " Inveti tot mai bine";

}

 

va determina afişarea : Pasul 1 : Inveti tot mai bine

                                     Pasul 2 : Inveti tot mai bine

 Pasul 3 : Inveti tot mai bine

 

Această instrucţiune funcţionează astfel:

 

            FOR ( expresie 1; expresie 2; expresie 3)

                        {  S; }

 

Avem 3 expresii despărţite prin ; şi corpul instrucţiunii FOR dată de S.

expresie 1 = expresia de iniţializare. Ea se execută numai la început, când PHP ajunge la instrucţiunea FOR. Variabila $i este variabila de ciclare.

expresie 2 = este expresia condiţională care dacă este true se va executa S altfel se va ieşi din ciclul FOR şi se va executa instrucţiunea ce urmează după corpul lui FOR. Această expresie se evaluează la fiecare pas adică cu fiecare nouă valoare a lui $x.

expresie 3 = expresie care modifică valoarea variabilei $i. În cazul nostru îl măreşte pe $i cu 1 la fiecare pas.

 

Execuţia:

Se iniţializează $i cu 1. Se verifică dacă $i<=3 este adevărată. Dacă da, atunci apare mesajul „Pasul 1 : Inveti tot mai bine”. Apoi se măreşte $i cu 1 şi va rezulta $i=2. Se verifică $i<=3=> true => mesajul „Pasul 2 : Inveti tot mai bine” => $i=3. Se verifică $i <=3 „A” => mesajul „Pasul 3 : Inveti tot mai bine” =>$i=4. se verifică $i<=3 „F”, moment în care se predă controul programului următoarei instrucţiuni ce succede pe FOR.

Deci ea este utilă când repetăm aceleaşi acţiuni. De exemplu dacă creem 4 butoane:

<html>

<head><title> Instructiunea For</title></head>

<body>

<?php

 

for( $i=0; $i<4; $i++)

{ echo "<br> <input type = ='Button'  value='$i' > \n";

}

 

?>

</body>

</html>

 

după ce rulaţi scriptul va apare pagina :

 

 

Observaţie:

Observaţi că în codul scriptului am folosit simbolul apostrof  în loc de ghilimele pentru type şi value deoarece echo nu acceptă în interiorul său ghilimele. Dacă începem echo cu ghilimele atunci în interiorul ei vom folosi apostroful iar dacă mesajul îl scriem între apostrofuri atunci în interiorul ei vom folosi ghilimelele. Există şi excepţia care ne permite să folosim tot ghilimele chiar dacă mesajul e scris intre ghilimele, şi anume simbolul backslash pus în faţa ghilimelelor. Dacă nu respectăm aceste condiţii se va genera eroare.

 

for( $i=0; $i<4; $i++)

{ echo "<br> <input type =\"Button\"  value=\"$i\"' > \n";   }

sau

for( $i=0; $i<4; $i++)

{ echo '<br> <input type ="Button"  value="$" > \n';   }

 

 

 

Instrucţiunea WHILE şi DO…WHILE

 

Sunt versiuni ale lu FOR. WHILE are sintaxa :

                     While (expresie test)

                             {  S; }

 

Execuţia:

 

Pasul 1.  Se evaluează expresia test.

Pasul 2.  Dacă rezultatul este true se execută blocul de instrucţiuni S.

Pasul 3.  Se revine la pasul 1 şi repetă 2 şi 3 până când expresia devine false şi atunci trecem la pasul 4.

Pasul 4. Se părăseşte ciclul WHILE şi se execută următoarea instrucţiune de după while.

 

Exemplu:  Suma numerelor :1+2+3.

$i=1; $suma=0;

while ($i<=3)

  {  $suma=$suma+$i;

      $i++;

}

echo "Suma = $suma";

 

Instrucţiunea DO…WHILE  seamănă cu WHILE numai că corpul instrucţiunii se execută cel puţin o dată înainte de a evalua expresia test.

 

$i=1; $s=0;

do

   { $s+=$i;

        $i++;

  }while ($i<=3);

            echo "Adunarea numerelor de la 1 la 3 = $s";