Algoritmii ciclici sunt o categorie de algoritmi care utilizează o structura de control repetitive (o buclă) pentru a repeta o secvență de instrucțiuni un anumit număr de ori până când o anumită condiție devine adevărată sau falsă.
📝 Algoritmii ce conţin secvenţe de instrucţiuni care în procesul execuţiei se îndeplinesc de mai multe ori
se numesc algoritmi repetitivi.
Instrucţiunea REPETĂ n ORI se numeşte ciclu cu contor, deoarece la execuţia ei se repetă ciclic aceeaşi secvenţă de instrucţiuni, iar numărul de repetări n este cunoscut în momentul scrierii programului. Secvenţa de instrucţiuni, încadrată între liniile ce conţin cuvintele auxiliare REPETĂ şi SFÂRŞITUL REPETĂRII, se numeşte corpul ciclului.
Conform ciclului cu contor REPETĂ, instrucțiunile simple din interiorul acestuia se execută atâta timp până când n este egal cu valoarea pe care a primit-o.
În Scratch, blocul de comandă pentru structura repetitivă cu contor se află în categoria Control.
Este un bloc simplificat, care permite execuția de un număr specificat de ori (configurabil) a unei secvențe de instrucțiuni.
O alta variantă a acestui bloc de comandă, este structura repetitivă la nesfârșit.
Este un bloc ce permite rularea în buclă infinită a unor diferite secvențe de acțiuni.
De exemplu:
1. redarea unui sunet de fundal, în buclă, la nesfârșit
2. realizarea de mișcări (animații) la infinit .
📝 O structură repetitivă condiționată anterior se folosește atunci când avem un număr necunoscut de repetări necesare ale unor instrucțiuni. Ea presupune repetarea unei secvențe de instrucțiuni cât timp este îndeplinită o condiție.
Această structură repetitivă presupune de fapt o repetare ciclică a unor instrucțiuni cât timp o condiție este adevărată. Există pericolul să nu se iasă niciodată din această buclă dacă valoarea de adevăr a condiției nu se schimbă, ceea ce transpus într-un program reprezintă de fapt blocarea acestuia.
Astfel, trebuie avut grijă ca întotdeauna când se utilizează acest gen de structură repetitivă să se modifice în interiorul secvenței de instrucțiuni, care se repetă, cel puțin valoarea uneia dintre variabilele care compun condiția, astfel încât valoarea de adevăr a expresiei să se schimbe în Fals la un moment dat.
1️⃣EXERSEAZĂ
Deschideți aplicatia scratch sau accesați online
👉 https://scratch.mit.edu/projects/editor/?tutorial=getStarted
🔶 Introduceți programul alaturat, formulați sarcina ce se realizează în programul propus.
🔶 Analizați programul alăturat, cite variabile sunt folosite?
🔶 Ce tipuri de algoritmi identificați în programul dat?
🔶 Modificați programul pentru un numar format din trei cifre.
2️⃣EXERSEAZĂ
Deschideți aplicatia scratch sau accesați online
👉 https://scratch.mit.edu/projects/editor/?tutorial=getStarted
a) Introduceți programul alaturat, formulați sarcina ce se realizează în programul propus.
b) Analizați programul alăturat, cite variabile sunt folosite?
c) Ce tipuri de algoritmi identificați în programul dat?
d) Creați un program care va face produsul numerelor introduse , media aritmetica.
3️⃣EXERSEAZĂ
Deschideți aplicatia scratch sau accesați online
a) Introduceți programul alaturat, formulați sarcina ce se realizează în programul propus.
b) Analizați programul alăturat, cite variabile sunt folosite?
c) Ce tipuri de algoritmi identificați în programul dat?
d) Creați un program care va aduna doar cifrele pare dintr-un numar.
https://www.youtube.com/watch?v=L1jnofj4eww&ab_channel=PetrosanAnaAdina
4️⃣EXERSEAZĂ
a) introduceți exemplele propuse, ce sarcina realizează programele acestea?
b) notați în caiet ce blocuri sunt utilizate?
c) enumerati variabilele, modificati programul astfel încât să afișeze:
cifra minima a lui a;
de câte ori apare o cifrăc (citită) în a;
cifra maximă și de câte ori apare.
5️⃣. EXERSEAZĂ
Testati codul propus cu ajutoru
6️⃣Testati codul propus cu ajutorul https://codrone.robolink.com/edu/blockly/
7️⃣Provocare: Îți amintești codul pe care l-ai scris pentru a zbura într-un pătrat?
Identificați blocurile care se repetă astfel încât să puteți scrie o bucată mai scurtă de cod cu o buclă care va face același lucru.
Ca bonus, folosește variabile!
8. Acceseaza testul propus, indicând codul oferit de profesor din cadrul lectiei.