start     Articole     Despre mine    

secretul gandirii calculatoarelor

Daca ai urmarit lectiile anterioare de introducere in programarea calculatoarelor, stii deja ca un calculator nu poate sa faca altceva decat sa execute o serie de instructiuni precise, una dupa alta (asa cum ai putut vedea in lectia 1 (partea 1 si partea a 2-a)). Ai vazut si experimentat pana aici instructiuni ce au un efect vizual imediat (instructiunile Aprinde si Stinge, ce aprind, respectiv sting, un punct negru situat la coordonatele specificate pe un “ecran” virtual), precum si instructiuni cu ajutorul carora poti defini variabile si stoca valori in ele (asa cum ai vazut in lectia a 2-a).

Niciuna dintre aceste instructiuni nu pare sa fie, insa, deosebit de inteligenta. Cum este posibil, atunci, ca un calculator sa poata executa operatii cu un grad semnificativ de “inteligenta”? Secretul consta in instructiunea “daca” (if — in limba engleza).

Cu ajutorul ei, calculatorul e capabil sa raspunda la comenzi exprimate intr-un limbaj foarte apropiat de cel uman, de genul “daca o anumita conditie e indeplinita, atunci executa o serie de instructiuni; altfel executa o alta serie de instructiuni”. Intr-un program aceasta s-ar scrie in felul urmator:

if (conditie)

{

       // instructiuni

       …

}

else

{

       // alte instructiuni

       …

}

In loc de conditie se pot pune verificari de egalitati sau inegalitati intre expresii ce pot contine valori, variabile si operatori. De exemplu, pentru a face un program de tip “ghiceste numarul”, am putea testa o conditie de genul if (nr_ghicit == nr_secret) …, unde nr_secret este o variabila in care am stocat numarul secret ce trebuie ghicit de catre jucator, iar nr_ghicit este numarul introdus de catre jucator in incercarea de a ghici numarul secret. (A se remarca faptul ca testarea egalitatii dintre doua valori numerice, valori de variabile sau expresii se face cu operatorul ==, si nu cu operatorul = (care este operatorul cu ajutorul caruia putem stoca o valoare intr-o variabila, asa cum ai vazut in lectia trecuta).)

In cazul in care egalitatea de mai sus este adevarata, putem sa-i afisam jucatorului un mesaj in care sa-i spunem ca a ghicit. In caz contrar, ar trebui sa verificam daca numarul introdus de catre jucator este mai mare sau mai mic decat numarul ce trebuie ghicit si sa afisam un mesaj adecvat. Programul ar putea arata in felul urmator:

// —————————

// Joc “Ghiceste numarul”

// —————————

// Definesc variabilele:

var nr_secret = 16; // numarul ce trebuie ghicit

var nr_ghicit = 10; // <– aici se introduc incercarile de ghicire a numarului

 // Si apoi testez daca s-a ghicit numarul sau nu:

if (nr_ghicit == nr_secret)

{

       // Daca s-a ghicit numarul secret, atunci afiseaza “DA” pe ecran

       Aprinde(2, 3); Aprinde(2, 4); Aprinde(2, 5); Aprinde(2, 6); 

       Aprinde(3, 3); Aprinde(3, 6); Aprinde(4, 4); Aprinde(4, 5);

       Aprinde(6, 3); Aprinde(6, 4); Aprinde(6, 5); Aprinde(8, 3);

       Aprinde(8, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(7, 4);

}

else

{

       // Daca nu s-a ghicit numarul secret, atunci afiseaza

       //   “>” (mai mare) — daca numarul secret este mai mare,

       //   sau “<” (mai mic) — daca numarul secret este mai mic.

       if (nr_secret > nr_ghicit)

       {

              Aprinde(6, 3); Aprinde(7, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(6, 7);

       }

       else

       {

              Aprinde(5, 3); Aprinde(4, 4); Aprinde(3, 5); Aprinde(4, 6); Aprinde(5, 7);

       } 

}

Te rog sa copiezi acest program si sa-l testezi folosind caseta de mai jos.

(Browserul tau nu suporta Canvas!…)

Ce a aparut de ecran?

Acum apasa butonul “Reseteaza afisajul” si modifica in program valoarea variabilei nr_ghicit, punand in loc de 10 valoarea 20Ce se intampla acum daca apesi butonul “Executa programul”? Dar daca repeti operatiunile, folosind de asta data pentru nr_ghicit valoarea 16?

Asa cum ai putut observa in programul anterior, in cadrul unui bloc de instructiuni dintr-o instructiune if se pot pune alte instructiuni de tip if. (In programul dat ca exemplu, blocul de instructiuni din ramura else contine o instructiune if … else … .)

 

Desi instructiunea if este in esenta cea mai puternica instructiune pe care este capabil s-o execute un calculator, nu voi insista prea mult asupra ei aici.Ea va tot reveni in discutie in lectiile ulterioare, si va deveni din ce in ce mai clara pe masura ce o vei experimenta. Ca si in cazul jocului de Go, regulile in programare sunt destul de putine si simple, insa prin imbinarea lor in moduri ingenioase se pot obtine rezultate spectaculoase.

Pana aici, ai intrebari sau sugestii? Le astept cu interes in sectiunea de comentarii de mai jos.





120 comments
dragos28
dragos28

// Joc "Numarul corect 1 din 20"

//-----------

//Definesc variabilele


var nr_corect=3

var nr_introdus=5

var a=VERDE

var b=ROSU


//Testez daca s-a ghicit numarul sau nu:


if(nr_corect==nr_introdus)

{

//Daca s-a ghicit numarul corect atunci afiseaza "OK" pe ecran

  Aprinde(3,3,a);Aprinde(3,4,a);Aprinde(3,5,a);Aprinde(3,6,a);Aprinde(3,7,a);Aprinde(3,8,a)

  Aprinde(4,3,a);Aprinde(4,8,a)

  Aprinde(5,3,a);Aprinde(5,4,a);Aprinde(5,5,a);Aprinde(5,6,a);Aprinde(5,7,a);Aprinde(5,8,a);

  Aprinde(7,3,a);Aprinde(7,4,a);Aprinde(7,5,a);Aprinde(7,6,a);Aprinde(7,7,a);Aprinde(7,8,a);

  Aprinde(8,5,a);Aprinde(8,6,a);Aprinde(9,4,a);Aprinde(10,3,a);Aprinde(9,7,a);Aprinde(10,8,a);

}


else

{

  //Daca nu s-a ghicit numarul corect,atunci afiseaza "KO pe ecran

  Aprinde(2,3,b);Aprinde(2,4,b);Aprinde(2,5,b);Aprinde(2,6,b);Aprinde(2,7,b);Aprinde(2,8,b);Aprinde(3,5,b);Aprinde(3,6,b);Aprinde(5,3,b);Aprinde(4,4,b);Aprinde(4,7,b);Aprinde(5,8,b)

  Aprinde(7,3,b);Aprinde(7,4,b);Aprinde(7,5,b);Aprinde(7,6,b);Aprinde(7,7,b);Aprinde(7,8,b);Aprinde(8,3,b);Aprinde(8,8,b);Aprinde(9,3,b);Aprinde(9,4,b);Aprinde(9,5,b);Aprinde(9,6,b);Aprinde(9,7,b);Aprinde(9,8,b);

}


CristinaMat
CristinaMat

// Ghiceste Numerele Castigatoare


// Definesc variabilele:

var nr_castigatoare=2; 4; 6;

var nr_ghicite=2; 4; 6;


if(nr_ghicite==nr_castigatoare)

{

// Daca s-au gasit numerele castigatoare, atunci afiseaza "SMILEY FACE" pe ecran

Aprinde(3, 3); Aprinde(4, 2); Aprinde(5, 2); Aprinde(6, 2); Aprinde(7, 2); Aprinde(8, 3);

Aprinde(4, 5); Aprinde(7, 5);

}

else

{

  // Daca nu s-au gasit numerele castigatoare, atunci afiseaza "SAD FACE" pe ecran;

 if (nr_ghicite < nr_castigatoare && nr_ghicite > nr_castigatoare)

 {

  Aprinde(4, 5); Aprinde(7, 5);

  Aprinde(3, 1); Aprinde(4, 2); Aprinde(5, 2); Aprinde(6, 2); Aprinde(7, 2); Aprinde(8, 1); 

 }

else

{

  Aprinde(4, 5); Aprinde(7, 5);

  Aprinde(3, 1); Aprinde(4, 2); Aprinde(5, 2); Aprinde(6, 2); Aprinde(7, 2); Aprinde(8, 1); 

}

}


DeaconuMihai
DeaconuMihai

Daca s-a ghicit cifra apare cu verde daca nu cu rosu

EdwardNewgate
EdwardNewgate

//Jocul''Numarul magic''

var nr_magic= ''1-20''

var nr_ghicit= ''1-20''

var r= ROSU

var v= VERDE

if(nr_magic=nr_ghicit)

{

//Daca s-a ghicit numarul magic afiseaza ''WIN'' pe ecran

Aprinde(1,10,v) ; Aprinde(2,9,v) ; Aprinde(3,8,v) ; Aprinde(4,9,v) ; Aprinde(4,10,v) ; Aprinde(5,10,v) ; Aprinde(6,10,v) ; Aprinde(7,9,v) ; Aprinde(8,8,v) ; Aprinde(9,9,v) ; Aprinde(10,10,v) ;

Aprinde(3,1,v) ; Aprinde(3,2,v) ; Aprinde(3,3,v) ; Aprinde(2,5,v) ; Aprinde(2,6,v) ; Aprinde(3,5,v) ; Aprinde(3,6,v) ;

Aprinde(6,1,v) ; Aprinde(6,2,v) ; Aprinde(6,3,v) ; Aprinde(6,4,v) ; Aprinde(7,4,v) ; Aprinde(8,3,v) ; Aprinde(9,2,v) ; Aprinde(10,1,v) ; Aprinde(10,2,v) ; Aprinde(10,3,v) ; Aprinde(10,4,v) ;


}


else


{

  // Daca nu s-a ghicit numarul magic, atunci afiseaza

  //''LOSE''(mai mare)-daca numarul magic este mai mare

  //sau ''LOSE''(mai mic)-daca numarul magic este mai mic

 if(nr_magic>nr_ghicit)

 {

   Aprinde(1,10,r) ; Aprinde(1,9,r) ; Aprinde(1,8,r) ; Aprinde(2,8,r) ; Aprinde(3,8,r) ; Aprinde(8,10,r) ; Aprinde(8,9,r) ; Aprinde(8,8,r) ; Aprinde(9,8,r) ; Aprinde(10,8,r) ;

 }

  else

  {

    Aprinde(1,10,r) ; Aprinde(1,9,r) ; Aprinde(1,8,r) ; Aprinde(2,8,r) ; Aprinde(3,8,r) ; Aprinde(8,10,r) ; Aprinde(8,9,r) ; Aprinde(8,8,r) ; Aprinde(9,8,r) ; Aprinde(10,8,r) ;

  }

Este ceva gresit la joc ?Daca da ce este?

MangaMo
MangaMo

@EdwardNewgate buna edward, eu am schimbat cate ceva la tine, deoarece orice puneam tot win imi venea, doar la 0 veneau cei 2 L. Apoi era problema ca nu exista L mic si L mare, asa ca leam modificat si acolo, si apoi am realizat ca lispeste dublu egal la if, si nu stiu cum trebuie facut sa iti ia corect "1-20"....asa ca am luat cifre normale... e ok?

//Jocul''Numarul magic''


var nr_magic= 8

var nr_ghicit=8


var r= ROSU


var v= VERDE

if(nr_magic==nr_ghicit)


{


//Daca s-a ghicit numarul magic afiseaza ''WIN'' pe ecran


Aprinde(1,10,v) ; Aprinde(2,9,v) ; Aprinde(3,8,v) ; Aprinde(4,9,v) ; Aprinde(4,10,v) ; Aprinde(5,10,v) ; Aprinde(6,10,v) ; Aprinde(7,9,v) ; Aprinde(8,8,v) ; Aprinde(9,9,v) ; Aprinde(10,10,v) ;


Aprinde(3,1,v) ; Aprinde(3,2,v) ; Aprinde(3,3,v) ; Aprinde(2,5,v) ; Aprinde(2,6,v) ; Aprinde(3,5,v) ; Aprinde(3,6,v) ;


Aprinde(6,1,v) ; Aprinde(6,2,v) ; Aprinde(6,3,v) ; Aprinde(6,4,v) ; Aprinde(7,4,v) ; Aprinde(8,3,v) ; Aprinde(9,2,v) ; Aprinde(10,1,v) ; Aprinde(10,2,v) ; Aprinde(10,3,v) ; Aprinde(10,4,v) ;


}


else


{


// Daca nu s-a ghicit numarul magic, atunci afiseaza


//''LOSE''(mai mare)-daca numarul magic este mai mare


  //sau ''LOSE''(mai mic)-daca numarul magic este mai mic


 if(nr_magic>nr_ghicit)


 {


   Aprinde(1,10,r) ; Aprinde(1,9,r) ; Aprinde(1,8,r) ; Aprinde(2,8,r) ; Aprinde(3,8,r) ; Aprinde(8,10,r) ; Aprinde(8,9,r) ; Aprinde(8,8,r) ; Aprinde(9,8,r) ; Aprinde(10,8,r) ;


 }


  else


  {


   Aprinde(1,9,r) ; Aprinde(1,8,r) ; Aprinde(2,8,r) ; Aprinde(8,9,r) ; Aprinde(8,8,r) ; Aprinde(9,8,r) ; 


  }


cercelusa
cercelusa

De ce numai cand valorile lui r si p sunt egale imi apar punctele rosii? Vad ca tie ti-au aparut puncte si de la operatorul  "==".Nu inteleg...Daca le atribui valori diferite nu imi mai apar punctele rosii. Si daca r=p=6 ca valoare,  atunci cum de imi asculta instructiunea cu galben , fiindca 6<6 e fals.


Dragos357
Dragos357

Voi ce numar ati alege?



//Joc "Sunt bun la informatica"

var nr_corect=3
var nr_introdus=3

//Variante 1)Da 2)Nu 3)Nu stiu

if(nr_introdus==nr_corect)

{
  Aprinde(3,3);Aprinde(2,4);Aprinde(2,5);Aprinde(2,6)
  Aprinde(2,7);Aprinde(2,8);Aprinde(3,9);Aprinde(7,4)
  Aprinde(7,7)
}

else
 
{

  Aprinde(3,2);Aprinde(4,3);Aprinde(4,4);Aprinde(4,5)
  Aprinde(4,6);Aprinde(4,7);Aprinde(4,8);Aprinde(3,9)
  Aprinde(7,3);Aprinde(7,7)
}

Vlad123456
Vlad123456

de ce se poate inlocui ultimul else cu if (nr_secret < nr_ghicit)

Cam care este rolul acestui else?

Florin Birleanu
Florin Birleanu moderator

@Vlad123456 Cuvantul "else" in limba engleza inseamna "altfel" (iar "if" inseamna "daca"). Ultimul "else" se poate inlocui cu "if (nr_secret < nr_ghicit)" caci asta e singura varianta posibila care a mai ramas -- daca nr_secret nu este egal cu nr_ghicit si nu este nici mai mare decat el, inseamna ca ultima varianta care a mai ramas e ca este mai mic, nu? (Imbinarea celor doua instructiuni if..else verifica fiecare dintre aceste trei variante (nr_secret egal, mai mare sau mai mic decat nr_ghicit).)

Florin Birleanu
Florin Birleanu moderator

@Vlad123456 In ideea de a face si mai clar ce inseamna "else" dupa un "if", mentionez faptul ca programul urmator:


if (conditie e adevarata)

{

instructiuni 1

}

else

{

  instructiuni 2

}


este echivalent cu acest program:


if (conditie e adevarata)

{

  instructiuni 1

}

if (conditie e falsa)

{

  instructiuni 2

}


E mai simplu ca in loc de "if (conditie e falsa)" sa scrii doar "else", nu-i asa? :-)

Florin Birleanu
Florin Birleanu moderator

@Bianca98 Programul tau nu merge fiindca "rosu" si "negru" sunt niste cuvinte necunoscute pentru calculator. Nu sunt nici predefinite, si nici nu le-ai definit ca variabile.


In schimb, exista cuvintele predefinite ROSU si NEGRU. (Conteaza literele mari si mici -- asa ca "rosu" nu e acelasi lucru cu "ROSU".) :-)

Florin Birleanu
Florin Birleanu moderator

@Bianca98 A, si inca ceva: Mai e inca o mica eroare in programul tau: In conditia de la "if" ai scris "culoarea_ghicita" in loc de "culoare_ghicita"... :-)

CostelasDenis
CostelasDenis

Multumesc pentru toate informatile dspr programare d pana acum,o sa continui sa citesc in continuare toate articolele de la tine si o sa le notez in caietul meu.BTW:am 13 ani si am facut si eu ceva:

//Jocul''Numele de familie al lui Andrei

var nr_corect=2

var nr_introdus=2

//Variante 1)Badea 2)Oane 3)Din Parau

if(nr_corect==nr_introdus)

{

Aprinde(3,8);Aprinde(8,8);Aprinde(2,5);Aprinde(9,5);Aprinde(4,3);Aprinde(5,3);Aprinde(6,3);Aprinde(7,3);Aprinde(3,4);Aprinde(8,4)

}

else

{

Aprinde(3,8);Aprinde(8,8);Aprinde(4,6);Aprinde(5,6);Aprinde(7,6);Aprinde(3,5);Aprinde(8,5);Aprinde(2,4);Aprinde(9,4);Aprinde(6,6)

}

Vlad123
Vlad123

//Care dintre urmatoarele boli a provocat cele mai multe decese?

//0=Fals&1=Adevarat

//1.Tuberculoza

//2.Cancer pulmonar

//3.Sida

Raspunsul=3

if(Raspunsul==1)

{

Aprinde(3,7,VERDE);Aprinde(4,7,VERDE);Aprinde(6,7,VERDE);Aprinde(7,7,VERDE)

  Aprinde(5,9,VERDE);Aprinde(6,9,VERDE);Aprinde(7,9,VERDE)

  Aprinde(4,8,VERDE);Aprinde(5,8,VERDE);Aprinde(6,8,VERDE);Aprinde(7,8,VERDE)

  Aprinde(6,6,VERDE);Aprinde(7,6,VERDE);Aprinde(6,5,VERDE);Aprinde(7,5,VERDE)

  Aprinde(6,4,VERDE);Aprinde(7,4,VERDE);Aprinde(6,3,VERDE);Aprinde(7,3,VERDE)

  Aprinde(6,2,VERDE);Aprinde(7,2,VERDE);Aprinde(7,1,VERDE);Aprinde(6,1,VERDE)

 }

else


{  


Aprinde(3,5);Aprinde(4,8);Aprinde(5,3);Aprinde(5,9)

Aprinde(6,3);Aprinde(6,9);Aprinde(7,4);Aprinde(7,8)

Aprinde(8,5);Aprinde(8,6);Aprinde(8,7);Aprinde(3,7)

Aprinde(4,4);Aprinde(3,6)

}


GabrielButurca
GabrielButurca

//====================================
//CARE ESTE VECINUL ROMANIEI LA SUD ?
//====================================

var varianta_corecta=2;
var varianta=1;3;

//1.MAREA NEAGRA
//2.BULGARIA
//3.UCRAINA

if(1==2)
{
Aprinde(2, 3); Aprinde(2, 4); Aprinde(2, 5); Aprinde(2, 6);

Aprinde(3, 3); Aprinde(3, 6); Aprinde(4, 4); Aprinde(4, 5);

Aprinde(6, 3); Aprinde(6, 4); Aprinde(6, 5); Aprinde(8, 3);

Aprinde(8, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(7, 4);
}
else
{
if(varianta_corecta>varianta)
{
Aprinde (2,4)

  Aprinde (2,5)

  Aprinde (2,6)

  Aprinde (2,7)

  Aprinde (2,8)

  Aprinde (3,7)

  Aprinde (4,6)

  Aprinde (5,4)

  Aprinde (5,5)

  Aprinde (5,6)

  Aprinde (5,7)

  Aprinde (5,8)

  Aprinde (7,4)

  Aprinde (7,5)

  Aprinde (7,6)

  Aprinde (7,7)

  Aprinde (7,8)

  Aprinde (8,4)

  Aprinde (9,4)

  Aprinde (9,5)

  Aprinde (9,6)

  Aprinde (9,7)

  Aprinde (9,8)
}
}

GabrielButurca
GabrielButurca

Ce zici sa mai continui am 13 ani si sunt pasionat de programare

Florin1990
Florin1990

//__________
// Ghiceste litera (lt)
//_________
// Definesc varialbilele:

var lt_secreta = F; // <- litera ce trebuie gicita
var lt_ghicita = A; // <- aici se introduc literele

if(lt_secreta == lt_ghicita)

{
  Aprinde(2, 3); Aprinde(2, 4); Aprinde(2, 5); Aprinde(2, 6);

       Aprinde(3, 3); Aprinde(3, 6); Aprinde(4, 4); Aprinde(4, 5);

       Aprinde(6, 3); Aprinde(6, 4); Aprinde(6, 5); Aprinde(8, 3);

       Aprinde(8, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(7, 4);
}

else
 
{
 // Daca nu s-a ghicit litera secreta, atunci afiseaza

       //   “>” (mai mare) — daca litera secreta este mai mare,

       //   sau “<” (mai mic) — daca litera secreta este mai mica.
if(lt_secreta > lt_ghicita)
    {
      Aprinde(6, 3); Aprinde(7, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(6, 7);
}
else
{
  Aprinde(5, 3); Aprinde(4, 4); Aprinde(3, 5); Aprinde(4, 6); Aprinde(5, 7);
  }
}

Florin Birleanu
Florin Birleanu moderator

@Florin1990 Daca scrii A si F fara apostrofuri, calculatorul va crede ca e vorba de numele unor variabile... Pentru ca programul tau sa mearga asa cum intentionezi, trebuie sa scrii 'A' si 'F'. :-)

Chicken123456789
Chicken123456789

@sarbuadrian2001 // ---------- am rezolvat problema.

// Ghicitoare

// ----------


var nr_secret = 18;

var nr_ghicit = 18;


if (nr_secret == nr_ghicit)


{


Aprinde(3,4);Aprinde(4,3);Aprinde(5,2);Aprinde(6,3);Aprinde(7,4);

Aprinde(8,5);Aprinde(9,6);

}


else


{

if (nr_ghicit>nr_secret)


{


 Aprinde(6, 3); Aprinde(7, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(6, 7);

}

else

{


Aprinde(5, 3); Aprinde(4, 4); Aprinde(3, 5); Aprinde(4, 6); Aprinde(5, 7);

}

}


GabiAnton1
GabiAnton1


#include <iostream>

using namespace std;

int main()
{
int a ;

cout << "Introdu PH-ul" << endl;
cin >> a;

if (a == 1 && a<=6) {

  cout << "Solutia este acida" << endl;

}
else if(a==7) {

    cout << "Solutia este neutra" << endl;

}

else if(a>7 && a<=14) {

    cout << "Solutia este bazica" <<endl;
}
else {

    cout << "ERROR" << endl;
}
    return 0;
}

Florin Birleanu
Florin Birleanu moderator

@GabiAnton1 In conditia de la primul "if" cred ca ai vrut de fapt sa scrii altceva... (caci in forma in care e, conditia e redundanta <-- adica: daca a este egal cu 1, atunci sigur ca va fi si mai mic sau egal cu 6, nu?) :-)

Paulbg2001
Paulbg2001

//Ghicitoarea mea 


//



//Trompai ca o girafa

//Picioarele ca un par

//Ochii ca 2 bolovani

//Cu un sunet devastator.


//Definesc variabilele


var cuv_corect="elefant"; // Cuvant care trebuie ghicit


var cuv_ghicit="mamut";// <-- aici se introduc incercarile 


if (cuv_corect==cuv_ghicit)

{//Daca raspunsul dat este corect va apara un elefant

  Aprinde (2,4)

  Aprinde (2,7)

  Aprinde (2,8)

  Aprinde (2,9)

  Aprinde (3,4)

  Aprinde (3,7)

  Aprinde (3,9)

  Aprinde (4,4)

  Aprinde (4,5)

  Aprinde (4,6)

  Aprinde (4,8)

  Aprinde (4,9)

  Aprinde (5,3)

  Aprinde (5,4)

  Aprinde (5,5)

  Aprinde (5,6)

  Aprinde (5,7)

  Aprinde (6,3)

  Aprinde (6,4)

  Aprinde (6,5)

  Aprinde (6,6)

  Aprinde (6,7)

  Aprinde (7,4)

  Aprinde (7,5)

  Aprinde (7,6)

  Aprinde (7,8)

  Aprinde (7,9)

  Aprinde (8,7)

  Aprinde (8,9)

  Aprinde (9,7)

  Aprinde (9,8)

  Aprinde (9,9)

}

else 

{

  //Daca raspunsul este gresit va aprea un "NU"

  Aprinde (2,4)

  Aprinde (2,5)

  Aprinde (2,6)

  Aprinde (2,7)

  Aprinde (2,8)

  Aprinde (3,7)

  Aprinde (4,6)

  Aprinde (5,4)

  Aprinde (5,5)

  Aprinde (5,6)

  Aprinde (5,7)

  Aprinde (5,8)

  Aprinde (7,4)

  Aprinde (7,5)

  Aprinde (7,6)

  Aprinde (7,7)

  Aprinde (7,8)

  Aprinde (8,4)

  Aprinde (9,4)

  Aprinde (9,5)

  Aprinde (9,6)

  Aprinde (9,7)

  Aprinde (9,8)

}




Ce zici de micul meu experiment?

Este bine pentru prima oara in aceasta lume ? :) :D  

EddyEduard
EddyEduard

Imi poti spune te rog ce am gresit aici ??


var nr_secret=9;

var nr_ghicit=5;

if (nr_secret==nr_ghicit);


{

Aprinde(3,6);

  Aprinde(3,5);

  Aprinde(3,4);

  Aprinde(3,3);

  Aprinde(3,2);

  Aprinde(3,1);

  Aprinde(4,6);

  Aprinde(5,5);

  Aprinde(5,4);

  Aprinde(5,3);

  Aprinde(5,2);

  Aprinde(4,1);

  Aprinde(7,6);

  Aprinde(7,5);

  Aprinde(7,4);

  Aprinde(7,3);

  Aprinde(7,2);

  Aprinde(7,1);

  Aprinde(8,6);

  Aprinde(9,6);

  Aprinde(10,6);

  Aprinde(10,5);

  Aprinde(10,4);

  Aprinde(10,3);

  Aprinde(10,2);

  Aprinde(10,1);

  Aprinde(8,3);

  Aprinde(9,3);

}


Else



{

  if (nr_secret<nr_ghicit)


 Aprinde(5,7);

 Aprinde(5,6);

 Aprinde(5,5);

 Aprinde(5,4);

 Aprinde(5,3);

 Aprinde(5,2);

 Aprinde(5,1);

 Aprinde(2,4);

 Aprinde(3,4);

 Aprinde(3,4);

 Aprinde(6,4);

 Aprinde(7,4);

 Aprinde(8,4);

}


else

Aprinde(5,6);

Aprinde(6,6);

Aprinde(7,6);

Aprinde(8.6);


}


}

Florin Birleanu
Florin Birleanu moderator

@EddyEduard In programul tau sunt 3 "abateri" grave :-) :

1) Dupa primul "if" ai pus ";".

2) Primul "else" e scris cu "E" in loc de "e".

3) Dupa al doilea "if" si dupa al doilea "else" nu ai pus "{".


Spor in continuare!

Dani74
Dani74

Dupa ce mi-am stors creierul si degetele un pic:D, mi-a iesit si mie.

Ms dl Florin!

var nr_secret=20
var nr_ghicit=25

if (nr_ghicit == nr_secret)
 
{
 
  Aprinde(3,5);Aprinde(3,4);Aprinde(3,6)
 
}

else
 
{
 
 if (nr_ghicit < nr_secret)
   
 {
   
Aprinde(5,5); Aprinde(6,6); Aprinde(7,7); Aprinde(6,7); Aprinde(6,5);
 
 }
        
else
 
{
 
  Aprinde(1,1); Aprinde(1,2); Aprinde(2,1); Aprinde(2,2);
 
}
 

SimoDaniela
SimoDaniela

// —————————

// Joc "Alege adevar sau provocare"

// —————————


// Definesc variabilele

var nr_provocari=3;

var nr_adevaruri=2;


//Apoi testez variantele alese de cei 5 jucatori

if(nr_provocari==nr_adevaruri)

{

  Aprinde(4,7); Aprinde(7,7); Aprinde(4,5);

  Aprinde(5,4); Aprinde(6,4); Aprinde(7,5);

}


else 

{


  //Daca numarul de provocari nu este egal cu numarul de adevaruri, atunci afiseaza:

  //">" Daca nr_provocari este mai mare decat nr_adevaruri,

  //"<" Daca nr_provocari este mai mic decat nr_adevaruri.

  if(nr_provocari>nr_adevaruri)

  {

    Aprinde(4,7); Aprinde(5,6); Aprinde(6,5); 

    Aprinde(5,4); Aprinde(4,3); 

  }

  else

  {

    Aprinde(7,7); Aprinde(6,6); Aprinde(5,5);

    Aprinde(6,4); Aprinde(7,3);

  }

}

CozmaVlad
CozmaVlad

lam facut merge incercatzi varog frumos si al meu 


// —————————


// Jocul “cat de mare iQ ai”


// —————————


// Variabilitați


var nr_secret = 9; 


var nr_inteligent = 10; 



if (nr_inteligent == nr_secret)

  {

    Aprinde(1, 1); Aprinde(6, 2); Aprinde(9, 5);

Aprinde(2, 1); Aprinde(7, 2); Aprinde(9, 6);

Aprinde(3, 1); Aprinde(8, 2); Aprinde(7, 6);

Aprinde(3, 2); Aprinde(9, 2); Aprinde(8, 6); 

Aprinde(4, 2); Aprinde(9, 3); Aprinde(7, 7);

Aprinde(5, 2); Aprinde(9, 4); Aprinde(7, 8); 

Aprinde(5, 8); Aprinde(5, 6); Aprinde(6, 9);

Aprinde(3, 6); Aprinde(5, 7); Aprinde(5, 9);

Aprinde(4, 6); Aprinde(2, 7); Aprinde(1, 1);

Aprinde(3, 7); Aprinde(1, 7); Aprinde(1, 6);

Aprinde(1, 5); Aprinde(1, 4); Aprinde(1, 3);

Aprinde(1, 2); Aprinde(4, 3); Aprinde(4, 4);

Aprinde(4, 5);    

}

 else

   {

     // Dacă nr_inteligent este mai mare , atunci afisează


       //   “>” (mai mare) — dacă nr_inteligent este mai mare,



       if (nr_secret > nr_inteligent)

         {

           Aprinde(2, 3); Aprinde(6, 3); Aprinde(3, 8);

Aprinde(3, 3); Aprinde(7, 3); Aprinde(8, 7);

Aprinde(8, 3); Aprinde(9, 2); Aprinde(7, 2);

Aprinde(4, 3); Aprinde(9, 3); Aprinde(8, 1);

Aprinde(5, 3); Aprinde(9, 1); Aprinde(7, 1); 

           }

else

    {

      Aprinde(5, 1); Aprinde(8, 3); Aprinde(4, 7);  

Aprinde(6, 1); Aprinde(3, 5); Aprinde(3, 8); 

Aprinde(3, 2); Aprinde(3, 6); Aprinde(7, 7); 

Aprinde(4, 2); Aprinde(8, 5); Aprinde(8, 8); 

Aprinde(7, 2); Aprinde(8, 6);  

Aprinde(8, 2); Aprinde(6, 6);  

Aprinde(3, 3); Aprinde(5, 6);

            }

}  

CozmaVlad
CozmaVlad

io cand incerc sa fac la primul else nu mere deja pana acola tot bine ce pot face ?


AlinVacaru
AlinVacaru

@CozmaVlad Salut,

Am fost in aceeasi situatie si cred ca am gasit solutia sau cauza:)

Trebuie sa duci pana la capat toate etapele si sa inchizi acoladele {

}. Bafta!

Adrian Biris
Adrian Biris

//_____________

// Joc " Cat de mult te iubesc de la 1 la 10"

//____________

// Definesc variabilele:

var nr_secret = 8;

var nr_ghicit = 8;

if (nr_ghicit==nr_secret)

{

  // daca s-a ghicit nr corect afiseaza "<3" pe ecran

    Aprinde(5,2); Aprinde(6,1); Aprinde(7,2); Aprinde(4,3);

    Aprinde(3,4); Aprinde(3,5); Aprinde(3,6); Aprinde(4,7);

    Aprinde(5,7); Aprinde(6,5); Aprinde(6,6); Aprinde(7,7);

    Aprinde(8,7); Aprinde(9,6); Aprinde(9,5); Aprinde(9,4);

    Aprinde(8,3); Aprinde(7,2);

}

else

{

    // daca nu se ghiceste nr corect atunci afisaza:

    // " :( " - daca nr secret este mai mare

    // " :) "- daca nr secret este mai mic

if(nr_secret > nr_ghicit)

 {

Aprinde(3,3); Aprinde(4,4); Aprinde(5,4); Aprinde(6,4);

Aprinde(7,3); Aprinde(4,6); Aprinde(6,6);

 }

else

 {

Aprinde(3,4); Aprinde(4,4); Aprinde(5,4); Aprinde(6,4);

Aprinde(7,4); Aprinde(2,5); Aprinde(8,5); Aprinde(4,6);

Aprinde(6,6);

 }

}

Marin Constantin
Marin Constantin

Vârsta la o doamnă nu se spune.


// —————————

// Joc “Ghiceste varsta doamna”

// —————————

// Definesc variabilele:

var varsta_secreta = 40; // varsta ce trebuie ghicita

var varsta_ghicita = 20; // – aici se introduc incercarile de ghicire la varsta doamna

// Si apoi testez daca s-a ghicit varsta sau nu:

if (varsta_ghicita == varsta_secreta)

{

     // Daca s-a ghicit varsta secreta, atunci afiseaza “DA” pe ecran

       Aprinde(2, 3); Aprinde(2, 4); Aprinde(2, 5); Aprinde(2, 6);

       Aprinde(3, 3); Aprinde(3, 6); Aprinde(4, 4); Aprinde(4, 5);

       Aprinde(6, 3); Aprinde(6, 4); Aprinde(6, 5); Aprinde(8, 3);

       Aprinde(8, 4); Aprinde(8, 5); Aprinde(7, 6); Aprinde(7, 4);

}

else

{

       // Daca nu s-a ghicit varsta secreta, atunci afiseaza

       //   “B” — daca varsta secreta este mai mare,

       //   sau “T” — daca varsta secreta este mai mica.

       if (varsta_secreta > varsta_ghicita)

       {

              Aprinde(4, 7); Aprinde(5, 3); Aprinde(5, 4); Aprinde(5, 5); Aprinde(5, 6); Aprinde(5, 7); Aprinde(6, 7);

       }

       else

       {

              Aprinde(4, 3); Aprinde(4, 4); Aprinde(4, 5); Aprinde(4, 6); Aprinde(4, 7);
             Aprinde(5, 3); Aprinde(5, 5); Aprinde(5, 7); Aprinde(6, 4); Aprinde(6, 6);

       }

}

Marin Constantin
Marin Constantin

@Florin Birleanu @Marin Constantin

Mulțumesc Florin. Dar ca să fiu sincer în anii 90 când lucram în proiectare m-am inițiat singur in limbajul LISP, dar singur am rămas. În același timp a rămas și pasiunea care probabil ca și iubirea nu are vârstă. Acum am descoperit din întâmplare site-ul tău și nu mă pot abține, mai ales că am timp destul.

7cosmin71
7cosmin71

de ce nu merge /???




// ___________

// Joc "cel mai bun jucator din lume"

//____________

// definesc variabilele

var cuvant_corect = "Ronaldo" ; // Cuvantul care trebuie ghicit

var cuvant_ghicit = "Benzema" ; // <_ aici se introduc incercarile de ghicire a cuvantului

if (cuvant_corect == cuvant_gresit)

{

//daca raspunsul este corect se va aprinde D pe ecran

Aprinde(2,3); Aprinde(2,4); Aprinde(2,5); Aprinde(2,6);

Aprinde(3,3); Aprinde(4,4); Aprinde(4,5); Aprinde(3,6);

}

else

{

// Daca cuvantul este gresit se aprinde NU

Aprinde(1,1); Aprinde(1,2); Aprinde(1,3); Aprinde(1,4);

Aprinde(2,4); Aprinde(3,2); Aprinde(4,1); Aprinde(4,2);

Aprinde(4,3); Aprinde(4,4)

}

Florin Birleanu
Florin Birleanu moderator

@7cosmin71 In programul tau nu exista variabila "cuvant_gresit", dar o folosesti. (Din cauza asta nu merge programul.) :-)

Popescu Alexandru
Popescu Alexandru

Manastire intr-un picior ghici ciuperca ce-i...

// —————————


// $Ghicitoare$


// —————————


 // In cojoc intors pe dos 

 // Mormaind morocanos,

 // Umbla pustnic prin padure

 // Dupa miere,dupa mure.


// Definesc variabilele:


var cuvant_corect = "ursul" ; //Cuvant care trebuie ghicit


var cuvant_ghicit = "capreoara";  // <– aici se introduc incercarile de ghicire a cuvantului


if (cuvant_corect == cuvant_ghicit)


{

  // Daca raspunsul este corect v-a aparea un urs vesel


       Aprinde(4, 7); Aprinde(7, 4); Aprinde(7, 7); Aprinde(3, 9); 


       Aprinde(2, 9); Aprinde(2, 8); Aprinde(8, 9); Aprinde(9, 9);


       Aprinde(9, 8); Aprinde(4, 8); Aprinde(5, 8); Aprinde(6, 8);


       Aprinde(7, 8); Aprinde(3, 7); Aprinde(3, 6); Aprinde(3, 5);

       Aprinde(3, 4); Aprinde(3, 3); Aprinde(3, 2); Aprinde(4, 1);

       Aprinde(5, 1); Aprinde(6, 1); Aprinde(7, 1); Aprinde(8, 2);

       Aprinde(8, 3); Aprinde(8, 4); Aprinde(8, 5); Aprinde(8, 6);

       Aprinde(8, 7); Aprinde(5,5); Aprinde(6,5); Aprinde(4,4);

       Aprinde(5, 3); Aprinde(6,3);

}


else

{    

  // Daca raspunsul este gresit va aparea un urs trist

       Aprinde(4, 7); Aprinde(7, 4); Aprinde(7, 7); Aprinde(3, 9); 


       Aprinde(2, 9); Aprinde(2, 8); Aprinde(8, 9); Aprinde(9, 9);


       Aprinde(9, 8); Aprinde(4, 8); Aprinde(5, 8); Aprinde(6, 8);


       Aprinde(7, 8); Aprinde(3, 7); Aprinde(3, 6); Aprinde(3, 5);

       Aprinde(3, 4); Aprinde(3, 3); Aprinde(3, 2); Aprinde(4, 1);

       Aprinde(5, 1); Aprinde(6, 1); Aprinde(7, 1); Aprinde(8, 2);

       Aprinde(8, 3); Aprinde(8, 4); Aprinde(8, 5); Aprinde(8, 6);

       Aprinde(8, 7); Aprinde(5,5); Aprinde(6,5); Aprinde(4,4); 

       Stinge(5, 3); Stinge(6, 3);

Luca R
Luca R

//______________



//Joc ,,Cat de mult o iubesc pe Roxana?,,



//______________



var nr_iubire=1;

var nr_ales=11;


if( nr_iubire==nr_ales)

{Aprinde (4,1);

Aprinde (4,2);

 Aprinde (3,3);

 Aprinde (5,3);

 Aprinde (2,4);

 Aprinde (1,5);

 Aprinde (2,6);

 Aprinde (6,4);

 Aprinde (7,5);

 Aprinde (6,6);

 Aprinde (3,6);

 Aprinde (5,6);

 Aprinde (4,5);

}


else

{Aprinde (3,7);

 Aprinde (4,7);

 Aprinde (5,7);

 Aprinde (6,6);

 Aprinde (7,7);

 Aprinde (8,7);

 Aprinde (9,7);

 Aprinde (3,6);

 Aprinde (3,5);

 Aprinde (4,5);

 Aprinde (5,5);

 Aprinde (7,5);

 Aprinde (8,5);

 Aprinde (9,5);

 Aprinde (9,6);



}










EduardMarin
EduardMarin

Ce am  gresit aici?

Am 13 ani si ma descur mai greoi la partea practica...




//______________


//Joc ,,Cate judete are Romania?,,


//______________


var nr_judete=42;
var nr_ales=43;

if( nr_judete==nr_ales);
{Aprinde (2,3);
 Aprinde (2,4);
 Aprinde (2,5);
 Aprinde (2,6);
 Aprinde (3,3);
 Aprinde (3,6);
 Aprinde (4,4);
 Aprinde (4,5);
 Aprnde  (6,3);
 Aprinde (6,4);
 Aprinde (6,5);
 Aprinde (8,3);
 Aprinde (8,4);
 Aprinde (8,5);
 Aprinde (7,6);
 Aprinde (7,4);
}

else

{Aprinde (2,3);
 Aprinde (2,4);
 Aprinde (2,5);
 Aprinde (2,6);
 Aprinde (3,5);
 Aprinde (4,4);
 Aprinde (4,3);
 Aprinde (5,4);
 Aprinde (5,5);
}

 
 



Florin Birleanu
Florin Birleanu moderator

@EduardMarin Dupa "if( nr_judete==nr_ales)" ai pus ";", ceea ce ii da de inteles ca s-a terminat instructiunea "if", asa ca nu intelege ce e cu "else"-ul care urmeaza mai jos. :-)

Timeea Diana
Timeea Diana

//__________

//Joc "Cate inimi are un om"

//___________

var inima_om=1

var inima_ghicit=2

if(inima_om==inima_ghicit)

{

Aprinde(3,7)

  Aprinde(4,8)

  Aprinde(5,8)

  Stinge(6,8)

  Aprinde(7,8)

  Stinge(7,7)

  Aprinde(7,6)

  Aprinde(7,5)

  Stinge(7,4)

  Stinge(6,3)

  Aprinde(5,2)

  Aprinde(5,1)

  Stinge(4,3)

  Aprinde(3,4)

  Stinge(3,5)

  Stinge(3,6)

  Aprinde(5,7)

}

else

{

  Aprinde(3,7)

  Aprinde(4,8)

  Stinge(5,8)

  Aprinde(6,8)

  Stinge(7,8)

  Aprinde(7,7)

  Aprinde(7,6)

  Aprinde(7,5)

  Aprinde(7,4)

  Aprinde(6,3)

  Aprinde(5,2)

  Aprinde(5,1)

  Aprinde(4,3)

  Aprinde(3,4)

  Aprinde(3,5)

  Aprinde(3,6)

  Aprinde(5,7)

}

Trackbacks

  1. […] sa le stapaneasca intr-un mod personal. Am vorbit despre instructiuni, despre variabile, despre instructiunea daca, despre instructiunea cat timp, despre vectori si matrici, despre functii si despre […]

  2. […] Ceea ce da cu adevarat forta programarii este posibilitatea de a face ca un program sa se comporte diferit (deci sa execute instructiuni diferite) in functie de caz. Vezi detalii in lectie. […]