Conform programei școlare, un algoritm este un ansamblu finit de instrucțiuni elementare, ordonate logic, care descriu pașii necesari pentru rezolvarea unei probleme.
Un algoritm liniar (secvențial) este acel algoritm în care instrucțiunile se execută una după alta, în ordinea scrierii, fără ramificări sau repetări.
Exemplu din viața cotidiană
Prepararea unei ciorbe poate fi descrisă printr-un algoritm liniar:
Se spală ingredientele.
Se curăță legumele.
Se taie legumele.
Se pun la fiert.
Se adaugă condimentele.
Se oprește focul.
Respectarea ordinii pașilor este esențială. Modificarea secvenței conduce la un rezultat greșit, la fel ca în programare.
Algoritmi liniari în Scratch
În Scratch, algoritmii liniari sunt realizați prin plasarea succesivă a blocurilor care se execută de sus în jos, după declanșarea unui eveniment (de exemplu: „când se face clic pe steagul verde”).
Citirea datelor de la utilizator
Pentru introducerea datelor se folosesc blocurile din categoria Senzori (Sensing):
„întreabă [ ] și așteaptă” – afișează o solicitare utilizatorului;
„răspuns” – memorează temporar valoarea introdusă.
Valoarea din „răspuns” poate fi atribuită unei variabile definite de utilizator.
Variabile
O variabilă este o zonă de memorie care păstrează o valoare ce poate fi modificată în timpul executării programului.
Crearea unei variabile:
Se accesează panoul Variabile.
Se selectează „Creează o variabilă”.
Se introduce un nume sugestiv (ex: a, b, rezultat).
Inițializarea variabilei se face cu blocul:
„setează [variabilă] la [valoare]”.
Aplicație practică: „Ora de matematică”
Scop: realizarea unui algoritm liniar pentru operații aritmetice simple.
Descriere:
Programul solicită introducerea a două numere.
Valorile sunt stocate în variabile.
Se calculează suma sau diferența folosind operatorii aritmetici.
Rezultatul este afișat într-un mesaj clar.
Pentru afișare se utilizează blocul „îmbină (join)”, de exemplu:
„Suma numerelor este 15”.
Acest proiect consolidează conceptele de intrare – prelucrare – ieșire, specifice algoritmilor liniari.
1. Enunțul problemei: Magicianul, Zâna și Pico au nevoie de un asistent care să construiască o „Mașină de Calcul Universală”. Sarcina ta este să implementezi cele patru operații fundamentale ale aritmeticii, folosind variabile pentru a stoca datele de intrare. Din punct de vedere matematic, programul tău trebuie să gestioneze o funcție cu două variabile, a și b, unde:
Adunarea (Suma): S = a + b
Scăderea (Diferența): D = a - b
Înmulțirea (Produsul): P = a * b
Împărțirea (Câtul): C = a:b
2. Cerințe Tehnice
Variabile: Creează două variabile numite Numărul_1 și Numărul_2.
Interacțiune: Folosește blocul întreabă și așteaptă pentru ca utilizatorul să introducă valorile lui a și b.
Procesare: Personajele trebuie să anunțe rezultatul folosind operatorii verzi din Scratch și blocul alătură (pentru a spune, de exemplu: "Suma este 15").
3. 🚀 Provocarea: „Magia Logicii și a Restului”
După ce ai terminat operațiile de bază, Magicianul îți oferă provocări de nivel avansat pentru a îmbunătăți mașina de calcul.
Elevii trebuie să programeze actorii să execute exact următoarea secvență de blocuri:
Pasul 1 (Input 1): Magicianul întreabă primul număr și îl salvează în variabila a.
Pasul 2 (Input 2): Zâna întreabă al doilea număr și îl salvează în variabila b.
Pasul 3 (Calcul & Output): Pico calculează și spune rezultatele pe rând:
Spune „Suma este...” urmată de rezultatul a + b.
Spune „Diferența este...” urmată de rezultatul a - b.
Spune „Produsul este...” urmată de rezultatul a x b.
Spune „Câtul este...” urmată de rezultatul a : b.
Acum că ai un calculator funcțional, îmbunătățește algoritmul adăugând o a cincea operație matematică, tot sub formă de pași liniari, pentru a găsi Media Aritmetică a celor două numere.
Sarcina de calcul: După ce ai afișat câtul, adaugă un nou bloc în care Pico calculează media celor două numere folosind formula: Media = (a + b) : 2
Regulă de aur pentru elevi: În acest proiect, ordinea blocurilor este esențială. Dacă muți blocul de „spune suma” înainte de blocul de „întreabă numărul”, programul va afișa un rezultat greșit (zero sau rezultatul de la rularea anterioară).