Operatori relaționali. Expresii logice. Structura de decizie (structura alternativă) În conversațiile pe care le avem sau în planurile pe care le facem folosim adesea cuvântul DACĂ, atunci când ceea ce urmează depinde de ceva. (La limba română am învățat că DACĂ este conjuncție) Dacă plouă, citesc. Dacă este verde la semnafor traversăm, altfel așteptăm. După DACĂ urmează o expresie care poate fi adevarată (true) sau falsă (false). Aceste expresii poartă denumirea de expresii logice (au două valori posibile adevărat sau fals). În cadrul expresiilor logice folosim operatori relaționali: <,,>,, =, Variabile Expresia Rezultat a=10 a=5 False a=10 a>5 True a=10 (a<2) False n=10 n rest 2=0 True n=11 n rest 2 0 True n rest 2=0 este adevărată n este număr PAR n rest 2 0 este adevărată n este număr IMPAR Pentru programatori DACĂ reprezintă o structură de decizie, ce poate avea doua forme: Expresia logică în funcție de rezultat se ia decizia cu privire la acțiunea urmatoare. Acțiuni (blocuri sau instrucțiuni) ce se vor executa, doar dacă expresia logică este adevărată Acțiuni (blocuri sau instrucțiuni) ce se vor executa, doar dacă expresia logică este falsă Operatorii relaționali, alături de cei aritmetici se găsesc în secțiunea Scripturi Operatori Structura de decizie (DACĂ) se găsesc în secțiunea Scripturi Control
Aplicații: 1. Pentru două valori introduse de la tastatură, afișați maximul dintre ele. Noua variabilă, max, va memora cea mai mare valoare dintre valorile lui a și b Altfel spus, variabila max va memora maximul dintre a și b. 2. Fie a și b două numere generate la întâmplare între 1 și 100. Când apăsăm tasta Space, dacă a este mai mare decât b, interschimbați-le valorile. Interschimbarea valorilor variabilelor a și b Noua variabilă, aux, este o variabilă de lucru Presupunând că a este 30 și b este 25 Dupa set aux to a, aux va memora valoarea 30 Dupa set a to b, a va memora valoarea 25 Dupa set b to aux, b va memora valoarea 30
Fișa de lucru pentru elevi Să exersăm în Scratch! Ce credeți, pisica Scratch știe să ne spună dacă un număr n, ales la întâmplare (în mod aleator) este par sau impar? 1. Deschideți mediul de lucru Scratch 2. Adăugați pe panoul de lucru din Scripturi Date blocul Creează o variabilă pentru variabila n din Scripturi Date blocul Setează n la 0 din Scripturi Operatori blocul Alege un număr aleatoriu între 1 si 10 va înlocui valoarea 0 din setarea lui n (valorile 1 si 10 pot fi modificate ) din Scripturi Control blocul din Scripturi Operatori din Scripturi Operatori blocul blocul va înlocui caseta va fi membrul stâng al expresiei logice, membrul drept fiind completat cu 0 din Scripturi Date blocul va fi membrul stâng al expresiei aritmetice, membrul drept fiind 2 din Scripturi Aspect blocul gândește atât pe ramura atunci cât și pe ramura altfel (!!! Trebuie să gândim indiferent de situația în care ne aflăm) din Scripturi Aspect blocul spune atât pe ramura atunci cât și pe ramura altfel, numai că mesajul e diferit, pe ramura atunci mesajul va fi n este număr PAR, iar pe ramura altfel n este număr IMPAR 3. Dă în execuție proiectul tău, dând clik pe stegulețul verde și analizează mesajul spus de pisica Scratch raportat la valoarea lui n
Operatori logici. Expresii logice. Structura de decizie (structura alternativă) În mod natural, uneori după conjuncția DACĂ apar mai multe condiții, ca de exemplu: Dacă plouă și am o carte bună, citesc. Dacă este weekend sau vacanță, dorm mai mult. Dacă nu e înnorat, las umbrela acasă. În informatică aceste situații sunt rezolvate cu ajutorul operatorilor logici: ȘI, SAU, NU. În evaluarea expresiilor logice (pentru a determina rezultatul ) ținem cont de: Expresia logică conditie1 ȘI conditie2 este adevarată dacă și numai dacă ambele condiții sunt adevărate Expresia logică conditie1 SAU conditie2 este adevarată dacă și numai dacă cel puțin o condiție este adevărată Expresia logică NU conditie este adevarată dacă și numai dacă condiția este falsă Operatorii logici, alături de cei aritmetici și cei relaționali se găsesc în secțiunea Scripuri Operatori Să descoperim împreună! Variabile Expresia Rezultat OBS. a=10 și b=37 (a>2) ȘI (b=5) False (fals) adevărat ȘI fals fals a=10 și b=37 (a>2) SAU (b=5) True (adevărat) adevărat SAU false adevărat a=10 NU (a>2) False (fals) NU adevărat fals a=1 NU (a>2) True (adevărat) NU fals adevărat Care este expresia logică asociată pentru numărul n are două cifre? Răspuns: numărul n are două cifre (n>9) ȘI (n<100) Pentru o cifră c, care este expresia logică asociată pentru cifra c este pară? Răspuns: cifra c este pară (c=0) SAU (c=2) SAU (c=4) sau (c=6) sau (c=8) Cum credeți că scriem că d este divizor pentru a? Răspuns: d este divizor pentru a (a REST d=0) Cum credeți că scriem că d este divizor comun pentru a și b? Răspuns: d este divizor comun pentru a și b (a REST d=0) ȘI (b REST d=0)
Fișa de lucru pentru elevi Cu creionul, pe hârtie 1) Dacă x este 5, a este 5 și b este 20 atunci expresia (x>a) ȘI (x<b) are rezultatul adevărat sau fals? 2) Dacă x este 5, a este 5 și b este 20 atunci expresia (x>a) SAU (x<b) are rezultatul adevărat sau fals? 3) Dacă x este 10 și a este 5 atunci expresia NU (a REST x=0) are rezultatul adevărat sau fals? Verificăm în Scratch și să comparăm rezultatul nostru cu cel al pisicuței Scratch! 1. Ordinea în care trebuie adăugate blocurile pentru formarea expresiei logice: 2. Înlocuiți cu în programul de mai sus și analizați rezultatele! 3. Ordinea în care trebuie adăugate blocurile pentru formarea expresiei logice: