Reprezentarea algoritmilor Structura unui algoritm n limbaj pseudocod
Reprezentarea algoritmilor Structura unui algoritm în limbaj pseudocod și implementarea în Scratch PROFESOR CEAUȘU GETA CRISTINA
Ce vom învăța? q. Cum este structurat un algoritm q. Cum se scrie un algoritm în limbaj pseudocod și cum se implementează (realizează ) într-un limbaj de programare vizual (Scratch). q. Cum se declară datele în Scratch q. Care sunt operațiile pe care le pot face într-un algoritm și cum sunt implementate in Scratch.
Ne amintim!!!!!! ALGORITMUL ESTE O SUCCESIUNE DE PAȘI BINE DEFINIȚI IN VEDEREA OBȚINERII UNUI REZULTAT.
Ne amintim!!!!!! Etapele rezolvarii unui algoritm 1. Analiza problemei ◦ Definirea datelor de intrare(adică ceea ce știu ) si a datelor de ieșire 2. Scrierea algoritmului ( adică precizarea pașilor care trebuie urmati). 3. Transpunerea algoritmului într-un limbaj de programare(în cazul nostru Scratch) 4. Testarea programului adica obtinerea rezultatelor
Ne amintim!!!!!! Obiectele cu care lucrează algoritmii: - DATELE care pot fi clasificate după valoare în date constante sau date variabile si după natura sau scopul pentru care au fost create în date de intrare și date de ieșire - EXPRESIILE (Combinații de date și operatori aritmetici relaționali si logici) Ex. x*(2*y+7/3) 23>5 and 17<3
Există două modalități de reprezentare a algoritmilor: 1. PSEUDOCOD= limbaj apropiat limbajului nostru natural, dar care este de asemenea foarte apropiat si de limbajele de programare in care vor fi transpuși algoritmii Pseudocodul foloseste cuvinte cheie (citeşte, scrie, dacă, atunci, cât timp, pentru, etc. ), organizate în “propozitii”, dar care nu au o sintaxă rigidă ca un limbaj de programare. Limbajul pseudocod lasă la libera alegere a utilizatorului introducerea unor notaţii care să permită o mai buna exprimare. 2. SCHEMA LOGICĂ= Reprezentare grafica. Fiecărui tip de prelucrare elementară ( fiecarei operații) îi corespunde un simbol grafic. Prelucrările succesive sunt indicate prin conectarea prelucrărilor elementare şi prin săgeţi.
Pseudo-codul reprezintă limbajul natural de rezolvare a unei probleme. Structura unui algoritm în pseudocod este urmatoarea Declarare date_intrare; a, b - date de intrare Declarare date_iesire; diferenta Declarare date_intermediare; Început inceput citește (date de intrare) citește a, b {prelucrează} diferenta = a-b scrie (date de ieșire) scrie diferenta Sfârsit. sfarsit.
Declararea datelor În pseudocod : În Scratch Se declară la început – declararea înseamnă să le dam un nume si sa le asociem un tip care înseamnă aparența la o mulțime de valori Se creează in secțiunea de cod cu Opțiunea variabile Exemplu : Întreg a, b; Natural x, y;
Exemplu de algoritm – Daca ”l ”este latura unui pătrat scrieți un algoritm care calculează perimetrul pătratului CU PSEUDOCOD IN SCRATCH Date de intrare (ce știu) – l = latura pătratului Date de ieșire (ce voi calcula) - P= perimetrul Natural l, P; Partea de declarații început Citește l; Citirea datelor de intrare P ← 4*l; Prelucrarea datelor de ieșire Afișarea rezultatelor Afișează P; Sfârșit.
Temă!!!!! Folosind algoritmul anterior scrieți un algoritm în pseudocod care calculează perimetrul unui dreptunghi, apoi implementați-l în Scratch. Indicații: 1. Vom avea doua date cunoscute(de intrare) : L(lungimea ) , l( lățimea dreptunghiului) 2. Perimetrul= 2*L+2*l l L
Algoritmii pe care îi vom studia la informatică vor conține doar operații pe care un calculator le -ar putea executa. Aceste operații pot fi: 1. Operații de intrare/ieșire = operațiile de citire/scriere 2. Operații de atribuire 3. Operații decizionale
Operații de intrare ieșire sau Citire/Scriere Operatia de citire este operația prin care se preiau date de la un dispozitiv de intrare( ex. De la tastatura- de la utilizator) SINTAXA ESTE : “Citeste a” Operația de scriere este operația prin care sa preiau date din memoria interna a calculatorului si se transfera către un dispozitiv de ieșire (ex: Către ECRAN - către utilizator) SINTAXA ESTE : Scrie a sau Scrie “valoare lui a este ”, a; ( adica fac o afisare insotita de mesaj)
În Scratch Citirea Afișarea afișează conținutul lui a afișează mesajul ”Corect” afiseaza un mesaj urmat de o valoare calculată
2) Operații de atribuire Operația de atribuire este operația prin care dăm o valoarea unei variabile. În pseudocod operatorul de atribuire este “←” Exemplu : a ← 4 (spunem ca variabila a primește valoarea 4) x ← y (spunem ca variabila y primește valoarea variabilei y) suma ←a+b (spunem ca variabila suma primește valoarea obținută în urma evaluării expresiei a+b)
În Scratch pentru atribuire se folosesc formulări ca:
Structura alternativă sau decizională Se realizează selectarea între doua acțiuni in funcție de îndeplinirea sau neîndeplinirea unei condiții. Sintaxa: daca condiție atunci instrucțiune 1; altfel instrucțiune 2; sfârșit_daca;
În Scratch
Aplicatia 1: Se citesc 2 valori întregi a si b de la tastatura. Sa se afișeze pe ecran suma acestora. În Scratch În pseudocod Rezolvare Întreg a, b; Început Citeste a, b; Scrie “Suma numerelor este“, a+b; Sfarsit.
Temă Folosind algoritmul de mai sus rezolvați următoarele probleme: 1. Se citesc 2 valori întregi a si b de la tastatura. Sa se afișeze pe ecran diferența acestora 2. Se citesc 2 valori întregi a si b de la tastatura. Sa se afișeze pe ecran produsul acestora (Indicație : Algoritmii vor fi creați atât în pseudocod cât și in Scratch
Aplicatia 2: Se citesc de la tastatură doua variabile a si b. Să se afișeze media aritmetică a celor doua variabile REZOLVARE: Ce stiu? - cele doua numere a si b Ce am de calculat? - media Întreg a, b; medie; Început Citeste a, b, ; medie← a; Scrie ”media aritmetica a numerelor este: ”, medie ; Sfarsit.
Aplicația 3: Se citesc 2 numere. Sa se afișeze care este numărul cel mai mare. Întreg a, b; început Citeste a, b; daca(a<b) atunci scrie b altfel scrie a; Sfarsit.
Temă Folosind algoritmul de mai sus rezolvați următoarea problemă: 1. Se citesc 2 numere. Sa se afișeze care este numărul cel mai mic. (rezolvarea o faceți si în pseudocod și în Scratch)
Temă 1. Mihai participa la un joc. El poate promova la un alt nivel doar daca obține un scor mai mare decât 100. Vom nota cu x scorul lui Mihai si il vom citi de la tastatura. Scrieți un algoritm care afișează în funcție de valoarea lui x dacă Mihai va promova sau nu la alt nivel. 2. Se citește de la tastatură un număr a. Sa se verifice și să se afișeze pe ecran daca numărul citit este pozitiv( a > = 0). 3. Se citește de la tastatură un număr a. Sa se verifice și să se afișeze pe ecran daca numărul citit este negativ( a < 0). 4. Se citește de la tastatură un număr a. Sa se verifice și să se afișeze pe ecran daca numărul citit este un număr de doua cifre( a >=10 and a <= 99)
!!!!!!Indicații sau noțiuni teoretice găsiți și în manual - mediul grafic interactiv Scratch!!!!!
- Slides: 24