Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore !Auxiliar Informatica si TIC v928

!Auxiliar Informatica si TIC v928

Published by Cristi Vatamanu, 2021-06-01 22:53:30

Description: !Auxiliar Informatica si TIC v928

Search

Read the Text Version

Informatică și TIC pentru toți Siguranța pe Internet Petrece atât timp pe Internet cât ai nevoie pentru informare și destindere. Nu uita că destinderea se face cu prietenii offline și cel mai bine în aer liber și nu închis în fața calculatorului sau telefonului! Cei de pe Internet nu sunt prieteni în adevăratul sens al acestui cuvânt, doar despre cei pe care i-ai întâlnit în realitate și ai vorbit cu ei pot să-ți fie prieteni. Joacă-te cu prietenii în parc, în natură, participă la activități de voluntariat, creează un echilibru între timpul petrecut singur și cel petrecut cu cei apropiați. Verifică informațiile de pe Internet care se referă la numele tău pe cât mai multe motoare de căutare. Corectează, șterge sau solicită eliminarea anumitor informații de natură ați afecta dreptul la o viață privată și la confidențialitatea datelor personale; Verifică imaginile care apar cu tine pe diverse motoare de căutare și acționează în așa fel încât să nu-ți prejudicieze imaginea; Evită să dai informații personale dacă nu este cazul. Nu scrie niciodată PIN-ul la cardul bancar pe Internet, parola de la un cont la un site pe alt site (uită-te în bara de adrese), informația că ești în concediu dacă nu ai casa securizată, etc. Nu posta nimic în momente de furie sau alte stări sufletești accentuate. Este posibil să regreți după. Gândește foarte bine înainte de a urca (uploada) orice informație pe Internet. Dacă tu consideri că este un instinct de moment, amână! Nu răspunde agresivității online. Poți agrava situația pe viitor; reacționează raportând autorităților abuzul; Securizează-ți conturile de pe Internet. Vei avea o parolă și alte metode de autentificare securizată la bancă, altă parolă la e-mail, alta la contul de socializare și posibil o parolă universală pentru diverse site-uri. Parola la bancă, e-mail și site-urile de socializate (cele mai des atacate) trebuie schimbată periodic. Parola trebuie să fie puternică: să conțină litere mari, litere mici, cifre și simboluri, fără să utilizezi cuvinte sau cifre simple (ex. numele tău sau data nașterii). Poți să-ți notezi parolele folosind diferite codări. De exemplu, vrei să fii sigur că îți amintești parola, vrei să o notezi, dar nu vrei ca alții să o poată folosi. Alegeți un algoritm pe care doar tu să îl știi. De exemplu, la fiecare al doilea caracter să ai +1, adică, dacă al doilea caracter e ”4”, tu scrii ”5”, dacă e litera ”f” tu scrii ”g”. Memorând un astfel de algoritm, cât mai complex posibil, poți să scrii orice parolă în agendă fără teama că cineva o va folosi, iar tu nu o vei uita. Alege cele mai potrivite setări de confidențialitate din conturile tale. Indiferent dacă utilizezi de exemplu Google sau Facebook sau Instagram sau alte aplicații web, toate au niște setări de confidențialitate. Găsește timp, citește-le și încearcă să alegi pe cele care îți convin. Deloghează-te tot timpul de la site-urile pe care le-ai folosit utilizând contul tău pe un computer care îl pot folosi și alții. Poți să te obișnuiești să ștergi și toate datele de navigare din browser... așa ești și mai sigur că utilizatorul și parola ta nu s-au păstrat. Anumite date de logare (sign-in, autentificare) nu le folosi decât pe paginile pentru care le-ai creat. Urmărește tot timpul în bara de adrese din browser în momentul logării că este adresa corectă a site-ul pe care vrei să te loghezi. De exemplu, nu folosi parola să te autentifici la o bancă dacă nu te-ai asigurat că în bara de adrese este adresa băncii respective. Cere ajutorul și sfatul specialiștilor atunci când ai nevoie. Poți vorbi cu părinții, cu profesori specializați, cu specialiști în securitatea online. 55

Informatică și TIC pentru toți Nu intra în discuții pe Internet cu persoane necunoscute. Poza avatar sau anumite informații pot să fie false! Comunică respectuos pe Internet. Literele mari pot fi înțelese ca ridicare a tonului sau ordine! Încearcă să nu intri în conflicte, poți să te deloghezi sau să blochezi discuția cu cel ce dorește conflictul. A ceda primul nu înseamnă că ești mai slab sau temător, ci înseamnă că ești mai deștept! Utilizează un antivirus pentru a te proteja de softuri rău intenționate (malware), care pot deteriora computerul, fura date, utiliza identitatea, resursele, distruge informație, etc. De obicei tot antivirușii au și firewall, un paravan de protecție, ca un zid ce filtrează informația ce intră sau iese din computer. O statistică interesantă din anul 2017... merită analizată și concluziile reținute... 56

Informatică și TIC pentru toți Motoare de căutare Motoare de căutare (Search engines) – pagini specializate în căutarea de informații pe site-urile web indexate de ele, pe baza unor cuvinte cheie. Exemplu de câteva din miile de motoare de căutare: https://www.google.ro/ https://www.bing.com/ https://duckduckgo.com/ https://scholar.google.ca/ https://www.webopedia.com/ http://www.baidu.com/ https://www.yandex.com/ Sarcină de lucru Împreună cu profesorul alegeți o informație pe care doriți să o căutați. Fixați și notați pe tablă cuvintele ce urmează a fi tastate în solicitarea de căutare (cuvinte cheie). Deschideți, pe rând, toate motoarele de căutare de mai sus și încercați să căutați. Notați pe care ați găsit cele mai relevante rezultate. Discutați cu profesorul despre cum alegem paginile care conțin informații relevante despre ceea ce dorim să aflăm de pe Internet. Copiați informați într-un editor text. Repetați căutarea a diverse informații pe anumite motoare de căutare și notați pe caiete rezultatele. 57

Informatică și TIC pentru toți Cât de competenți suntem??? Utilizarea eficientă şi în siguranță a Internetului ca sursă de documentare - identificarea unor servicii ale rețelei Internet și descrierea rolului acestora în satisfacerea unor nevoi din viața de zi cu zi; - căutarea unor informații pe Internet, salvarea informațiilor căutate (text/imagini) cu evidențierea normelor referitoare la drepturile de autor, licențe software și drepturi de utilizare aferente conținuturilor digitale; - analizarea unor situații în care Internetul poate genera pericole și identificarea unor soluții posibile, a unor metode de a evita astfel de situații (utilizând jocuri de rol, filme didactice etc.); - stabilirea unor reguli pentru o navigare sigură și eficientă pe Internet și discutarea credibilității resurselor Web în scopul identificării unor resurse relevante pentru teme disciplinare/interdisciplinare. 1.Identificați ce serviciu de Internet folosesc următorii elevi: a) Ionel îi trimite lui Vasilică un mesaj text de pe un site de Internet, rugându-l să-l direcționeze spre o instituție publică: .............................. b) Mihaela și Maria caută informații despre evenimentele ce s-au petrecut în anul 1989: ....................... c) Maria discută cu Ionel despre un proiect pe care doresc să îl propună domnului profesor diriginte: ............................... d) Mihaela încarcă pe un server fișierele pentru un site pe care l-a creat: ............................. 2. Ce servicii de Internet utilizați voi? Discutați cu profesorul despre: căutarea de informații (www), transferuri de fișiere (ftp), comunicarea pe email (email), comunicarea instant (chat), internet banking, site-uri securizate, etc. 3. Realizați un tabel, ca în exemplul de mai jos, și scrieți ce servicii de Internet și ce facilități ale Internetului ați utilizat în fiecare zi voi și părinții voștri. Luni Marți Miercuri Joi Vineri Sâmbătă Duminică - Căutarea de informații despre starea vremii (www); - Discuții pe messenger cu prietenul Ionel (chat); ..... 4. Citiți următoare povestioară și comentați în clasă, sub formă de dezbatere, dacă Maria a procedat corect sau nu. Ce a făcut bine și cu ce a greșit? Ce trebuia să facă pentru a proceda corect? ”Maria este elevă în clasa a V-a. De la profesorul de Geografie a primit ca activitate suplimentară acasă să descrie Muntele Ceahlău. Maria a deschis computerul, a pornit browser-ul, a intrat pe un motor de căutare, a tastat ce dorea să caute, a accesat primul rezultat și a copiat pe caiet informațiile de acolo, cu multe povești și legende. A doua zi s-a dus la școală fericită că avea tema făcută și chiar cu foarte multe amănunte” 58

Informatică și TIC pentru toți 5. Se dau următoarele resurse software: sistemul de operare, aplicația de ascultat muzică, aplicație de văzut filme, editor text, aplicație de prezentări. Căutați astfel de aplicații pe computer, cu ajutorul profesorului, apoi discutați, pentru fiecare în parte, dacă are licență, drepturi de autor, etc. 6. Ce faci dacă? Răspundeți la întrebări și discutați în echipe argumentând răspunsurile date. a) Primești un mesaj în care un ”prieten” de pe o rețea de socializare te invită să te întâlnești cu el lângă un bloc de la periferia orașului. Ce faci? De e acest lucru îți creează suspiciuni? b) Accesezi un link pentru a intra pe serviciul tău de Internet banking, dar, în bara de adrese a browser- ului vă apare o anumită denumire suspectă. Cum procedezi? c) Prin email îți ajunge vestea ”cea mare” că ai câștigat milioane de euro la o oarecare tragere la sorți. Tot ceea ce trebuie să faci este să trimiți contul bancar în care să îți vireze suma și codul PIN. Cum procedezi? d) Printr-un mesaj ți se cer anumite informații despre valori din casa ta sau dacă sunt părinții acasă. Ce răspunzi la aceste mesaje? e) Navigând pe Internet îți apare mesajul că ai computerul infectat cu diverși viruși. Dai click pe link-ul indicat ca să te ajute să-ți devirusezi computerul? 7. Caută, utilizând un motor de căutare, următoarele informații: - În ce țară se află cel mai mare muzeu în aer liber din sud-estul Europei și cum se numește? .................................................................................... - Cum se numește marele om de știință care a descoperit ribozomii? ............................................ - Cum se numește inginerul, matematicianul și pedagogul care a inventat stiloul? ........................ - Cine a inventat primul calculator românesc și cum se numea? ..................................................... Salvează într-un folder paginile unde ai găsit una dintre informațiile de mai sus, în formatul HTML Only. 59

Informatică și TIC pentru toți Poșta electronică – e-mail Comunicarea pe Internet se poate face fie prin: poștă electronică (email), forumuri (postare de întrebări, la care alții interesați de subiect pot răspunde), chat (mesaje instant) – trimitere și primire de mesaj imediat, cum este Messenger, wall-ul la Facebook, Twitter, Linkedin, etc. Formatul adresei de email: Id_utilizator@domeniu Exemplu: [email protected], [email protected], [email protected], [email protected]. În toate aceste exemple, id-urile, care trebuie alese de cel ce dorește să- și creeze o adresă de email sunt: ”cristis.cris”, ”ionescu125”, ”alexmihai_25” și ”viorica_ana2019” (atenție că nu cuprind spații și anumite caractere). Domeniile care le găzduiesc sunt: ”gmail.com”, ”yahoo.ro”, ”yandex.com” și ”hotmail.com”. Adresa de email folosește semnul @ (a round) Crearea unei adrese de e-mail: 1. Alegerea domeniului pe care se dorește crearea adresei de email (gmail.com, yahoo.ro, hotmail.com, yandex.com, etc.). Accesarea site-ului respectiv și alegerea opțiunii ”Creare cont” (”Înregistrare”, ”Create a account”, ”New account”, ”Sign Up”, etc.): 60

Informatică și TIC pentru toți 2. Completarea informații solicitate în câmpurile formularului: nume, prenume.... La ”utilizator” (”email”) va trebui completat id-ul ce dorești să-l creezi (se pot utiliza litere, cifre, punct, underline). Domeniul va apărea automat, în funcție de site-ul pe care l-ai accesat. De exemplu, dacă ai ales id: ”ionescu_ana” și a fost aprobat în formular (atenție că multe nu sunt aprobate, pentru a nu se repeta), atunci adresa ta de email va fi: pe gmail: [email protected], pe yahoo mail: [email protected] și așa mai departe. Să vă așteptați să vă solicite fie confirmare prin telefon, prin altă adresă de email mai veche, să confirmați că nu sunteți un robot (adică o aplicație care să facă automat adrese de email) printr-un cod pe care trebuie să-l scrieți (captcha) sau prin selectarea unor imagini, etc. Interfața unei adrese de email Scriere mesaj (Scrie, Compunere, New message) – pentru scrierea și trimiterea unui mesaj electronic la un alt destinatar, indiferent pe ce domeniu are adresa de email. Mesaje primite (Inbox, Input message) – lista mesajelor primite de la alți deținători de adrese de email. Mesaje trimise (Trimise, Output, Sent, Sent item, Send) – lista mesajelor expediate de pe adresa personală de email. Alte facilități ca: Spam (mesaje nedorite), Trash, Deleted, Coș de gunoi (mesaje șterse), etc. Expedierea unui email Accesarea menu-ului de scriere mesaj va da posibilitatea completării câmpurilor și expedierea mesajului. Introduceți adresa destinație (ex. [email protected], [email protected]). Pot fi introduse mai multe adrese, separate prin virgulă. (Carbon Copy) – Introduceți adrese de email către care doriți să trimiteți o copie a mesajului. Toți destinatarii vor vedea toate adresele către care a fost expediat mesajul. (Blind Carbon Copy) – Introduceți adresele de email către care doriți să trimiteți o copie confidențială a mesajului. Destinatarul BCC nu poate vedea care sunt ceilalți destinatari BCC. Introduceți titlul, subiectul mesajului. Trebuie să fie scurt și concis, primitorul înțelegând la citire despre ce este respectivul mesaj. Exemplu: ”program tabără de vară” sau ”lista temelor pentru examenul la Informatică”, etc. 61

Informatică și TIC pentru toți Textul mesajului propriu-zis. La editarea unui mesaj trebuie să ținem cont de anumite reguli de conduită în mediul online: Neticheta (Netiquette). Este de evitat: - Scrierea cu greșeli de ortografie (scade credibilitatea sau creează o anumită părere despre expeditor); - scrierea doar cu majuscule (înseamnă a țipa, a striga la cineva); - nesemnarea mesajului astfel încât expeditorul este posibil să nu știe cine l-a expediat; - text foarte lung care să plictisească cititorul; - răspunsurile la jigniri (”cel mai deștept ignoră sau cedează primul”) – fii amabil; Înainte de a expedia: Trimite (Send), pot fi atașate anumite fișiere la mesaj. Astfel, pot fi atașate diverse fișiere ( ), link-uri – legături către pagini de Internet ( ), emoticoane ( ), imagini ( ) și multe alte facilități. Nu ne rămâne decât să trimitem (send) emailul și să așteptăm răspuns. Încercați să răspundeți la următoarele întrebări: 1. Care este adresa către care se expediază în primul rând mesajul? .......................................................... 2. Cărui utilizator de email i se trimite o copie a mesajului, cu identitate neprotejată față de alți destinatari? ............................................. 3. Căror utilizatori li se trimite o copie confidențială? ........................... .............................................. 4. Care este subiectul mesajului? .......................................................... 5. Cum se numește fișierul atașat ce urmează a fi trimis tuturor destinatarilor? ............................................................. 6. Utilizatorul [email protected] vede că emailul a fost trimis și către cristina VATAMANU(gmail.com)? .......................... Citirea unui email Prin click pe un email din listă, acela se va deschide și va putea fi citit, eventual se va putea descărca atașamentul. La citirea unui mesaj va putea fi văzut subiectul mesajului în prim-plan, expeditorul ([email protected]), data și alte detalii, precum și conținutul și atașamentele. Se poate Răspunde (Reply) la mesaj sau se poate să fie redirecționat mesajul către alte adrese de email: Redirecționează (Forward). De asemenea, există posibilitatea de Ștergere (Delete, Erase) a emailului primit, caz în care el va fi accesibil o perioadă doar la Coșul de gunoi (Trash). Sarcină de lucru 1. Alegeți un domeniu (gmail, yahoo mail, etc.) și creați o adresă de email. 2. Expediați emailuri între voi, redirecționați, ștergeți. Afișați pe o planșă sau videoproiector toate adresele colegilor de clasă. 62

Informatică și TIC pentru toți Cuvinte și expresii noi Email, CC, BCC, Neticheta Știm să lucrăm cu emailul? 1. Care dintre următoarele nu pot fi domenii pentru email? gmail.com, yahoo, mail.com, yahoo.ro, facebook.com, cristis.ro 2. Care dintre următoarele cuvinte nu pot fi alese ca id-uri (nume) de email? cristis.cris, ionescu475, maria_vasilescu, ioan marian, ana.maria.15, .georgiana 3. Enumerați câteva netichete ....................................................................................................................... Discutați în clasă despre aceste reguli și importanța lor. 4. Sunt un destinatar trecut în adresele de email în câmpul BCC. Bifați ce adrese pot vedea: - adresa expeditorului  - adresele din CC  - alte adrese din câmpul BCC  5. Sunt un destinatar trecut în adresele de email în câmpul BCC. Bifați ce adrese pot vedea: - adresa expeditorului  - adresele din CC  - alte adrese din câmpul BCC  Agenda Adresele de email, ca și telefoanele mobile, au o agendă. Există agende (cum este cea de la Google) care pot stoca contactele persoanelor atât cu numere de telefon, adrese de email sau alte modalități de contactare (skype, messenger, etc.). Accesarea agendei se poate face fie dintr-un link al emailului, fie căutând într-un motor de căutare: ”google contacte”, ”yahoo contacte”, ”gmail agenda”, etc. Verificați-vă agenda de email, introduceți sau ștergeți noi contacte. Sarcină de lucru 1. Introduceți contactele colegilor de clasă în agenda voastră, pe contul în care ați creat emailul. De preferință creați un cont Gmail, pentru că oferă și alte facilități, compatibile cu alte dispozitive. 2. Creați o adresă Gmail (cont Google). Introduceți această adresă și pe smartphone-ul care rulează sistemul de operare Android și selectați opțiunea de sincronizare contacte (Smartphone-ul trebuie conectat la Internet). După sincronizare căutați pe laptop/desktop/tabletă contactele și puteți să le găsiți pe cele avute pe telefon. Astfel, vă puteți ține în siguranță (siguranță în sensul de evitare a pierderii) toate numerele de telefon și adresele de email într-o singură agendă. Dacă aveți adresă de email Google (Gmail) utilizați Google Drive (aplicație Google) ce permite încărcarea fișierelor și partajarea lor cu altă adresă. Astfel, elevii pot crea ulterior diferite fișiere, le pot încărca în contul Drive și partaja cu adresa de email a profesorului, astfel încât să poată există o evidență a muncii fiecărui elev și o evaluare obiectivă. 63

Informatică și TIC pentru toți Utilizați platforma on-line Google Drive: - munca elevilor va fi păstrată într-un loc sigur; - se va evita subiectivismul evaluării profesorului care trebuie să verifice munca pe fiecare computer din laborator în parte; - elevii pot încărca materiale și lucra și de acasă; - evaluarea poate fi mai obiectivă, timpul alocat fiecărui elev putând fi mai mare, iar profesorul poate evalua oricând, de oriunde și multe, multe alte avantaje... APLICAȚII GOOGLE Google Drive este o aplicație de cloud (încărcare fișiere pe Internet) și partajare (acordare de acces și altor persoane). Sarcină de lucru 1. Cu ajutorul profesorului, încărcați un fișier în contul dumneavoastră de Drive, apoi partajați- l cu adresa de e-mail a profesorului. 64

Informatică și TIC pentru toți Algoritmi Algoritmul Ce învățăm? Coroborarea dintre aspecte ale vieții cotidiene și noțiunea de algoritm; Împărțirea datelor cărora li se pot atribui valori în constante și variabile; Transformarea rezolvării unor probleme simple în rezolvarea prin algoritmi informatici cu structură secvențială (liniară) sau alternativă (bazată pe decizii); Identificarea datelor utilizate în operațiile cu algoritmi și proprietățile acestora; Operarea cu constante, variabile și expresii logice în secvențele algoritmice. I. Exemplul nr. 1 Pentru a câștiga un concurs de orientare turistică, un concurent trebuie să urmeze un traseu, ajutându-se de o busolă și o hartă, preluând în cel mai scurt timp punctele de control de pe traseu. Așadar, trebuie urmați anumiți pași: pasul 1: confirmare Start; pasul 2: alegere direcție pentru a ajunge la primul punct de control; pasul 3: alegere traseu spre punctul de control; pasul 4: alergare pe traseul ales până la primul punct de control; pasul 5: confirmare primul punct..... Toți acești pași reprezintă un algoritm, adică tot ceea ce trebuie să facem pentru a rezolva o problemă. II. Exemplul nr. 2 Profesorul de informatică a organizat o excursie, pentru care a închiriat 2 autocare roșii cu o capacitate de 35 de locuri și 3 autocare albastre cu o capacitate de 20 de locuri. Toate locurile au fost ocupate. Câți elevi au mers în excursie? Rezolvarea 1: Care sunt datele problemei? 2 autocare roșii de 35 locuri; 3 autocare albastre de 20 locuri. Câți elevi încap în autocarele roșii și în cele albastre? 2 autocare roșii × 35 locuri = 70 locuri/elevi în autocarele roșii; 3 autocare albastre × 20 locuri = 60 locuri/elevi în autocarele albastre. Câți elevi/locuri sunt în total în autocare? 70 + 60 = 130 locuri/elevi în total în toate autocarele. Răspuns: 130 elevi au mers în excursie. https://ro.wikipedia.org/wiki/Algoritm 65

Informatică și TIC pentru toți Rezolvarea 2: Se știe – Date de intrare Autocare roșii = 2; Nr. locuri autocare roșii = 35; Calcul (algoritm) Autocare albastre = 3; Nr. locuri autocare albastre = 20. Locuri în autocare roșii = 2 × 35 = 70; Rezultat – Date de ieșire Locuri în autocare albastre = 3 × 20 = 60; Total locuri în toate autocarele = 70 + 60 = 130 locuri/elevi 130 elevi Rezolvarea 3: Simplificăm datele prin înlocuirea cuvintelor și expresiilor lungi (”autocare roșii”, ”număr autocare albastre”, etc) cu denumiri scurte (ce nu trebuie să înceapă cu o cifră sau să fie cifre). Astfel, putem înlocui: Numărul de autocare roșii = ”r”, numărul de locuri din fiecare autocar roșu = ”nr_r”, iar numărul total de locuri din autocarele roșii = ”nr_total_r”; Numărul de autocare albastre = ”a”, numărul de locuri din fiecare autocar albastru = ”nr_a”, iar numărul total de locuri din autocarele albastre = ”nr_total_a”; Rezultatul final va fi ”r”. Se știe – Date de intrare r = 2; nr_r = 35; a=3; nr_a = 20; Calcul (algoritm) nr_total_r = r * nr_r; (adică 2 * 35 = 70); Rezultat – Date de ieșire nr_total_a = a * nr_a; (adică 3 * 20 = 60); r = nr_total_r + nr_total_a; (adică 70 + 60 = 130); r (adică 130) III. Exemplul nr. 3 Școala a decis să implice elevii într-o acțiune de plantare de tei în parcul din spatele școlii. Astfel, fiecare elev de clasa a V-a a primit câte un tei, fiecare elev de clasa a VI-a a primit câte 3 tei și fiecare elev de clasa a VII-a a primit câte 2 tei. Știind că în clasa a V-a sunt 20 de elevi, în clasa a VI-a sunt 18 elevi și în clasa a VII-a sunt 30 de elevi și toți teii au fost plantați, calculați câți tei au fost plantați în total. Rezolvarea 1: Care sunt datele problemei? Clasa a V-a: 20 elevi cu câte un tei; Clasa a VI-a: 18 elevi cu câte 3 tei; Clasa a VII-a: 30 elevi cu câte 2 tei. Câți tei a primit și plantat fiecare clasă? 20 elevi × 1 tei = 20 tei plantați de clasa a V-a; 18 elevi × 3 tei = 54 tei plantați de clasa a VI-a; 30 elevi × 2 tei = 60 tei plantați de clasa a VII-a. Câți tei au fost plantați în total? 20 tei + 54 tei + 60 tei = 134 tei plantați. Răspuns: 134 tei. 66

Informatică și TIC pentru toți Rezolvarea 2: 20 elevi din clasa a V-a au plantat câte un tei; Se știe – Date de intrare 18 elevi din clasa a VI-a au plantat câte .......... tei; Calcul (algoritm) .......... elevi din clasa a VII-a au plantat câte 2 tei. Tei plantați de clasa a V-a: 20 × 1 = 20 tei; Rezultat – Date de ieșire Tei plantați de clasa a VI-a: ......... × 3 = 54 tei; Tei plantați de clasa a VII-a: 30 × 2 = ........... tei. Total tei plantați: 20 + ....... + 60 = ......... tei. 134 tei Rezolvarea 3: Numărul elevilor din clasa a V-a = ”v”, numărul teilor plantați de fiecare = ”nr_v”, numărul total de tei plantați de clasa a V-a = ”nr_total_v”; Numărul elevilor din clasa a VI-a = ”vi”, numărul teilor plantați de fiecare = ”nr_vi”, numărul total de tei plantați de clasa a VI-a = ”nr_total_vi”; Numărul elevilor din clasa a VII-a = ”vii”, numărul teilor plantați de fiecare = ”nr_vii”, numărul total de tei plantați de clasa a VII-a = ”nr_total_vi”; Rezultatul final va fi ”r”. Se știe – Date de intrare v = 20; nr_v=1; Calcul (algoritm) vi=18; nr_vi=3; Rezultat – Date de ieșire vii=30; nr_vii=2. nr_total_v = v * nr_v; nr_total_vi = vi * nr_vi; nr_total_vii = vii*nr_vii; r=nr_total_v + nr_total_vi + nr_total_vii; r (adică 134) Algoritmul reprezintă pașii, succesiunea de operații, simboluri, reguli, raționamente, care să ducă la rezultatul dorit. Proprietățile algoritmului: Generalitate: indiferent de valorile datelor introduse inițial (date de intrare), rezultatul trebuie să fie corect; Finitudine: să aibă un rezultat, să nu se repete la nesfârșit sau să fie fără nici un scop final (rezultat final); Claritate și corectitudine: să fie clar, fără ambiguități și să dea rezultat corect. Algoritmul îl putem asemăna cu pașii în rezolvarea unui exercițiu, a unei probleme, diferența constând în faptul că în informatică prezumăm că unele date de intrare se pot schimba, caz în care nu trebuie să mai modificăm algoritmul scris. Adică, în loc să folosim cifra 20 pentru numărul de elevi, folosim o denumire, de exemplu ”elevi”, astfel încât, chiar dacă am modifica numărul de la intrare, operând cu denumirea să nu trebuiască să schimbăm algoritmul (aceasta este și o proprietate a algoritmului). Astfel, dacă în ultimul tabel de mai sus aș înlocui la datele de intrare cifra 20 cu 24, atunci nu mai trebuie să nu modific nimic pe rândul 2 (la calcul), rezultatul modificându-se automat. Aceste denumiri pot fi constante și variabile, cărora li se atribui anumite valori. 67

Informatică și TIC pentru toți Mai multe... Cum ar arăta ultima problemă rezolvată într-un limbaj de programare (ex. C++)? Sarcină de lucru Realizați un algoritm care să calculeze câtă memorie este în trei dispozitive de stocare, dacă: în primul dispozitiv (un SSD) sunt 100 GB, în al doilea dispozitiv (o memorie USB) sunt 1000 MB, iar în al treilea dispozitiv (un HDD) sunt 500 GB. Date de intrare: ssd = 100 GB; usb = 1000 MB; hdd = 500 GB Algoritm: usb = .....................= ........................; r = ............................................................................................................................... Rezultat final: ................. Într-o secvență de program informatic, multe dintre datele de intrare sunt atribuite de utilizator, adică se cere introducerea lor, iar după introducere, algoritmul va calcula rezultatul și îl va afișa. Alte date, însă, sunt introduse deja în aplicație și nu pot fi modificate. Variabilele = sunt date care se pot schimba, atât la dorința utilizatorului prin atribuirea de valori în secvența de date de intrare, fie pe parcursul aplicației. Constantele = sunt date introduse în algoritm și care nu își schimbă valoarea atribuită. De exemplu, dacă dorim să creăm un algoritm care să convertească Bytes în Megabytes, atunci putem avea ca variabilă: nr_bytes, iar constanta va fi multiplu = 1024. Putem să cerem, așadar, de la utilizator să introducă numărul de bytes (ce va fi stocat în variabila nr_bytes, iar algoritmul va avea definită variabila multiplu și nu are decât să înmulțească nr_bytes cu multiplu pentru a afișa rezultatul. Atât variabilele, cât și constantele pot memora cifre, numere, text, dată, simboluri etc. Numele acestora nu poate începe cu o cifră, nu poate fi o cifră. De obicei, sunt cuvinte scurte, prescurtări, unele utilizând _ (underscore): nr, cls, date, string_1, etc. 68

Informatică și TIC pentru toți Un anumit calcul, cu sau fără paranteze, formează o expresie. Datele (variabilele și constantele) pot fi:  De intrare;  De ieșire;  De manevră. Exemplu: În clasă sunt 24 de elevi. Dintre aceștia 11 sunt fete. Profesorul de sport a cerut băieților să ducă câte trei discuri la punctul de control, iar fetelor să ducă câte două discuri. Știind că un disc cântărește 1 kg., calculați ce greutate totală a fost dusă de întreaga clasă la punctul de control. Luăm în considere faptul că acest algoritm îl putem folosi și pentru alte clase, cu alt număr de elevi și cu alt număr de discuri de cărat, în timp ce greutatea discului rămâne aceeași. Date de intrare: elevi (număr elevi total pe clasă - 24), fete (număr de fete din clasă - 11), Variabile de intrare (de tip numere disc_m (număr de discuri duse de fiecare băiat - 3), întregi) disc_f (număr de discuri duse de fiecare fată - 2). disc = 1 (greutatea unui disc în kilograme) - Constantă (de tip număr întreg) Algoritm: - Variabilă de manevră (număr întreg) baieti (numărul de băieți din clasă) baieti = elevi – fete (nr. de băieți din clasă)=13 - Expresie Variabilă de ieșire (număr întreg) rez (rezultatul final, adică total greutate dusă) - Expresie, calcul variabilă de ieșire rez = (fete * disc_f * disc) + (baieti * disc_m * disc) - Date de ieșire: - Variabilă de ieșire (număr întreg) Afișează rez = 61 kg Mai multe... Cum ar arăta algoritmul din exemplul de mai sus în limbajul de programare PHP: Cuvinte și expresii noi Algoritm, variabile, constante, expresie, limbaj de programare 69

Informatică și TIC pentru toți Am înțeles ce este un algoritm, ce sunt constantele și variabilele? Exemplul 1: Ionel trebuie să se ducă la magazin și să cumpere 3 kg de măsline și 2 kg de roșii. Prețul unui kg de măsline este de 15 lei, iar al unui kg de roșii 4 lei. Mama decide să-i dea 100 de lei. Ce rest va primi Ionel de la magazin? În acest caz, numărul de kilograme de măsline și cel de roșii, fiind neapărată nevoie de ele (”trebuie”), sunt constante, nu poate fi schimbat. Dar, pot fi alese diverse magazine pentru a cumpăra și mama poate îi dă mai mulți bani. De aceea, prețul kg de măsline și cel al kg de roșii, precum și suma primită de la mama este variabilă. Rezultă că și restul pe care îl va primi va fi tot o variabilă. Avem așadar: Date de intrare: - constante: kilogramele de măsline = 3 și kilogramele de roșii = 2. Le putem nota cu masline = 3 și rosii = 2; - variabile: prețul per kg. de măsline, îi este atribuită valoarea 15, prețul unui kg de roșii, căruia îi este atribuită valoarea 4, suma dată de mama, cu valoarea 100. Le putem nota cu: pret_masline = 15, pret_rosii = 4 și suma = 100. Acestea sunt variabile de intrare. Algoritmul: calculele care să ne ofere rezultatul: Variabile de manevră: pret_total_masline și pret_total_rosii, pentru a stoca în variabile prețurile totale date pe fiecare produs în parte. pret_total_masline = masline * pret_masline; pret_total_rosii = rosii * pret_rosii. Variabila de ieșire este cea care ne dă rezultatul final: rest. Toate aceste secvențe din algoritm sunt lineare, bazate pe o secvență de operații (nu repetiții, dacă este așa fă într-un fel, dacă nu în altul, repetă de câteva ori, etc.): rest = suma – pret_total_masline – pret_total_rosii; Date de ieșire: Valoarea variabilei rest. Exemplul 2: Pe o placă de bază la propriul computer, Ioana are trei sloturi pentru memoria RAM. Ea decide să cumpere 3 memorii. Găsește o memorie de 2 GB la prețul de 200 lei, o memorie de 4096 MB la prețul de 300 lei și una de 1048576 B la prețul de 150 lei. Decide să le cumpere pe toate. Precizați câți GB de memorie RAM va avea în total și care este prețul pe care îl va da în total. Citind problema de mai sus, constatăm că totul poate varia în afară de multiplii și submultiplii byte-ului. Date de intrare: Variabile de intrare: capacitatea primei memorii: m1 = 2 GB, prețul primei memorii: pret_m1 = ........, capacitatea celei de-a doua memorii: ........ = .........., prețul celei de-a doua memorii: ......... = ............, ...........................................................: m3 = ........., ............................................................: ........ = 150. Constanta: multiplu = ..............; Algoritmul: Transformare capacitate memorii în aceeași unitate de măsură, în acest caz cea solicitată prin cerință: GB. 70

Informatică și TIC pentru toți m2 = m2 / multiplu; (semnul ”/” înseamnă împărțit, iar variabila m2 este citită și i se atribuie o altă valoare) m3 = ......../multiplu/.................; (Variabilei m3 i se atribuie valoarea din calculul aritmetic, calcul în care este citită) Variabila total_m (total memorie) = ............. + m2 + m3; Variabila total_p (total ............) = pret_m1 + ........... + .............; Date de ieșire: Preț total: ........... și capacitate totală (GB): .............. (se scrie valoare rezultată) Datele pot fi citite, li se atribuie anumite valori și pot fi scrise/afișate. Sarcină de lucru Subliniați cu o linie care sunt constante și cu două linii care sunt variabile: eys_col – culoarea ochilor; nails – lungimea unghiilor; temp – temperatura de afară; info_note – nota la informatică; schoo_dist – distanța de acasă până la școală; name – numele tău; wheather – starea vremii 71

Informatică și TIC pentru toți Operatori În paginile anterioare am folosit anumiți operatori (+, -, *...). Iată o prezentare generală a lor: Operatori aritmetici Plus 12+4+5; a + b + c + d; xsum + ysum; Minus 142-15-2; 254-5; a – b; difx – dify – difz; Înmulțit 7*2; 1024*2; 1024*1024*2; a * b * c; multiplx * multiply; Împărțit 84/2; 4064/4; a / b; divx / divy; Mai mult... sau Restul împărțirii 4 % 3 = 1; a % b; modx % mody; Increment (creștere) ++1 (2); ++ a; ++increm; Decrement (scădere) --2 (1); -- a; -- decrem; Operatori relaționali (de comparație) Egal Dacă a == 5, atunci... Simplu = înseamnă atribuire, adică variabilei a i se atribuie valoarea 5: a = 5. Mai mare 27 > 10; a > b; val1 > val2 Mai mic 5 < 7; a < b; val1 < val2 Mai mare sau egal a >= b; Cât timp val1 >= var2 calculează... Mai mic sau egal x <= y; Cât timp valx <= vary execută... sau Nu este egal sau diferit 27 != 72; 27 <> 72; val1 != val2 (! este semn de negație) Operatori logici Rezultat adevărat dacă ambii termeni sunt adevărați (1 && 1 = 1) Și (And) Rezultat adevărat dacă cel puțin unul dintre termeni este adevărat Sau (Or) (1 || 0 = 1) Termenul este interpretat contrar. Negație (Not) Operator condițional Dacă expresia din condiție este adevărată, atunci întoarce val1, în caz contrar întoarce val2 a >=2 ? 254 : 100 sau if (a>=2){b=254;} else {b=100} 72

Informatică și TIC pentru toți Mai multe... Mai există operatori de atribuire, operatori bit: ������+= ������ ������ = ������ + ������ Adunare ������−= ������ ������ = ������ − ������ Scădere ������ ∗= ������ ������ = ������ ∗ ������ Înmulțire ������/ = ������ ������ = ������/������ Împărțire ������ % = ������ ������ = ������%������ Restul împărțirii & ������ & ������ Și (AND) pentru fiecare bit din a și b. Întoarce 1 dacă ambii biți sunt 1 | ������ | ������ Sau (OR) pentru fiecare bit din a și b. Întoarce 1 dacă cel puțin un bit este 1 ^ ������ ^ ������ Sau exclusiv (XOR) pentru fiecare bit din a și b. Întoarce 1 dacă există cel mult un bit 1 ~ ~������ Inversează biții lui a (1 devine 0 și invers) a << b Deplasează a cu b biți spre stânga (biții rămași 0) a >> b Deplasează a cu b biți spre dreapta (biții din dreapta se pierd) a >>> b Deplasează a cu b biți spre dreapta (biții noi devin 0) Adresare indirectă *p Preluare adresă &x Apel funcție f(e) Indexare t[i] Selecție s.c Selecție indirectă p->c Noi explicații legate de operatorii logici: 1 && 0 0 A && F F 1 || 0 1 A || F A 0 || 1 1 F || A A 0 && 1 0 F && A F 1 || 1 1 A || A A 0 || 0 0 F || F F 1 && 1 1 A && A A 0 && 0 0 F && F A Rezultatul este 1 sau A (adevărat) numai dacă Rezultatul este 1 sau A (adevărat) dacă cel puțin ambii termeni sunt adevărați un termen este adevărat Câteva exerciții: ������ = 50; ������ / ⬚ = 10 ������ = 50; ������ = 10; ������ / ⬚ = ������ ������ = 15; ������ ∗ 2 = ⬚ ������ = 15; ������ = 2; ������ ∗ ������ = ⬚ 24 + 10 = ⬚ ������ = 50; ������ / ⬚ = 10 ������ = 50; ������ = 10; ������ / ⬚ = 10 15 ∗ 2 = ⬚ ������������ = 18; ������������ + ⬚ = 22 ������������1 = 18; ������������2 = 22; ������������1 + ⬚ = ������������2 50 / ⬚ = 10 ������ = 14; ������ − 5 = ⬚ ������ = 14; ������ = 5; ������ − ������ = ⬚ 18 + ⬚ = 22 ������ = 5; ������ = 7; ������ + 20 − ������ = ⬚ ������ = 24; ������ = 5; 24 − ������ + 8 + ������ + 2 = ⬚ 14 − 5 = ⬚ ������ = 2; ������ = 9; ������ − 3 ∗ ������ = ⬚ ������ = 5; ������ = 3; ������ = 2; ������ ∗ ������ ∗ ������ + 1 = ⬚ ������ = 10; ������ = 2; ������ + 1 + ������ = ⬚ ������ = 9; ������ = 5; 81/������ − ������ = ⬚ ������ = 7; ������ = 2; ������ = 3; (������ + ������)/������ + 2 = ⬚ ������ = 7; ������ = 8; ������ ∗ ������ + 1 = ⬚ ������ = 6; ������ = 2; (������/������) + ������ = ⬚ Joc – două adevăruri și o minciună Unul dintre elevi spune trei lucruri despre tema în discuție, ușor de ținut minte. Două trebuie să fie adevărate, iar unul o minciună. Ceilalți elevi, după ce elevul în cauză va termina, vor trebui să identifice minciuna. Va continua cel care a reușit să găsească primul minciuna. 73

Informatică și TIC pentru toți Exerciții utilizând funcția if(dacă): if(condiție){dacă e adevărată condiția}else{dacă este falsă condiția} condiție ? dacă e adevărată condiția : dacă este falsă condiția Variabile If (Dacă) True (Adevărat) False (Fals) Rezultat ������ = 7; ������ = 2 ������ <= ������ ������ = ������ ∗ ������ + 7 ������ = ������ ∗ 7 − ������ ������ = 47 Pentru rezolvare primim 2 variabile (a și b) cu anumite valori (7 și 2). 1.Verific condiția: a<=b (7<=2), care este falsă. 2.Nu mă interesează deloc coloana 3 (cea cu True-Adevărat), ca și cum nu ar exista, ci fac doar calculele din coloana 4 (cu False-Fals): a*7-b (7*7-2=47). 3.Rezultatul este, așadar, r=47 (în coloana 5 - Rezultat). ������ = 2; ������ = 9 ������ > ������ ������ = ������ ∗ ������ + 7 ������ = ������ ∗ 7 − ������ ������ = ⬚ ������ = 5; ������ = 5 ������ >= ������ ������ = (12 − ������ − ������)/5 ������ = 17 − ������ + ������ ������ = ⬚ ������ = 5; ������ = 5 ������ == ������ ������ = ������ ∗ 3/������ + 2 − 5 ������ = ������ ∗ 3/������ + 2 ������ = ⬚ ������ = 8; ������ = 2 ������ <= ������ ������ = (������ − ������ + 7) ∗ 2 ������ = 1 − (8 − ������ + ������) ������ = ⬚ ������ = 4; ������ = 12 ������ < ������ ������ = (������/������ + 7) ∗ 6 ������ = ������ ∗ 3/4 + ������ ������ = ⬚ ������ = 5; ������ = 20 ������ >= ������ ������ = (������/������ + 7) ∗ 6 ������ = (������ + 2) ∗ 5/������ ������ = ⬚ ������ = 9; ������ = 12 ������ ! = ������ − 3 ������ = (������ ∗ ������ − 7)/6 ������ = 5 ∗ (������ − ������) ������ = ⬚ Variabile If (Dacă) True (Adevărat) False (Fals) Rezultat ������ = 5; ������ = 1 ������ > ������ && (������ + ������) <= 6 ������ = ������ ∗ ������ + 7 ������ = ������ ∗ 7 − ������ ������ = ⬚ ������ = 11; ������ = 2 (������ − 5) > ������ && ������ == 6 ������ = ������ − ������ ∗ 2 ������ = ������ + ������ − 1 ������ = ⬚ ������ = 6; ������ = 3 (������/������) < ������ && ������ >= 0 ������ = ������ ∗ 2/3 + ������ ������ = ������ − ������ ������ = ⬚ ������ = 3; ������ = 4 (������ + ������) = 7 || ������ >= 0 ������ = ������ ∗ ������/4 ������ = ������ + ������ − 5 ������ = ⬚ ������ = 25; ������ = 5 (������/������) >= 2 || ������ ∗ 5 == 20 ������ = ������ ∗ 2 + 10 ������ = (������ + ������)/5 ������ = ⬚ ������ = 0; ������ = 6 (������ ∗ ������) == 1 || ������/2 == 1 ������ = ������ ∗ ������ − 2 ������ = (������ + ������)/3 ������ = ⬚ ������ = 4; ������ = 7 (������ + ������) <> ������ || (������ + 2) <= 9 ������ = ������ + ������ − 11 ������ = ������ − ������ − 2 ������ = ⬚ ������ = 4; ������ = 7 (������ + 3)! = ������ || ! (������ <= 7) ������ = ������ + ������ − 11 ������ = ������ − ������ − 2 ������ = ⬚ Mai multe... Iată cum arată ultimul exercițiul de mai sus rezolvat în limbajul de programare C++: Joc – adevăr sau provocare Elevii se așează în cerc. Profesorul la început rotește o sticlă cu apă în mijlocul lor sau un folosește un alt instrument de la un anumit joc care să indice la fel ca sticla. Elevul în dreptul căruia se oprește dopul sticlei/vârful indicatorului rotit va alege între adevăr sau provocare. Elevul din partea opusă va pune o întrebare în caz de adevăr sau va da o sarcină de lucru (exercițiu) în caz de provocare. Jocul se continuă de la elevul care a ales adevărul sau provocarea. 74

Informatică și TIC pentru toți Să ne jucăm în Scratch... pentru a înțelege mai bine algoritmii... Accesați adresa: https://scratch.mit.edu/, unde puteți folosi diverse expresii pentru a forma algoritmi din ce în ce mai complecși. Exercițiul 1: Lăsăm pentru destindere mișcarea personajului, iar noi intrăm la menu-ul Date/Variabile și creăm două variabile, la fel ca la primul exercițiu cu if de mai sus. Variabile If (Dacă) True (Adevărat) False (Fals) Rezultat ������ = 7; ������ = 2 ������ < ������ ������ = ������ ∗ ������ + 7 ������ = ������ ∗ 7 − ������ ������ = 47 Cele două variabile pe care le vom crea sunt a și b. Vom crea și variabila de ieșire r: Cu ajutorul instrucțiunilor disponibile la Date/Variabile, Control și Operatori, putem crea exercițiul și dorim să aflăm dacă ne dă rezultatul corect după ce rulăm algoritmul. 1. Vom seta a la valoarea 7 și b la valoarea 2; 2. De la control vom alege opțiunea Dacă (If), pe care la condiție o vom completa-o cu a < b (atenție, blocurile se iau de la Operatori, iar variabilele de la Date). 3. La varianta adevărată vom introduce mai întâi un bloc de adunare, apoi la primul termen un bloc de înmulțire, după care vom completa cu variabile și cifre. La fel pentru varianta falsă, mai întâi un bloc de scădere, iar la primul termen un bloc de înmulțire. Pentru divertisment mai putem și să spună ceva animația noastră: Adevărat! sau Fals!. La final vom ruga să ne afișeze rezultatul, variabila nou creată r. Vedem rezultatul în stânga imaginii sus. Sarcină de lucru La fel cum am rezolvat exercițiul de mai sus, faceți alte câteva exerciții, fie din cele date deja spre rezolvare, fie concepute de profesor. Încercați să adăugați, pe lângă calculul expresiilor și anumite mișcări ale personajului. 75

Informatică și TIC pentru toți Exercițiul 2: Același Scratch, o altă sarcină de lucru... Variabile If (Dacă) True (Adevărat) False (Fals) Rezultat ������ = 5; ������ = 1 ������ > ������ && (������ + ������) <= 6 ������ = ������ ∗ ������ + 7 ������ = ������ ∗ 7 − ������ ������ = ⬚ La condiție nu am găsit bloc cu <=, așa că am pus două blocuri, unul cu <, celălalt cu =, comparate prin sau (||): ������ > ������ && ((������ + ������) < 6 || (������ + ������) == 6) Iată rezultatul: S-au complicat un pic lucrurile, dar pentru a deveni programatori, trebuie și un pic de muncă!!! Sarcină de lucru... pentru destindere Accesează site-ul destinat Hour of code (posibil code.org), poți să-ți faci un cont și să controlezi un personaj din Minecraft, de exemplu. Roagă profesorul să te ajute să faci tu drumul lui Steve... https://blockly-games.appspot.com/ 76

Informatică și TIC pentru toți Sarcină de lucru... Deschideți aplicația online: https://makecode.microbit.org/ și creați o aplicație în care să calculați submultiplii Terabyte-ului... iată cum se poate începe: Cât de competenți suntem??? 1. Scrieți algoritmul pentru ”prepararea unui ceai”: Algoritm care utilizează ca date: solul, Date de intrare: apă, .............., ................. copacul, apa. Algoritmul: - pasul 1: ........................................... - pasul 2: ........................................... - ........................................................ Date de ieșire: ceaiul. 2. Dacă dorești să ”sădești un copac”, care este algoritmul? - ........................................... - ........................................... - ........................................... - ........................................... 3. Scrie rezultatul la următorul algoritm: Rezultatul este: .............................................................. ....................................................................................... Dacă vorbim de culoarea galbenă și nu se specifică unde este pietonul, atunci algoritmul va fi lipsit de claritate: generalitatea, claritatea, corectitudinea și finitudinea fiind proprietăți ale algoritmilor. 4. Ce rezultate au următorii algoritmi cu ramificație - decizie? a) ”HDD == mai mult spațiu la un preț mai redus” ? ”Adevărat” : ”Fals”; b) ”Proprietatea din care rezultă că algoritmul are o finalitate este (==) finitudinea” ? ”Da” : ”Nu”; c) ”SSD-ul (==) oferă mai mică viteză la un preț redus” ? ”Adevărat” : ”Fals”; 77

Informatică și TIC pentru toți d) ”8 biți formează (==) un byte” ? ”Adevărat” : ”Fals”; e) ”Capacitatea memoriei nu se măsoară (!=) în bytes” ? ”Adevărat” : ”Fals”; f) ”Un terrabyte este mai mic (<) decât un gigabyte” ? ”Adevărat” : ”Fals”; g) ”Unitatea de măsură pentru frecvența CPU este hertz-ul” ? ”Adevărat” : ”Fals”; h) ”Ecran tactil diferit de touchscreen” ? ”Adevărat” : ”Fals”; i) ”Adevărat ȘI (&&) Fals rezultă (==) Fals” ? ”Adevărat” : ”Fals”; j) ”Fals SAU (||) Fals rezultă (==) Fals” ? ”Adevărat” : ”Fals”; 5. Care sunt datele din următorul exemplu? În clasă sunt 22 de elevi. 10 dintre aceștia sunt fete și 12 băieți. În urma unui test la Informatică 15 elevi au luat note peste 7, 10 fiind fete. Câți elevi au luat note de 7 sau mai mici și câți dintre aceștia erau băieți? – Algoritmul se dorește a calcula rezultatele pentru viitoare teste la Informatică la aceeași clasă. Date de intrare: - Constante: ............................................................................. - Variabile: ............................................................................... Variabile de ieșire: ............................................................................... 6. Identifică constantele și variabilele pentru a construi un algoritm care să calculeze mediile anuale: Constante: ................................................................................................................................ Variabile: ................................................................................................................................. Scrieți algoritmul pe caiet, utilizând constantele și variabilele identificate. Puteți crea și o aplicație în Scratch cu acest algoritm. 7. Identifică formulările ce nu pot fi transformate în algoritmi (nu respectă proprietățile unui algoritm) și menționează ce proprietate nu respectă: claritatea, finitudinea, generalitatea, corectitudinea. a) ”Valoarea anilor este 12. Repetă crescând de fiecare dată câte un an (indentare) atât timp cât valoarea este mai mică sau egală cu 10” – nu respectă proprietatea: ............................... b) ”Dacă afară este frig atunci afișează temperatura cu -, iar dacă este cald cu +” – nu respectă proprietatea: ............................... c) ”La calculul mediei generale, pentru Informatică se folosește constanta cu valoarea 10” – nu respectă proprietatea: ............................... d) ”Dacă afară plouă este nevoie de umbrelă, în caz contrar este necesară pelerină impermeabilă” – nu respectă proprietatea: ............................... e) ”Se dă numărul 2. Repetă, de fiecare dată adăugând la rezultat 2, atâta timp cât valoarea este un număr par” – nu respectă proprietatea: ............................... 8. Cu ce constante și variabile lucrăm dacă dorim să creăm un algoritm care să: a) ”calculeze multiplii byte-ului”: Constanta: ......................................................................., Variabile: ....................................................... b) ”calculeze multiplii hertz-ului”: Constanta: ......................................................................., Variabile: ...................................................... c) ”calculeze numărul elevilor promovați din clasă” Constante: .........................................................., Variabile: ...................................................... Scrieți algoritmii pe caiete, utilizând constantele și variabilele identificate. Creați și aplicații în Scratch cu acești algoritmi. 78

Informatică și TIC pentru toți În caz că nu v-ați plictisit... 1. Să realizăm împreună un algoritm: a) care să adune 2 numere date și înmulțească rezultatul cu 3: Variabile: a, b, rez Constante: c=3 Atribuire valori: Citește a = 7; Citește b = 6 rez = (a+b)*c; rez = (...........)*...... = .........; Afișează rez. b) care să înmulțească un nr. cu rezultatul adunării a două numere și să împartă rezultatul la 2: Variabile: a, b, ...., rez Constante: d = ...... Atribuire valori: Citește a = 3; Citește b = 5; Citește c = 5 rez = ...................................................; rez = 3*(................) / .... = .........; Afișează rez. c) care să calculeze dacă numărul este divizibil cu 2: Variabile: a, rez Constante: d = 2 Atribuire valori: Citește a = .......; (alegeți diferite valori și scrieți ce rezultat va avea variabila rez la final) dacă a = 0, atunci {rez = ”divizibil”}, dacă nu if(a=0} {.....} {dacă restul împărțirii lui a la d este 0 {rez = ”divizibil”}, dacă nu {rez = ”indivizibil”} } {if(a%d=0) {....}} Afișează rez. 79

Informatică și TIC pentru toți Exersare algoritmi în diverse aplicații online Hour of code Sarcină de lucru... Deschideți website-ul Hour of code (https://hourofcode.com/ro/learn), alegeți un joc (Minecraft, Star War, etc.) și rezolvați sarcinile de lucru a diferitelor nivele. Blockly Sarcină de lucru... Alegeți împreună cu profesorul una dintre aplicațiile oferite de Blockly și încercați să rezolvați sarcinile de lucru cu algoritmi. https://www.pbinfo.ro/?pagina=blockly 80

Informatică și TIC pentru toți Structura repetitivă condiționată anterior/posterior Cât timp ....expresie.... execută .....bloc........ While ...expression... do ......block...... Exemple: 1. Cât timp nu plouă strânge movilă după movilă de fân While (afară nu plouă) do (strânge o movilă;) – expresia/blocul de expresii: ”strânge o movilă” se va repeta până vine ploaia. 2. Cât timp nr<=10 adună 1 la nr While (nr<=10) do (nr = nr+1;). Dacă nr = 7 (data de intrare), de câte ori se va repeat expresia: nr=nr+1? ……………………. Reprezentați grafic, după modelul din stânga, exemplele de mai sus Reprezentați grafic repetarea unui test până când variabila notă este mai mare sau egală cu 5. Reprezentați grafic repetarea introducerii parolei la un smarphone de maximum 3 ori, având ca dată de ieșire blocarea telefonului. Reprezentați grafic rezultatul penalty-urilor de la finalul unui meci egal (pentru cei care nu sunt microbiști se execută 5 penalty-uri, iar dacă este și atunci egal se mai dă câte unul până când adversarul nu dă gol) Calculați: Scrieți rezultatul expresiilor: 1. ������ = 1; ������ = 5; ������ℎ������������������ (������ <= 5) ������������ (������ = ������ + (3 ∗ 2) − 1; ������ = ������ + 1; ) ������������������������������ ������ = . . . . . . ; 2. ������ = 7; ������ = 9; ������ℎ������������������ (������ > 4) ������������ (������ = ������ − 4 ∗ 2 − 6; ������ = 100 + ������ − ������; ) ������������������������������ ������ = . . . . . . ; 3. ������ = 0; ������ = 0; ������ℎ������������������ (������ < 2) ������������ (������ = ������ ∗ ������ + 1; ������ = 24 + 6 ∗ ������ − 14; ) ������������������������������ ������ = . . . . . . ; 4. ������ = 3; ������ = 2; ������ = 5; 6 ������ℎ������������������ (������ <= 5) ������������ (������ = 1 + ������ + 3 ; ������ = 4 ∗ 2 − 8 + ������ + 1; ������ = 5 + ������; ) ������������������������������ ������ = . . . . . . ; ������������������������������ ������ = . . . . . . ; 81

Informatică și TIC pentru toți 5. ������ = 1; ������ = 4; ������ℎ������������������ (������ < 10 ������������������ ������ = 3) ������������ (������ = 2 + ������; ������ = 11 − 4 ∗ 2 + ������ − ������; ) ������������������������������ ������ = . . . . . . ; 6. ������ = 2; ������ = 3; ������ℎ������������������ (������ < 4 ș������ ������ < 4) ������������ (������ = 2 + 1 ∗ 7 − 2 + ������; ������ = ������ + 1; ) 7 ������������������������������ ������ = . . . . . . ; ������������������������������ ������ = . . . . . . ; Exemplu de rezolvare al exercițiului numărul 3 de mai sus utilizând blocurile din Scratch (https://scratch.mit.edu/): Neexistând în Scratch instrucțiunea Repetă atât timp cât sau Cât timp..., ci una opusă: Repetă până când, am scris opusul expresiei: x < 2, adică, x > 2 sau x = 2. Atenție la blocurile de calcul, pentru a nu determina să fie făcută întâi adunarea sau scăderea, apoi înmulțirea! Rezultatul este: 70 Același exercițiu făcut într-un editor C++ (http://cpp.sh/) – puteți selecta și alt editor online: La linia 4 trebuie să existe instrucțiunea ”using namespace std;” – verificați înainte de a începe completarea în funcția main(); Trebuie specificat tipul variabilelor, în acest caz a fost ales tipul Integer (Număr întreg) – int (int x; int y;). Pentru afișare se folosește instrucțiunea cout << y; Rezultatul este 70 Sarcină de lucru După ce ați rezolvat algoritmii de mai sus pe caiete, utilizați ambele aplicații: Scratch și C++ Shell pentru a verifica dacă ați obținut rezultatul corect. 82

Informatică și TIC pentru toți În cazul în care condiția este pusă la sfârșit, adică după executarea blocului care se repetă, atunci vorbim de structură repetitivă condiționată posterior: Execută ...bloc... cât timp ...expresie... Do ...block... while ......expression...... Reprezentați grafic, urmând exemplul din stânga, exercițiile de mai jos. Reprezentați grafic efectuarea de aruncări repetate la coșul de baschet până când mingea intră în coș. Reprezentați grafic scriere numerelor impare până la 10. Reprezentați grafic scrierea următorului patern: 1. ������ = 2; ������ = 9; ������������ {x = 4 + 2 ∗ 2 + 2 + x; y = 25 − 14 − x + y; } 2 ������ℎ������������������ (������ <= 6; ) ������ =. . . . .. 2. ������ = 10; ������ = 0; ������������ {x = x + 1; y = 14 − 3 ∗ 2 + y; } ������ℎ������������������ (������ >= 8; ) ������ =. . . . .. 3. Scrieți algoritmul care va duce la scrierea următorului pattern: ������ = 1; ������ = 1; ������ℎ������������������ (������ <. . . ){ ������������{������������������������������ \"*\"; ������ = ������+. . . ; }������ℎ������������������{������ = ������; }i=…+1; ������â������������ ������������������; } 83

Informatică și TIC pentru toți Structura repetitivă cu contor . Repetă până când se îndeplinește condiția ...bloc... Limbajele de programare utilizează această expresie în algoritm astfel: 1. Se pornește de la o valoare inițială (exemplu: ������ = 0;); 2. Se pune condiția care să fie adevărată cât timp se repetă – în caz că devine falsă se va opri repetarea blocului (exemplu: ������ < 5;); 3. Se creează o expresie care modifică valoarea inițială în așa fel încât, după un număr dorit de repetări condiția de la punctul 2 să devină falsă (exemplu: ������ = ������ + 1 sau prescurtat: ������ = ������ + +;) 4. Se scrie blocul a cărui execuție va fi repetată până când condiția de la punctul 2 devine falsă. y=0; Date de intrare for (������ = ������; ������ < ������; ������ = ������ + ������) Condiția, identică cu cea de mai sus – repetare de 5 ori { ������ = ������ + ������;} Blocul care se repetă – repetat de 5 ori rezultă y=5(2+0)=10. 1. Scrie primele 10 numere naturale: ������������������(������ = 1; ������ … … 10; ������ = ������ = ������+. . . . ) { ������������������������������ (������������������������������, ������������������������ ≫, ������������������������������������, ������������������������������, ������������ℎ������, ������������������. ) ������; } 2. Calculează cel mai mare divizor comun (cmmdc) a două numere: ������ = 14; ������ = 27; // Date de intrare ������������������ (������ = 1; ������ <= ������ ������������������ ������ <=. . . ; ������ + +) // Repetă atât timp cât i este mai mic decât x și y ������������(������%������ == 0 ������������������ ������ … ������ == 0) // Dacă și x și y se împart exact la i (rest 0) {������������������������������ =. . . ; } // Atunci cmmdc este i și se memorează în var. cmmdc } ������������������������������ ������������������������������; // Când ajunge i la cel mai mic nr. dintre x și y - Stop 3. Scrie primele 10 numere naturale în ordine inversă: ������������������(������ = 10; ������ … 0; ������ = ������ = ������−. . . . ) { ������������������������������ ������; } 4. Scrie primele 10 numere naturale impare: ������������������(������ = 0; ������ … … . ; ������ = ������ = ������ + +) { ������������(������%. . . . ! =. . . . . ){������������������������������ ������; }} 5. Știind că într-un triunghi ABC, ∠BAC = 40O, ∠ACB = 60O, calculați cubul ∠BCA. ������������������ℎ������������������������ = 40; ������������������ℎ������������������������ = 60; ������������������������������������������������ℎ������������������������ =. . . . . . ; { ������������������ℎ������������������������ =. . … . −. . . . . −. . . . . } ������������������(������ = 0; ������ … … . ; ������ = ������ = ������ + +) { ������������������ℎ������������������������ = ������������������ℎ������������������������ ∗. . . . . . } Sarcină de lucru După ce ați rezolvat algoritmii de mai sus pe caiete, utilizați ambele aplicații: Scratch și C++ Shell pentru a verifica dacă ați obținut rezultatul corect. 84

Informatică și TIC pentru toți Limbaj de programare Generalități limbaj de programare Un limbaj de programare: 1. Are o structură specifică utilizată de programator: 2. Programatorul scrie anumite instrucțiuni – un cod 3. Verificare Rulare (Run), Depanare erori. Apoi, secvențele de cod sunt compilate – transformate în limbaj mașină (0 și 1) Sarcină de lucru Accesați împreună cu profesorul diferite editoare ale limbajelor de programare online și analizați interfața. 85

Informatică și TIC pentru toți Controlarea, prin algoritmi, a unui robot educațional Foarte atractiv oricărei vârste este atunci când, tu însuți, poți comanda diferite obiecte, iar acestea fac ce dorești tu. Cu o simplă telecomandă îți dirijezi drona care zboară, elicopterul de jucărie primit cadou, etc. Prin unde radio, noi putem să comandăm diferite circuite electronice, diferite motorașe sau lumini. Dar, dacă dorim ca acestea să facă mai multe operații, mișcări, într-o ordine dorită, putem să intrăm în mediu educativ al roboticii și să simulăm cum facem să controlăm un robot printr-un algoritm. Aplicația roberta: https://lab.open-roberta.org/, ne oferă posibilitatea să simulăm cum controlăm un robot, în scop educațional. Am ales ca ”Open Roberta SIM”, din dreapta am selectat SIM pentru a vedea mediu de simulare și din partea de jos a ferestrei am ales spațiu de simulare din imagine ( ). Nu ne rămâne decât să introducem blocurile unui algoritm, apoi să comandă robotul pentru a face ceea ce-i spunem ( ). Iată câteva exemple de algoritmi: 1. Realizează un algoritm care să facă robotul să se deplaseze desenând un pătrat: Sunt incluse diferite blocuri de control al motoarelor, de deplasare sau de întoarcere în anumite direcții. forward = înainte; backwards = înapoi; right = dreapta; left = stânga; speed = viteza; turn = întoarcere; drive = condu, mergi; degree = grade. 86

Informatică și TIC pentru toți 2. Alte exemple de algoritmi: Realizați un program care să Realizați un algoritm care să Realizați un algoritm care să facă facă robotul să se deplaseze pe determine robotul să se deplaseze robotul să emită semnale o traiectorie în formă de cerc pe o traiectorie în formă de romb luminoase atunci când se deplasează Sarcină de lucru Puneți-vă imaginația la contribuție și jucați-vă cum doriți voi cu roboții în aplicația recomandată sau în alte aplicații. Codul pentru algoritmi este foarte asemănător cu cele din Blockly și chiar Scratch. 87

Informatică și TIC pentru toți Exemplu de limbaj de programare: C++ Ce învățăm? Structura generală a limbajului de programare; Definirea de tipuri de variabile, constante; Citirea și afișarea datelor; Instrucțiuni pentru structuri lineare (cu operatori aritmetici sau alți operatori), structuri alternative și structuri repetitive; Exerciții simple în limbaj de programare. I. Structura generală 1. Directive preprocesare: C++ are în prim plan importul unor biblioteci de instrucțiuni (#include <…>, using namespace std – pentru evitarea declarării permanente std), etc. 2. Definire constante generice (valabile pentru toate funcțiile) și tipuri de date generice; 3. Limbajul utilizează una sau mai multe funcții. Principala funcție a limbajului C++ este main(), iar conținutul funcției se pune între două acolade: ”{}”. Funcția va determina la final un rezultat sau nu (void), iar în interiorul ei pot fi solicitate rezultatele și la alte funcții, cu sau fără returnare de rezultat. Funcția main() din exemplul din stânga va returna un număr întreg (int), va afișa ”Hello World” și va returna ca rezultat cifra 0. Pentru editare online, se pot folosi editoarele gratuite de la adresele: - https://www.onlinegdb.com/online_c++_compiler - http://cpp.sh/ Declarare variabile și constante Număr întreg int Exemplu: int a=1; int b=32766; Număr real float Exemplu: float a = 2,7, b=-38,5; pentru nr. foarte mari double Caracter char Exemplu: char a =”u”, b=”elev” Citirea și afișarea datelor Citire cin >> a Citește de la tastatură valoarea variabilei a Afișare cout << x Afișează valoarea variabilei/constantei x Exemple: cout << a; // se afiseaza valoarea variabilei a; cout << x << y; // se afiseaza valorile variabilelor x si y cout << x+y; // se afiseaza suma valorilor celor doua variabile x si y cout<< \"a\"; // se afiseaza litera a Comentarii Comentariile se pot introduce în pagina codului utilizând delimitatorii: /* comentariu */ sau după delimitatorii // (Se pot vedea comentariile și în exemplul de mai sus). 88

Informatică și TIC pentru toți Cuvinte cheie Trecerea la rândul următor Exemplu: cout<<a<<endl<<b; endl Dacă (if) o condiție pusă este Exemplu: adevărată atunci {...} în caz contrar – if (a>b) If(..condiție...) condiția este falsă – (else) – {…} {….} cout<<a+b; Cât timp (while) este adevărată else else condiția, atunci execută {…} instrucțiunile dintre acolade: {…} cout<<a*b; Execută instrucțiunile dintre while(..condiție...) acolade: {…}, apoi verifică dacă este Exemplu: {….} adevărată condiția și repetă cât while (a>b) timp condiția este adevărată. { a=a++;} do {….} Repetă până când valoarea din while(..condiție...) expresie1, modificată continuu Exemplu: conform expresie3, respectă do { a=a++;} for(..expresie1...; .. expresie2...; .. expresie3...) condiția din expresie2 while (a>b) {….} Exemplu: for(a=0;a<5;a++) {x=y+z;) Exemplu unui program simplu: Realizați un cod care să calculeze divizorii unui număr: Încearcă și tu câteva exerciții 1. Completează codul care să calculeză suma a două numere a și b, citite de la tastatură: 89

Informatică și TIC pentru toți 2. Completează codul care calculează dacă un număr a, citit de la tastatură, este un număr prim: 3. Realizează un cod care să afișeze rezultatul următorului calcul făcut cu două numere întregi: a și b, citite de la tastatură: suma celor două numere, înmulțită cu 10, rezultatul împărțit la 2, la rezultat se adaugă produsul dintre primul număr și 3. 4. Scrieți un cod care să repete de 15 ori următoarea adunare: a = a+4, unde a este un număr întreg citit de la tastatură. 5. Scrieți un cod care să repete calculul: x = 4+x-3, unde x este un număr întreg citit de la tastatură mai mic decât 5, cât timp x rămâne mai mic sau egal decât 12. În caz că numărul introdus de la tastatură este mai mare decât 5, atunci să afișeze textul: ”Numar introdus gresit!” 6. Se dă variabila de tip număr întreg 7, notată cu a. Scrie un cod care să calculeze a=a+1 atât timp cât variabila a este mai mică decât 15. 7. Se stabilesc 3 variabile: una de tip întreg cu valoarea 15, a doua un număr real cu valoarea 4,78, a treia o variabilă cu valoarea ”Rezultatul este: ”. Scrieți codul care să calculeze diferența celor două numere și să afișeze ultima variabilă urmată de rezultatul calculului. 8. Realizează într-un cod următoarele: Stabilește două variabile cu valoarea: 200 și 15,2. Repetă de 4 ori calcularea sumei celor două variabile și a rezultatului adunat cu suma anterior calculată. Afișează rezultatul. 9. Variabilei a i se atribuie valoarea numărul 16, variabilei b i se atribuie valoarea: ”Rezultat: ”, variabilei c i se atribuie valoarea numărului 25,654. Scrieți codul care să afișeze: ”Rezultat = ”, urmat re rezultatul formulei: (������ + ������) ∗ 2 − ������/4 + 11 − ������. 10. Completează elementele lipsă din următoarele corespondențe dintre blocul grafic și codul în limbaj de programare: Bloc grafic Cod Definire variabile (a și b de tip #include <iostream> integer – nr. întreg) using namespace std; int main() { int a,b,s; cout<<\"Introduceti primul numar: a=\"; 90

Informatică și TIC pentru toți cin>>a; cout<<\"Introduceti al doilea numar: b=\"; Citirea de la tastatură a celor două cin>>b; variabile: a și b s=a+b; cout<<\"Suma celor 2 numere este: \"<<s; Calcul ................................ return 0; ................................ } Întoarce 0 #include <iostream> Definire variabile (a și b de tip using namespace std; integer – nr. întreg) int main() { Citirea de la tastatură a celor două variabile: a și b } #include <iostream> Calcul media aritmetică a celor 2 using namespace std; numere (media de tip float) int main() Afișare rezultat { Întoarce 0 int a,b,s,d; Definire ................. cout<<\"Introduceti primul numar: a=\"; cin>>a; Dacă ................................ cout<<\"Introduceti al doilea numar: b=\"; cin>>b; Afișează ........... Afișează ........... if (a<b) Întoarce 0. { s=a+b; cout<<\"s=\"<<s; } else { d=a-b; cout<<\"d=\"<<d; } return 0; } 91

Informatică și TIC pentru toți Bonus... Printr-un algoritm sub formă de cod al limbajului de programare, să se calculeze perimetrul și aria unui:  pătrat, cunoscând lungimea laturii;  dreptunghi, cunoscând lungimile celor două laturi;  triunghi, cunoscând cele 3 laturi;  trapez, cunoscând lungimile laturilor și înălțimea;  cerc, cunoscând raza. Ioana dorește să facă o prăjitură. Pentru aceasta are nevoie de x grame faină, y grame zahăr, z ml lapte, p ouă, m kg mere. Știind ca prețul unui kg de faina este px, al unui kg de zahăr este py, litrul de lapte costă pz, kilogramul de mere costă pm si ouăle sunt pp lei/buc, sa se afle prețul ingredientelor prăjiturii Ioanei. Pentru aceasta realizați un cod într-un limbaj de programare și nu încercați să amestecați acasă ingredientele de mai sus că nu o să iasă ceva delicios... Calculați volumului unei porții de pizza într-un cod al limbajului de programare, dându-se următoarele date de intrare: const pi = 3,14, var z=12 cm (raza), var a=2 cm (înălțimea). Atenție pentru ridicarea la putere nu puteți folosi z2, ci z*z. Atenție la literele pe care le-ați scris în formula de calcul a volumului (v). 92

Informatică și TIC pentru toți Cuprins Recomandări parcurgere material .................................................................................................. 6 Scurtă istorie a sistemelor de calcul ................................................................................................ 9 Sisteme de calcul întâlnite în viața cotidiană .................................................................................. 12 Noțiunea de informație digitală ...................................................................................................... 15 Structura generală a unui sistem de calcul ..................................................................................... 18 Rolul componentelor hardware ale unui sistem de calcul .............................................................. 19 Dispozitive de intrare: exemple, mod de utilizare .......................................................................... 20 Dispozitive de prelucrare: exemple, mod de utilizare .................................................................... 24 Dispozitive de stocare – memorii externe: exemple, mod de utilizare .......................................... 29 Dispozitive de ieșire: exemple, mod de utilizare ............................................................................ 30 Dispozitive de intrare-ieșire: exemple, mod de utilizare ................................................................ 33 Sisteme de operare ........................................................................................................................ 39 Operații cu foldere și fișiere ........................................................................................................... 44 Rețeaua Internet ............................................................................................................................ 48 Servicii Internet, World Wide Web (www) ..................................................................................... 50 Despre browsere ............................................................................................................................. 53 Drepturi de autor ............................................................................................................................ 54 Confidențialitatea datelor cu caracter personal ............................................................................. 54 Siguranța pe Internet ...................................................................................................................... 55 Motoare de căutare ........................................................................................................................ 58 Poșta electronică – e-mail ............................................................................................................... 60 Algoritmul ....................................................................................................................................... 65 Operatori ........................................................................................................................................ 72 Scratch ............................................................................................................................................ 75 Exersare algoritmi în diverse aplicații online .................................................................................. 80 93

Informatică și TIC pentru toți Structura repetitivă condiționată anterior/posterior ..................................................................... 81 Structura repetitivă cu contor ........................................................................................................ 84 Generalități limbaj de programare ................................................................................................. 85 Controlarea, prin algoritmi, a unui robot educațional .................................................................... 86 Exemplu de limbaj de programare: C++ .......................................................................................... 88 94


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook