Algoritmi și structura programelor C++

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Ce reprezint un algoritm?

  • O grupare de declaraii i instruciuni ntre acolade.
  • O singur comand de baz transmis calculatorului.
  • O succesiune finit de pai realizai ntr-o ordine definit. (correct)
  • Un tip de dat C++ corect.

Programarea structurat implic utilizarea unui set extins de tipuri de structuri de control.

False (B)

Care dintre urmtoarele structuri NU este o structur de control fundamental conform teoremei lui Bohm i Jacopini?

  • Structura modular. (correct)
  • Structura alternativ.
  • Structura repetitiv.
  • Structura secvenial (liniar).

N C++, operaiile de intrare/ieire folosesc ______.

<p>fluxuri</p>
Signup and view all the answers

Care este semnificaia operatorului >> n C++?

<p>Operatorul extractor (folosit pentru citire). (D)</p>
Signup and view all the answers

Instruciunea compus (blocul) determin un domeniu de vizibilitate pentru identificatori.

<p>True (A)</p>
Signup and view all the answers

Ce operaie se utilizeaz pentru a schimba valorile a dou variabile ntre ele?

<p>interschimbare</p>
Signup and view all the answers

Ce se ntmpl dac o condiie if este fals i exist clauza else?

<p>Se execut instruciunile din blocul <code>else</code>. (C)</p>
Signup and view all the answers

Pentru a permite mai multe instruciuni pe fiecare ramur a unei instruciuni if, se utilizeaz o ______.

<p>instruciune compus</p>
Signup and view all the answers

Care este scopul principal al deschiderii unui fiier n C++?

<p>Pentru a putea citi sau scrie date n fiier. (D)</p>
Signup and view all the answers

Dup ce s-a terminat lucrul cu un fiier, nu este necesar s-l nchidem.

<p>False (B)</p>
Signup and view all the answers

Cum se realizeaz citirea datelor dintr-un fiier n C++?

<p><code>&lt;alias_fisier&gt; &gt;&gt; &lt;nume_var&gt;;</code> (C)</p>
Signup and view all the answers

Structurile repetitive mai sunt numite i ______ sau cicluri.

<p>bucle</p>
Signup and view all the answers

Care este diferena principal dintre o structur repetitiv cu numr cunoscut de pai i una cu numr necunoscut de pai?

<p>Structura cu numr cunoscut folosete instruciunea <code>for</code>, iar cea cu numr necunoscut folosete <code>while</code>. (C)</p>
Signup and view all the answers

N instruciunea while, corpul buclei se execut ntotdeauna cel puin o dat.

<p>False (B)</p>
Signup and view all the answers

Ce instruciune se folosete n C++ pentru a ntrerupe execuia unei structuri repetitive?

<p>break</p>
Signup and view all the answers

Care este efectul instruciunii continue ntr-o bucl?

<p>Trece la urmtoarea iteraie a buclei, fr a executa instruciunile rmase n iteraia curent. (D)</p>
Signup and view all the answers

Pentru a determina cel mai mare divizor comun a dou numere, se poate folosi algoritmul lui ______.

<p>Euclid</p>
Signup and view all the answers

Ce cod ASCII are spaiul?

<p>32 (B)</p>
Signup and view all the answers

Instruciunea switch poate fi utilizat cu expresii de orice tip de dat.

<p>False (B)</p>
Signup and view all the answers

Ce se ntmpl dac nu includem instruciunea break ntr-un caz al instruciunii switch?

<p>Se execut cazul urmtor, chiar dac expresia nu se potrivete cu valoarea acelui caz. (C)</p>
Signup and view all the answers

Care sunt cele dou categorii de caractere ce le putem gasi in codul ASCII?

<p>Caractere printabile &amp; Caractere neprintabile (C)</p>
Signup and view all the answers

Ce reprezinta '\0' in C++?

<p>caracter nul</p>
Signup and view all the answers

Cum se numesc structurile repetitive cu numr cunoscut de pai?

<p>iteraii (A)</p>
Signup and view all the answers

Programarea structurata reprezint un mod de concepere a programelor, cu set extins de tipuri de structuri de control.

<p>False (B)</p>
Signup and view all the answers

N C++, operaia de atribuire are sensul de la ______ la ______.

<p>dreapta, stnga</p>
Signup and view all the answers

Care din urmatoarele afirmatii despre if este adevarata?

<p>Permite cate o singura instructiune pe fiecare ramura (D)</p>
Signup and view all the answers

Ce nseamn ca declaram o variabila pe tipul int?

<p>Memoram valori intregi pe 4 octeti cu semn (C)</p>
Signup and view all the answers

Structura alternativa permite rezolvarea unor situatii de executare a unor instructiuni intr-un program

<p>True (A)</p>
Signup and view all the answers

Care e scopul folosirii structurilor repetitive?

<p>a repeta executia</p>
Signup and view all the answers

Care dintre urmatoarele tipuri de date nu face parte din datele intregi?

<p>float (C)</p>
Signup and view all the answers

Care sunt operatorii logici?

<p>! , || , &amp;&amp; (C)</p>
Signup and view all the answers

Asociai tipurile ntregi cu numrul de octei pe care le ocup n memorie:

<p>short int = 2 octei int = 4 octei long long int = 8 octei char = 1 octet</p>
Signup and view all the answers

Ce valoare va avea variabila r dupa executarea urmatoarelor: int a = 16, b = 5, r = a % b?

<p>1 (D)</p>
Signup and view all the answers

Se va realiza impartirea intreaga daca operanzii sunt de tip real.

<p>False (B)</p>
Signup and view all the answers

Care-i diferenta dintre citirea datelor in fisier cu <alias_fisier> >> nume_var Si scrierea datelor in fisier cu <alias_fisier> << nume_var

<p>citirea citeste iar scrierea plaseaza</p>
Signup and view all the answers

Flashcards

Algoritm

O succesiune finită de pași, realizați într-o ordine bine definită, pentru ca, pornind de la anumite date cunoscute, să obţinem rezultatele dorite.

Structura liniară

Permite executarea unei secvențe de instrucțiuni în ordinea în care apar.

Structura alternativă

Permite alegerea între două sau mai multe alternative, bazată pe o condiție.

Structura repetitivă

Permite repetarea unei secvențe de instrucțiuni de un număr specificat de ori sau până când o condiție devine falsă.

Signup and view all the flashcards

Instrucţiunea compusă (Blocul)

O grupare de declarații și instrucțiuni închise între acolade. Ele au fost introduse cu scopul de a folosi mai multe instrucţiuni acolo unde sintaxa cere o singură instrucţiune.

Signup and view all the flashcards

Interschimbarea valorilor

Schimbă valorile a două variabile: valoarea din prima variabilă ajunge în a doua, iar valoarea din a doua variabilă ajunge în prima.

Signup and view all the flashcards

Instrucțiunea switch

Analizează o expresie și, în funcție de valoarea ei, execută grupul de instrucțiuni corespunzător.

Signup and view all the flashcards

Valoare absolută

Valoarea absolută a diferenței a două numere. Această valoare este întotdeauna pozitivă.

Signup and view all the flashcards

Instrucțiune

Este o comandă prin care îi transmitem calculatorului să facă o singură acțiune sau operație.

Signup and view all the flashcards

Programarea structurată

Este un mod de concepere a programelor potrivit unor reguli bine stabilite, utilizându-se un set redus de tipuri de structuri de control.

Signup and view all the flashcards

Instrucțiunea compusă

Este echivalentă sintactic cu o singură instrucțiune, permițând gruparea logică a mai multor instrucțiuni.

Signup and view all the flashcards

Deschiderea fișierelor

Deschide un fișier pentru citire sau scriere. Trebuie menționat numele fișierului și modul (citire/scriere).

Signup and view all the flashcards

Închiderea fișierelor

Închide un fișier după ce operațiile de intrare/ieșire au fost finalizate. Este important pentru a salva modificările și a elibera resursele.

Signup and view all the flashcards

Citirea din fișiere

Permite citirea datelor din fișier într-o variabilă. Se folosește >> pentru a extrage datele.

Signup and view all the flashcards

Scrierea în fișiere

Permite scrierea datelor într-un fișier. Se folosește << pentru a insera datele.

Signup and view all the flashcards

Instrucțiunea while

Repetă o secvență de instrucțiuni cât timp o anumită condiție este adevărată (test inițial).

Signup and view all the flashcards

Instrucțiunea for

Repetă o secvență de instrucțiuni de un număr specificat de ori. Utile pentru iterare.

Signup and view all the flashcards

Instrucțiunea break

Întrerupe execuția unei structuri repetitive (while, for) sau a unui switch şi trece la următoarea instrucțiune după structură.

Signup and view all the flashcards

Instrucțiunea continue

Întrerupe iterația curentă a unei structuri repetitive (while, for) şi trece la următoarea iterație.

Signup and view all the flashcards

Tipul logic (bool)

Un tip de dată care poate lua doar două valori: adevărat (true) sau fals (false).

Signup and view all the flashcards

Study Notes

Algoritmul

  • O instrucțiune este o comandă de bază care transmite calculatorului o singură acțiune sau operație.
  • Un algoritm este obținut prin combinarea mai multor instrucțiuni.
  • Algoritmul este o succesiune finită de pași, realizați într-o ordine bine definită, pentru a obține rezultatele dorite pornind de la datele de intrare.
  • Programarea structurată reprezintă un mod de concepere a programelor după reguli bine stabilite, folosind un set redus de tipuri de structuri de control.
  • Teorema lui Bohm și Jacopini: orice algoritm este compus din structura secvențială, structura alternativă și structura repetitivă.
  • Structura unui program C++ include declararea headerelor, utilizarea namespace-ului std, declararea variabilelor globale, programul principal (int main()), declararea variabilelor locale, instrucțiunile programului și return 0.

Structura liniară

  • Structura liniară reprezintă un grup de operații sau instrucțiuni executate în ordinea scrierii lor.
  • O instrucțiune declarativă declară identificatori (variabile) de un anumit tip (de exemplu, int x, y, z;).
  • Sintaxa instrucțiunii declarativă este tip_de_date lista_variabile;.
  • Instrucțiunile de citire introduc valori în variabile de la tastatură sau din fișier (cin >> variabilă;).
  • Instrucțiunile de scriere afișează valorile variabilelor pe ecran sau în fișier (cout << variabilă;).
  • Operanzi de intrare/ieșire includ cout, cin, și variabile, iar operatorii inserator (<<) și extractor (>>) sunt folosiți.
  • Instrucțiunea de atribuire atribuie o valoare unei variabile (variabilă = expresie;, de exemplu, x = 2;).
  • Operația de atribuire are sensul de la dreapta la stânga.
  • Instrucțiunea compusă (blocul) grupează declarații și instrucțiuni între acolade {}.
  • Blocurile controlează vizibilitatea variabilelor.
  • Pentru a interschimba valorile a două variabile, este nevoie de o a treia variabilă auxiliară.

Structura alternativă

  • Structura alternativă permite executarea instrucțiunilor doar în anumite condiții.
  • Instrucțiunea if este cea mai utilizată structură alternativă.
  • Sintaxa instrucțiunii if:
    • Forma 1: if (condiție) { Instrucțiuni_1; } else { Instrucțiuni_2; }
    • Forma 2: if (condiție) { Instrucțiuni; }
  • Instrucțiunea if evaluează condiția.
    • Dacă valoarea este adevărată, se execută Instrucțiuni_1 (în Forma 1) sau Instrucțiuni (în Forma 2).
    • Dacă valoarea este falsă și există clauza else, se execută Instrucțiuni_2.

Fişiere

  • Pentru a opera cu un fișier, acesta trebuie deschis.
  • Pentru a deschide un fișier în vederea citirii de date(intrare): ifstream <alias_fisier>("<nume_fisier>");
  • Pentru a deschide un fișier în vederea scrierii de date (ieșire): ofstream <alias_fisier>("<nume_fisier>");
  • Variabila alias_fisier reprezintă numele prin care fișierul este identificat în program.
  • Variabila nume_fisier reprezintă numele fizic al fișierului pe disc.
  • După ce operațiile de intrare/ieșire cu fișierele utilizate se încheie, acestea trebuie închise, înainte de ieșirea din program (<alias_fisier>.close();).
  • Citirea datelor din fișier se realizează cu sintaxa: <alias_fisier> >> <nume_var>;
  • Scrierea datelor în fișier se realizează cu sintaxa: <alias_fisier> << <nume_var>;

Structuri repetitive

  • Structurile repetitive execută o instrucțiune de un anumit număr de ori sau cât timp o condiție este adevărată (bucle sau cicluri).
  • Structurile repetitive pot avea număr cunoscut de pași (iterații) sau număr necunoscut de pași (iterații).
  • Structurile repetitive cu număr necunoscut de pași pot fi cu test inițial sau cu test final.
  • Instrucțiunea executată repetat este corpul structurii repetitive (corp al ciclului sau al buclei).

Instrucțiuneawhile

  • Instrucțiunea while este o structură repetitivă cu număr necunoscut de pași și test inițial.
  • Sintaxa: while (expresie) { Instrucțiuni; }
  • Instrucțiunea while evaluează expresie.
    • Dacă expresie este adevărată, se execută Instrucțiuni și se reia evaluarea.
    • Dacă expresie este nulă, se iese din while.
  • Corpul while se execută cât timp expresie este nenulă, și poate fi o instrucțiune simplă sau compusă.
  • Este necesar ca cel puțin o variabilă din expresie să se modifice în Instrucțiuni pentru a evita o buclă infinită.

Algoritmi elementari

  • Pentru a calcula suma cifrelor unui număr natural, se extrage ultima cifră, se adaugă la sumă și se taie ultima cifră din număr.
  • Pentru a afla prima cifră a unui număr natural, se taie ultima cifră până când numărul ajunge la o singură cifră.
  • Pentru a determina inversul unui număr (oglinditul), se construiește inversul pornind de la ultima cifră.
  • Pentru a verifica dacă un număr este palindrom, se răstoarnă numărul (sau doar jumătate din el) și se compară cu originalul.
  • Pentru a modifica un număr natural, mărind fiecare cifră pară cu o unitate, se determină cifrele numărului și se construiește rezultatul.
  • Pentru a elimina cifrele cu o anumită proprietate dintr-un număr, se construiește un nou număr.
  • Pentru a descompune un număr în factori primi, se testează divizibilitatea cu toți divizorii.
  • Cel mai mare divizor comun a două numere se poate determina folosind algoritmul lui Euclid.
  • Numărul minim de bucăți de gresie necesare pentru pavarea unei încăperi dreptunghiulare se obține împărțind dimensiunile la dimensiunea plăcilor (rotunjind în sus dacă e necesar).

Instructiunea for

  • Instructiunea for este o structura repetitiva.
  • Aceasta se foloseste pentru a repeta operatii de un numar cunoscut de ori.
  • Sintaxa: for (contor = expresie_initiala; contor<= expresie_finala; contor=contor+pas) {instructiuni;}
  • break intrerupe executia instructiunii repetitive, și trece la urmatoarea instructiune.
  • continue Ignora intructiunile, corpulu ciclu si revine la evaluarea expressiei respective.

Secvenţe sau şiruri de numere

  • In analiza secventelor de numere, pot fi folositi algoritmi elementari.
  • Maxx se initializeaza primul element al șirului nu cu valoarea zero.

Lucrul cu Caractere

  • Caracterele se memoreaza sub forma de numere, reprezentate in baza 2.
  • Codul ASCII atribuie un numar fiecărui caracter.
  • Caracterele ASCII se impart in doua categorii: Imprimabile si neimprimabile.
  • Literele mari și literele mici sunt diferite – au coduri ASCII diferite.
  • Codurile ASCII ale literelor mari (sau mici) sunt în ordine.
  • Diferență între codurile ASCII a două litere (mică – mare) este 32.
  • Cifrele au coduri consecutive, Observăm că caracterul '0' nu are codul ASCII 0, ci 48.
  • Spațiul are codul ASCII 32.

Instructiunea switch

  • Permite executarea unor instrucțiuni, în funcție de egalitatea unei expresii cu anumite valori numerice constante.
  • Valorile din clauzele case trebuie să fie constante întregi.
  • Prezenţă instrucţiunii break; nu este obligatorie, dar lipsa ei modifică modul de execuţie al instrucţiunii.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser