SlideShare a Scribd company logo
1 of 25
Download to read offline
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
"Fiecare greşeală este o ocazie de a învăţa. Totul este să nu comiţi aceeaşi
greşeală în mod repetat - ar fi o prostie. Însă comite cât mai multe greşeli
noi de care eşti în stare; nu trebuie să-ti fie teamă, căci acesta este singurul
mod în care natura îţi permite să înveţi."
OSHO
Clasa a V - a
Etapele de rezolvare a unei probleme
1
2
3
Fișă de lucru – Tipuri de date, operatori, expresii
1. Care dintre următoarele valori fac parte din tipul întreg:
Valoarea DA sau NU
23.0
-4321
-24.0
+1234
12345
0.0
2. Care dintre următoarele operații au ca rezultat valori din tipul întreg sau
real?(Operatorul [ ] desemnează partea întreagă, iar operatorul mod
desemnează restul la împărțirea întreagă):
Valoarea DA sau NU
3 <> 4
[10.235]
not (5>6)
2 mod 10
10.01 <14.6
√𝟏𝟏𝟏𝟏. 𝟎𝟎 + 𝟔𝟔
3. Care dintre următoarele operații au ca rezultat valoarea true știind că
variabilele întregi a și b au valorile a=23 și b=50.
Valoarea Adevărat sau fals
a < > b
a > b
b < = a
b > = a
4. Care este valoarea expresiei: 20 div 10 * 2 + 30 div 15 * 2
a) 2
b) 0
c) 8
d) 4
5. Care este valoarea expresiei: 4000 div 10 div 10 * 2 + 4 *10 *10 div 2
a) 400.0
b) 280.0
c) 240.0
d) 220.0
6. Se dau următoarele secvențe de atribuire:
(S1) 𝑎𝑎 ← 1; 𝑏𝑏 ← 2; 𝑐𝑐 ← 3; 𝑑𝑑 ← 4
(S2) 𝑎𝑎 ← 𝑏𝑏; 𝑏𝑏 ← 𝑐𝑐; 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎
(S3) 𝑏𝑏 ← 𝑐𝑐; 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎; 𝑎𝑎 ← 𝑏𝑏
(S4) 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎; 𝑎𝑎 ← 𝑏𝑏; 𝑏𝑏 ← 𝑐𝑐
Să se precizeze valorile variabilelor de memorie a, b, c și d obținute în urma
executării operațiilor de atribuire, în ordine:
a) S1; S2; S3
b) S1; S3; S2
c) S1; S2; S2; S3
d) S1; S2; S3; S4
4
7. Dacă într-un algoritm există variabilele a de tip caracter, b, i, j, k, l, m de tip
întreg și c de tip logic și se atribuie acestor date următoarele valori inițiale:
𝑎𝑎 ←′
4′
𝑏𝑏 ← 8 𝑐𝑐 ← 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 ← 4 𝑗𝑗 ← 6 𝑘𝑘 ← 8 𝑙𝑙 ← 1 𝑚𝑚 ← 10
evaluați următoarele expresii:
Expresia Rezultat Expresia Rezultat
(b>15) or c i – j + k – l + m
a>=’0’ and a<=’9’ 3 * j mod m - i
not c or (a=’a’) (i+j) div (m-j)
(k>b) and c (j + (m – l * (j + i)) – k) + 5
i + j * l - m j * j – I - k
8. Completați tabelul de mai jos:
a b not a not b not a and not b (a and b) or a
T T
T F
F T
F F
9. Pentru a testa ultima cifră a unui număr întreg n, aceasta se extrage cu
expresia 𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏 (restul împărțirii numărului la 10). De
exemplu, pentru a testa dacă ultima cifră a unui număr n este 2 se folosește
condiția 𝒄𝒄 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏 = 𝟐𝟐. Scrieți condiția prin care testați dacă ultima
cifră a unui număr n este:
Condiția
3 sau 5
diferită de 3 și de 5
pară
Impară
multiplu de 3
multiplu de 3 sau de 5
10. Variabila x are valoarea 3.Care dintre următoarele operații de atribuire
permite ca variabila x să își modifice valoarea din 3 în 0?
a)𝒙𝒙 ← 𝒙𝒙 − 𝟏𝟏𝟏𝟏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟒𝟒
b) 𝒙𝒙 ← (𝒙𝒙 − 𝟏𝟏) + 𝟑𝟑
c) 𝒙𝒙 ← 𝟐𝟐 ∗ 𝒙𝒙 − 𝟔𝟔
d) 𝒙𝒙 ← 𝟐𝟐 + 𝟓𝟓 𝒎𝒎𝒎𝒎𝒎𝒎 𝟐𝟐
11. Care sunt valorile variabilelor reale x și y după executarea instrucțiunilor
următoare:
𝒙𝒙 ← 𝟐𝟐𝟐𝟐. 𝟓𝟓𝟓𝟓
𝒚𝒚 ← [𝒙𝒙] + 𝟖𝟖
𝒙𝒙 ← 𝟐𝟐 ∗ 𝒙𝒙
𝒚𝒚 ← 𝒚𝒚 + 𝒙𝒙
12. Care dintre următoarele expresii determină inserarea cifrei 7 în faţa ultimei
cifre a unui număr natural, cu mai mult de 2 cifre, memorat în variabila x?
a. x←(x div 10 *10 + 7) * 10 + x mod 10
b. x←x div 10 + 7 + x mod 10
c. x←(x mod 10 * 10 + 7 )* 10 + x div 10
d. x←(x div 10 + 7) * 10 + x mod 10
13. Care dintre următoarele expresii determină eliminarea cifrei din mijloc a unui
număr natural, cu exact 5 cifre, memorat în variabila x?
a. x ← x div 1000 * 100 + x mod 100
b. x ← x mod 1000 * 100 + x div 100
c. x ← x div 100 * 100 + x mod 100
d. x ← x div 1000 + x mod 100
14. Se consideră variabila a care memorează un număr cu exact 6 cifre. Scrieți o
expresie care memorează în variabila b numărul format din cele două cifre
din mijloc ale valorii memorate în a?
5
Algoritmi: caracteristici, reprezentare, implementare
Reprezentarea algoritmilor: Scheme logice. Limbaj pseudocod.
Reprezentarea algoritmilor
După etapa de analiză a problemei în care s-au stabilit datele de intrare şi cele de ieşire,
urmează etapa de elaborare a algoritmului. Acesta trebuie reprezentat într-un mod inteligibil.
Este deci necesară utilizarea unui limbaj comun de repezentare a algoritmilor, dând apoi
posibilitatea fiecarui programator să “traducă” algoritmul în ce limbaj de programare doreşte.
Există două modalităţi de reprezentare a algoritimilor: schemele logice şi limbajul
pseudocod.
Schemele logice reprezintă un algoritm în mod grafic, folosind blocuri diferite pentru operaţii
diferite. Această metodă are unele dezavantaje: schemele sunt stufoase, greu de urmărit. În
tabelul urmator prezentăm tipurile de blocuri folosite în reprezentarea algoritmilor. Schemele
logice sunt mai utile celor care abia învaţă să programeze şi deci sunt în faza de formare a
gândirii algoritmice.
Recomandare - la scrierea schemelor logice scrieți mai întâi conţinutul blocului şi apoi desenați
blocul corespunzător.
Blocurile specifice schemelor logice
SIMBOL DENUMIRE SEMNIFICAŢIE
Bloc terminal Marchează începutul
algoritmului
Bloc terminal Marchează sfârşitul
algoritmului
Bloc de intrare / citire
a datelor de intrare
Se face transferul de
date de la utilizator
către algoritm
Bloc de ieşire / scriere
a datelor de ieşire
Se face transferul de
date către utilizator
START
STOP
Citeşte a,b
Scrie a,b
6
Bloc de atribuire Variabilei x i se atribuie
valoarea expresiei
Bloc de decizie în care
se evaluează condiţia
obţinându-se o valoare
logică “Adevarat” sau
“Fals”
Dacă condiţia este
adevărată se execută
ramura “DA”, altfel se
execută ramura “NU”
Bloc conector logic Conectează mai multe
puncte din algoritm
Limbajul Pseudocod
Limbajul pseudocod este un ansamblu de convenţii (codificări) care definesc operaţiile (instrucţiunile)
permise pentru reprezentarea algoritmilor. Respectand aceste convenţii, chiar în forme diferite, algoritmii
reprezentaţi în pseudocod pot fi citiţi de orice persoană, indiferent că este sau nu programator.
Limbajul pseudocod nu respectă o sintaxa anume, nu are un standard. Sunt doar nişte convenţii pe care
trebuie să le respectăm atunci când reprezentăm un algoritm. Instructiunile se pot scrie în limba engleză
sau în limba română.
În pseudocod putem scrie declarări de variabile, specificând numele şi tipul lor. Pe lângă declaraţiile de
variabile, limbajul pseudocod conţine cuvinte cheie, instrucţiuni (început, sfârşit, intrare/ieşire, atribuire,
decizie, selecţie, repetitive), proceduri/funcţii.
Corespondenţa între instrucţiunile pseudocod şi blocurile din schemele logice.
INSTRUCŢIUNE
PSEUDOCOD DENUMIRE
SIMBOL SCHEMĂ
LOGICĂ
a, b, c intregi
x,z reale
Declaratii de variabile -
Citeşte a,b Citirea datelor de intrare
Scrie a,b Scrierea datelor de ieşire
x ← expresie
Condiție
DANU
Citeştea,b
Scrie a,b
7
x ← 10
a ← a+1
Instrucţiune de atribuire
┌dacă c atunci
| execută a
|altfel
| execută b
|▄
Instrucţiune de decizie în
care se evaluează condiţia
obţinându-se o valoare
logică “Adevarat” sau “Fals”
Problemă rezolvată
Se citesc de la tastatură 2 numere reale L și l care reprezintă lungimea și lățimea unui
dreptunghi. Să se calculeze și să se afișeze pe ecran perimetrul și aria dreptunghiului.
Date de intrare Tipul datei Date de ieșire Tipul datei
L - lungimea real A - aria real
l - lățimea real P - perimetrul real
Algoritmul în pseudocod Schema logică
real L, l, P,A;
început
citește L, l;
P← 2*L + 2*l;
A← L * l;
scrie P, A;
sfârșit
x ← expresie
Condiție
DANU
START
CITEȘTE L, l
P← 2*L + 2*l
SCRIE P, A
𝐴𝐴 ← L* l
STOP
8
Fișă de lucru
Scheme logice, pseudocod
1. Se consideră schema logică de mai jos: 1. Ce valori vor fi afișate dacă a=3?
2. Scrieți algoritmul în limbajul pseudocod.
3. Identificați simbolurile grafice din
organigrama alăturată și completați tabelul de
mai jos:
2. Se consideră schema logică de mai
jos:
1. Ce valori vor fi afișate dacă x=10234?
2. Dați un exemplu de valoare pentru
variabila x astfel încât algoritmul să afișeze
valorile 42 și 6.
3. Realizați un enunț de problemă a cărei
rezolvare este algoritmul prezentat.
4. Scrieți algoritmul în limbajul
pseudocod.
Simbol Ce reprezintă?
START
Citește a
b← 𝑎𝑎 ∗ 𝑎𝑎 ∗ 𝑎𝑎
c← (𝑎𝑎 ∗ 𝑏𝑏) + 𝑏𝑏
𝑑𝑑 ← (𝑐𝑐 𝑑𝑑𝑑𝑑𝑑𝑑 10) + 𝑏𝑏 𝑚𝑚𝑚𝑚𝑚𝑚 100
scrie a,b,c,d
STOP
START
Citește x
y← 𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 100
z← 𝑥𝑥 𝑑𝑑𝑑𝑑𝑑𝑑 10 𝑚𝑚𝑚𝑚𝑚𝑚 10 + 𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 10
Scrie y, z
STOP
9
3. Se consideră următorul algoritm reprezentat sub forma unei organigrame.
a. Ce valoare se va afișa pentru a=2345? Dar pentru a=70189?
b. Scrieți algoritmul în limbajul pseudocod.
c. Realizați un enunț de problemă a cărei rezolvare este algoritmul prezentat.
4. Se consideră următorul algoritm descris în pseudocod.
a. Ce valoare se va afișa pentru n=1234?
b. Realizați un enunț de problemă a cărei rezolvare este algoritmul prezentat.
c. Scrieți un algoritm echivalent folosind pentru reprezentarea acțiunilor simboluri grafice.
d. Dați un exemplu de valoare pentru variabila n astfel încât algoritmul să afișeze valorile 3,3,3.
DANU
START
Citește a
a← 𝑎𝑎 − 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚 100
a mod 100<50
a← 𝑎𝑎 + 100 − 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚 100
Scrie a
STOP
întreg n(număr natural de exact 4 cifre), m, s, z, u;
început
citește n;
𝒖𝒖 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏;
𝒛𝒛 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏;
𝒔𝒔 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏𝟏𝟏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏;
𝒎𝒎 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏;
scrie m, s;
scrie u*z;
sfârșit.
10
5. Se consideră următorul algoritm descris în pseudocod.
a)Ce mesaj va fi afișat pentru a=2, b=6, c=-10? Dar pentru a=1, b=3 și c=10?
b)Scrieți un algoritm echivalent folosind pentru reprezentarea acțiunilor simboluri grafice.
c)Rescrieți algoritmul, folosind o singură instrucțiune de decizie, astfel încât să verifice în mod
corect dacă cele trei valori ale datelor de intrare sunt pozitive.
6. Se consideră următorul algoritm descris în pseudocod.
a) Ce valori vor fi afișate dacă a=34 și b=2? Dar dacă a=24 și b=-2?
b) Dați un exemplu pentru datele de intrare astfel încât algoritmul să afișeze la final două
valori egale.
c) Dați exemplu de valori pentru a și b astfel încât să fie afișată o pereche de valori pare
ordonate crescător.
întreg a, b, c;
început
citește a, b, c;
dacă a*b < 0 atunci
scrie “Există număr negativ”;
altfel
dacă b*c < 0 atunci
scrie “Există număr negativ”;
altfel
scrie “Numere pozitive”;
sfârșit.
întreg a, b, c,d
început
citește a, b;
𝒄𝒄 ← 𝒂𝒂 + 𝒃𝒃
𝒅𝒅 ← 𝒂𝒂 ∗ 𝒃𝒃
dacă c>d atunci
interschimbă c cu d
dacă a mod 2 = 0 atunci
scrie c,d;
altfel
scrie d,c;
sfârșit.
11
7. Scrieți câte un algoritm pentru rezolvarea următoarelor expresii:
8. Se citeşte de la tastatură un număr natural n, să se afişeze dacă este par sau impar.
9. Se citeşte de la tastatură un număr n, să se afişeze dacă este pozitiv sau negativ.
10. Se citeşte de la tastatură un număr n, să se afişeze dacă este pozitiv, negativ sau nul.
11. Se citesc de la tastatură trei numere, să se afişeze cel mai mare.
12. Se citesc de la tastatură trei numere, să se ordoneze crescător.
13. Să se scrie condiţia ca un număr să aparţină intervalului (4,13].
14. Să se scrie condiţia ca un număr să NU aparţină intervalului (4,13].
15. Să se scrie condiţia ca un număr să aparţină intervalului [a,b).
16. Scrieți un algoritm care verifică dacă un număr este impar și afișează în caz afirmativ suma dintre
cifra zecilor și cifra unităților. În situația când numărul citit este par se va afișa mesajul “Număr
par”.
17. Se citește de la tastatură o valoare naturală x(x>10). Dacă valoarea citită are cifra unităților egală
cu cifra zecilor se vor afișa primele două numere naturale mai mari decât valoarea x. În caz contrar
se va afișa cifra maximă dintre cifra zecilor și a unităților.
Exemplu: Pentru x=3455 se va afișa 3456 3457
Pentru x=3485 se va afișa 8.
18. Se citește o valoare x număr natural. Să se scrie un algoritm care va afișa cele mai apropiate două
numere pare de numărul x. Exemplu: Pentru x=14 se va afișa 12 și 16
Pentru x=15 se va afișa 14 și 16.
19. Fie x număr natural. Să se determine ultima cifră a lui 2x
(doi la puterea x).
20. Se citește de la tastatură un număr natural n cu exact 4 cifre. Să se verifice dacă numărul este:
 Echilibrat - spunem că un număr este echilibrat dacă numărul de cifre pare este egal cu
numărul de cifre impare.
 Pitic - spunem că un număr este pitic dacă toate cifrele sunt mai mici decât 4.
 Generos - spunem că un număr este generos dacă suma cifrelor lui e mai mare decat n+2.
 Pătrat perfect – numim pătrat perfect orice număr natural care se poate scrie ca puterea
a doua a altui număr natural.
 Corect - spunem că un număr este corect dacă suma şi produsul cifrelor sunt pătrate
perfecte.





>−+
<==<+
<−
=
50,532
5010,23
10,5
2
2
xxx
xdacăx
xdacăx
E





>+
<==<−
<
=
10,3
100,2
0,*5
xx
xdacăx
xdacăx
E



>=−
<−
=
0,2
0,1*3
xdacăx
xdacăx
E



−
≠+
=
altfelyxz
zxdacăzxyx
E
),,*2max(
),,*min(
12
Probleme propuse
Folosind schema logică și limbajul pseudocod rezolvați problemele de mai jos:
1. Într-un autobuz care pleacă în excursie sunt 7 copii. De la încă două şcoli urcă alţi copii,
numărul acestora citindu-se de la tastatură. Câţi copii au plecat în excursie? Identificaţi
datele de intrare şi de ieşire.
2. Un brăduţ este împodobit cu globuleţe albe, roşii şi albastre. Numărul globuleţelor albe
se citeşte de la tastatură. Câte globuleţe are brăduţul , ştiind că numărul de globuleţe
roşii este cu 3 mai mare decât numărul de globuleţe albe, iar numărul de globuleţe
albastre este cu 2 mai puţin decât totalul celor albe şi roşii? Identificaţi datele de intrare
şi de ieşire.
3. Un pătrat și un dreptunghi au același perimetru. Lățimea și lungimea dreptunghiului se
citesc de la tastatură. Știind că lungimea dreptunghiului este de 7 ori mai mare decât
lățimea aflați lungimea laturii pătratului? Identificaţi datele de intrare şi de ieşire.
4. Se citește de la tastatură un număr natural x format din exact trei cifre. Să se calculeze
suma cifrelor numărului citit. De exemplu, x=234, pe ecran se va afișa 9(2+3+4).
5. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi care
afişează numărul obţinut prin eliminarea cifrei sutelor. Modificaţi programul, astfel încât,
să afişeze numărul obţinut prin eliminarea cifrei zecilor.
6. Se citeşte un număr natural care reprezintă timpul exprimat în minute. Scrieţi programul
care afişează timpul exprimat în ore şi secunde.
13
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
NOȚIUNI TEORETICE DESPRE LIMBAJUL C++ - PREZENTARE GENERALĂ
Prin programare se înţelege în mod generic transpunerea unor operaţii repetitive, asupra unui
set de date, într-un limbaj inteligibil de către un sistem de calcul care urmează ulterior să le
execute.
Acest lucru este realizat în două etape:
 o etapă în care este implicat omul şi anume cea de trecere de la problema reală la
transpunerea într-un limbaj de programare.
 o a doua etapă, automată, care transpune codul sursă (înşiruirea de instrucţiuni
specifice limbajului respectiv) într-un cod direct executabil (inteligibil sistemului de
calcul) lucru de care se ocupă programe specializate numite compilatoare.
Atunci când scriem un program într-un anumit limbaj de programare trebuie să luăm în
considerare următoarele:
 declararea, scrierea și citirea setului de date de intrare (cele care trebuie să fie
prelucrate);
 să execute asupra lor suita standard de operaţiuni;
 şi să livreze datele de ieşire (adică rezultatele).
Un program scris în limbajul C++ este compus din unul sau mai multe fişiere sursă. Un fişier
sursă este un fişier text care conţine codul sursă al unui program. Fiecare fişier sursă conţine
una sau mai multe funcţii şi eventual, referinţe către unul sau mai fişiere header. Funcţia
principală a unui program este numită main.
Exemplu
//fisierul header iostream pentru operatiile de scriere si citire
#include <iostream>
/*fisierul header cmath folosit pentru a apela
functii matematice */
#include <cmath>
using namespace std;
//functia principala main care poate apela alte functii
int main()
{
//partea declarativa-variabila a de tip intreg
int a;
//si variabila b de tip real
float b;
//scrierea lui a - apare pe ecran a=
cout<<"a=";
//citirea lui a de la tastatura
cin>>a;
//instructiune
b=sqrt(a);
//afisarea pe ecran a valorii variabilei b
cout<<"Valoarea lui b este "<<b<<".";
}
INFORMATICĂ – clasa a V-a
14
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
ELEMENTELE DE BAZĂ ALE LIMBAJULUI C++
Vocabularul limbajului
a)Setul de caractere
Setul de caractere reprezintă ansamblul de caractere cu ajutorul cărora se poate realiza un
program C++. Acesta este alcătuit din:
 litere mari și mici ale alfabetului englez(A-Z,a-z);
 cifrele sistemului de numerație în baza 10(0-9);
 caractere speciale(+,-,/,=,%,<,>,:,;,#,$,@,blank(spațiu)).
b)Identificatori. Cuvinte cheie
Identificatorul este o succesiune de litere, cifre sau caracterul special underscor(_) din
care prima nu trebuie să fie cifră. Cu ajutorul identificatorilor se asociază nume constantelor,
variabilelor, funcțiilor, etc. Exemple de identificatori: a, c1, contor_cifre, etc.
Limbajul C++, ca orice limbaj de programare, este compus din câteva denumiri(identificatori)
cu o semnificaţie bine stabilită, numite cuvinte cheie.
Observaţie: când alegeţi denumiri de variabile pentru programe să nu utilizaţi aceste denumiri.
auto break case char const continue default do
double else enum extern float for goto if
int long register return short signed sizeof static
struct switch typedef union unsigned void volatile while
bool catch class delete namespace inline new operator
private this using template virtual mutable cin cout
c)Comentarii
Un comentariu, în limbajul C++, începe cu semnul //comentariu - pentru a scrie un comentariu
pe o singură linie – sau cu semnul /* comentariu */ - pentru a scrie un comentariu pe mai multe
linii. Comentariile nu au niciun efect asupra comportamentului programului. Programatorul poate
să le folosească pentru a include explicaţii scurte sau observaţii asupra codului sursă.
Scrierea și citirea în limbajul C++
Pentru a realiza scrieri pe ecran se folosește fluxul cout<<. Cuvântul cheie cout este acronimul
de la console output și se mai numește - stream de ieșire. Forma generală a acestui stream este
cout<<a<<b<<c<<……<<n;
Pentru a realiza citiri de la tastatură se folosește fluxul cin>>. Cuvântul cheie cin este
acronimul de la console input și se mai numește stream de intrare. Forma generală a acestui
stream este cin>>a>>b>>……>>n;
Aplicație
Click aici Exemplu și identifică în program operațiile de scriere și citire. Folosind un mediu de
dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++,
Dev C++) urmărește execuția programului de mai jos.
INFORMATICĂ – clasa a V-a
15
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
#include <iostream>
using namespace std;
int main()
{
int x,y,z;
cout<<"Introduceti valoarea lui x:";cin>>x;
cout<<"Introduceti valoarea lui y:";cin>>y;
z=x+y;
cout<<"Suma celor doua numere este "<<z<<endl;
z=x*y;
cout<<"Produsul celor doua numere este "<<z<<endl;
z=x/y;
cout<<"Catul impartirii celor doua numere este "<<z<<endl;
z=x%y;
cout<<"Restul impartirii celor doua numere este "<<z;
}
Tipuri de date, constante, variabile
a)Tipuri de date
Un tip de date specifică (precizează):
 mulţimea de valori pe care variabila respectivă le poate lua
 cât şi setul de operaţii pe care programatorul le poate efectua cu acea variabilă.
TIP CARACTERISTICI
CHAR reţine un singur caracter Exemple: ‘A’,’a’,’%’, etc.
INT reţine numere întregi cu semn Exemple: 23,-45,0, etc.
FLOAT reţine numere reale în format cu virgulă mobilă, în simplă precizie
Exemple: 7.8965, -4.123, 7.0, etc.
DOUBLE reţine numere reale în format cu virgulă mobilă, în dublă precizie
Exemple: 7.8965, -4.123, 7.0, etc. (se utilizează când se prelucrează
numere foarte mari sau foarte mici)
VOID tip de date special care nu specifică un anumit set de valori iniţial, dar
care poate fi specificat ulterior declarării.
Modificatorii de tip. Limbajul C++ oferă pe lîngă cele 5 tipuri de bază prezentate mai sus, un
set de modificatori de tip:unsigned(fără semn), long(lung), signed(cu semn), register(registru),
short(scurt). Un modificator de tip schimbă domeniul valorilor pe care o variabilă le poate
păstra, sau modul în care compilatorul păstrează o variabilă. Pentru a se modifica un tip de data,
se va plasa modificatorul în faţa tipului respectiv.
INFORMATICĂ – clasa a V-a
16
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
b)Constante
Sunt date a căror valoare nu poate fi modificată în timpul execuţiei programului. Ele reprezintă
un tip şi o valoare şi astfel pot fi de mai multe tipuri:
constantă întreagă - se reprezintă sub forma unei înşiruiri de cifre: 6,456,1234.
constantă flotantă - 6.023e-23 = 6.023*10-23
constantă caracter este de fapt un caracter între apostrofuri. Se reprezintă pe 8 biţi, fiind
chiar reprezentarea în codul ASCII a caracterului respectiv.
Exemplu: ‘A’ reprezentare internă - 65 (codul ASCII a caracterului ‘A’), ‘a’ reprezentare
internă - 97 (codul ASCII a caracterului ‘a’)
constanta şir sau şir de caractere - acest tip de constantă apare ca o succesiune de
caractere scrise între ghilimele. Exemplu:”program”,”CalculaTor”.
c)Variabile
Pentru a putea utiliza informaţiile ce pot fi prelucrate prin intermediul programelor, trebuie să
folosim denumiri (identificatori), care să fie compuşi din – litere, cifre şi liniuţa de subliniere
(caracterul underscore) - maxim 31 caractere.
Numim variabilă o denumire (identificator) pe care compilatorul o asociază cu o anumită zonă
de memorie. Când se declară o variabilă, trebuie specificat numele ei cât şi tipul de date
asociat. Exemple:
int a variabila a este de tip întreg
float b variabila b este de tip real
char d variabila d este de tip caracter
void variabila fără tip
Limbajul C++ este case sensitive, adică face diferenţa dintre literele mici şi mari, astfel încât,
două denumiri de variabile sau de funcţii, care sunt identice dar sunt scrise o dată cu litere
mici iar apoi cu litere mari, se consideră ca fiind două denumiri de variabile sau de funcţii
diferite. Variabilele pot fi:
INFORMATICĂ – clasa a V-a
17
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
Expresii. Operatori C++
Expresia este alcătuită dintr-unul sau mai mulţi operanzi legaţi între ei prin operatori pentru a
efectua anumite operații (calcule, atribuiri, apelări de funcții, etc.). Limbajul C++ conține un set
puternic de operatori. Cei mai importanți operatori ai limbajului C++ sunt:
 Operatorii aritmetici
 Operatorii relaționali
 Operatorii de incrementare și decrementare
a) prefixați
b) postfixați
 Operatorii logici
 Operatorii de asignare(atribuire)
 Operatorul conditional
 Operatorul de conversie explicită
 Operatorul dimensiune sizeof
a)Operatori aritmetici
Nr. crt. Operator Semnificaţie Tipul datelor Exemplu
1. + adunare numeric z = y + x;
2. - scădere numeric z = y – x;
3. * înmulţire numeric z = y * x;
4. / împărţire numeric z = y / x;
5. % modulo întreg z = y % x;
Operatorii +, -, /, * pot fi utilizaţi cu orice tip de dată, pe când operatorul modulo poate fi
folosit doar cu datele de tip întreg. Operatorul modulo reţine restul unei împărţiri întregi.
Aplicație
Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks,
MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos:
#include <iostream>
using namespace std;
int main()
{
int a,b=8;
float x,y;
char c='a',d='b';
a=5;
x=3.14;y=2;
cout<<a+b<<endl;
cout<<a-x<<endl;
cout<<b-y<<endl;
cout<<a/x<<endl;
cout<<c<<d<<endl;
cout<<c+d<<endl;
cout<<c-d<<endl;
cout<<b%a<<endl;
cout<<a+c<<endl;
cout<<x-d;
}
INFORMATICĂ – clasa a V-a
18
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
b)Operatori relaționali
Nr.
crt.
Operator Operaţie
1. < mai mic
2. > mai mare
3. < = mai mic sau egal
4. > = mai mare sau egal
5. == egal
6. != diferit
Rezultatul unui operator relaţional nu poate fi decât true (sau 1), respectiv false (sau 0).
c)Operatori de incrementare și decrementare
Operatorul de incrementare (++) şi decrementare (--) măreşte sau micşorează valoarea
operandului său cu 1 (unu). Operatorii de incrementare şi decrementare se pot aplica
variabilelor, dar nu şi constantelor, aceştia putând fi prefixaţi sau postfixaţi.
Prefixaţi Postfixaţi
++ operand operand --
-- operand operand ++
Diferenţa dintre operatorii postfixaţi şi operatorii prefixaţi este aceea că dacă operandul
este postfixat atunci mai întâi se foloseşte valoarea lui nemodificată, iar apoi se aplică
operatorul respectiv. Dacă operandul este prefixat atunci mai întâi se aplică operatorul
respectiv şi abia apoi se foloseşte valoarea lui.
Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code
Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos:
#include <iostream>
using namespace std;
int main()
{
int a=5,b=7;
cout<<(a>b)<<endl;
cout<<(a<b)<<endl;
cout<<(a!=b)<<endl;
cout<<(a==b)<<endl;
cout<<a++<<endl;
cout<<a<<endl;
a++;b--;
cout<<a<<endl;
cout<<b<<endl;
cout<<++b<<endl;
cout<<b++<<endl;
cout<<a--+b<<endl;
cout<<--a+b<<endl;
}
INFORMATICĂ – clasa a V-a
19
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
d)Operatorii logici
Nr. crt. Operator Operaţie
1. ! negarea logică
2. && ŞI logic
3. || SAU logic
Rezultatul unui operator logic nu poate fi decât true (sau 1), respectiv false (sau 0). Tabelul de
adevăr este prezentat mai jos:
Nr. crt. A B A && B A || B ! A
1. 0 0 0 0 1
2. 0 1 0 1 1
3. 1 0 0 1 0
4. 1 1 1 1 0
e)Operatorii de asignare(atribuire)
Nr. crt. Operator Forma lungă Forma scurtă
1. = x=y
2. += x = x + y x + = y
3. -= x = x - y x - = y
4. *= x = x * y x * = y
5. /= x = x / y x / = y
6. %= x = x % y x % = y
Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code
Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos:
#include <iostream>
using namespace std;
int main()
{
int a=10,b=15;
cout<<((a>b)&&(a==b))<<endl;
cout<<((a<=b)||(a>=b))<<endl;
cout<<((a!=b)&&(a==(b-5)||(b==b)))<<endl;
a+=b;
cout<<a<<endl;
b*=a;
cout<<b<<endl;
b/=a;
cout<<b<<endl;
a%=b;
cout<<a;
}
INFORMATICĂ – clasa a V-a
20
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
f)Operatorul condițional
Operatorii condiţionali se utilizează în evaluarea expresiilor care prezintă alternative. Forma
generală este următoarea:
exp1 ? exp2 : exp3;
unde exp1, exp2, exp3 sunt expresii. Dacă valoarea expresiei exp1 este adevărată atunci
valoarea şi tipul expresiei va fi exp2; altfel valoarea şi tipul va fi exp3.
? : sunt operatorii condiţionali şi trebuie să fie folosiţi împreună.
Exemplu: a=5
b = a > 7 ? 15 : 20;
În acest exemplu variabilei b i se atribuie valoarea 20. Dacă a ar fi fost mai mic decât 5, lui b i
s-ar fi atribuit valoarea 15.
g)Operatorul de conversie explicită
Acest operator realizează o schimbare temporară a tipului unei expresii şi are următoarea
formă generală:
(tip)expresie;
unde: tip este unul dintre tipurile de date admise în limbajul C++(int, float, char, etc.).
h)Operatorul dimensiune sizeof
Operatorul dimensiune are următoarea formă generală:
sizeof (data)
Acesta returnează lungimea în octeţi a unei date. Data poate fi numele unei variabile simple, al
unui tablou, al unei structuri, al unui tip sau referirea la elementul unui tablou sau structură.
Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code
Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos:
#include <iostream>
using namespace std;
int main()
{
int a=10,b=15;
char c='A';
cout<<(a>b?"DA":"NU")<<endl;
cout<<a/b<<endl;
cout<<(float)a/b<<endl;
cout<<c<<endl;
cout<<(int)c<<endl;
cout<<sizeof(c)<<"octet"<<sizeof(a)<<"octeti"<<sizeof(b)<<"octeti ";
}
INFORMATICĂ – clasa a V-a
21
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
FIŞĂ DE LUCRU - OPERATORI C++
1.Se citeşte un număr natural care reprezintă timpul exprimat în minute. Scrieţi
programul care afişează timpul exprimat în ore şi secunde.
2.Scrieţi un program care să testeze un caracter introdus de la tastatură. Dacă este
literă mare, să afişeze mesajul “Literă mare”, dacă este literă mică să se afişeze
mesajul “Literă mică”, altfel să se afişeze mesajul “Nu este literă”.
3.Scrieţi un program care citeşte de la tastatură un număr natural cu trei cifre şi care
afişează apoi numărul obţinut prin eliminarea cifrei din mijloc.
4. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi
care afişează pe câte un rând cifrele numărului.
5. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi
care afişează numărul obţinut prin eliminarea cifrei sutelor. Modificaţi programul, astfel
încât, să afişeze numărul obţinut prin eliminarea cifrei zecilor.
6.Se citesc de la tastatură trei numere a, b şi c. Să se afişeze valoarea maximă.
Modificaţi programul, astfel încât, să afişeze valoarea minimă.
7.Se citeşte de la tastatură un număr n. Să se verifice dacă este un număr pozitiv sau
negativ.
8. Se citesc de la tastatură 3 numere a, b şi c care reprezintă laturile unui triunghi
oarecare. Să se calculeze aria triunghiului.
9. Indicaţi rezultatele pe care le afişează programul următor. Explicaţi obţinerea
acestor rezultate.
{
int x=2, y=7, z,u;
u=x*(y-2)%3;
cout<<”u=”<<u<<endl;
z=u+x;
x=x*y;
cout<<”x=”<<x<<” y=”<<y<<” z=”<<z<<” u=”<<u<<endl;
x=-y*z%3+u;
cout<<”x=”<<x<<endl;
z=(x-y)*(u-x);
cout<<”z=”<<z<<endl;
}
INFORMATICĂ – clasa a V-a
22
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
10. Scrieţi un program care converteşte gradele Celsius în grade Fahrenheit conform
formulei f=(9/5)*c+32. Datele se citesc de la tastatură.
11. Se introduc 2 numere, a şi b şi un număr k. Să se afişeze un mesaj dacă fracţia a/b
poate fi simplificată prin k.
12. Se introduc 2 numere. Să se afişeze un mesaj dacă aceste numere sunt consecutive.
13. Fie variabilele x,y şi u de tipul int. Scrieţi o instrucţiune care măreşte valoarea
variabilei u cu câtul întreg al împarţirii lui x la y ?
14. Scrieţi 3 valori ce pot fi citite pentru variabila y astfel încât programul de mai jos
să tipărească 1 ?
{int x=2, y, z;
cin>>y;
x++;
z=y+3*x;
cout<<((z%2==0 && x>=1) ? 1 : 0 );
}
15. Ce se afişează în urma execuţiei secvenţei de instrucţiuni de mai jos, dacă pentru n
se citeşte valoarea 815?
{
int n, a, b, c, x, w, q;
cout<<"n="; cin>>n;
a=n/100;
b=n/10%10;
c=n%10;
(a>b ? x=a, a=b, b=x : x);
(b>c ? x=b, b=c, c=x : x);
(a>b ? x=a, a=b, b=x : x);
cout<<a<<" "<<b<<" "<<c<<endl;
w=a*100+b*10+c;
q=c*100+b*10+a;
cout<<w<<" "<<q;
}
INFORMATICĂ – clasa a V-a
23
NOŢIUNI TEORETICE ŞI PROBLEME
OPERATORI, STRUCTURI ALTERNATIVE
FIŞĂ DE LUCRU – STRUCTURA ALTERNATIVĂ
Structura alternativă simplă
if (expresie)
instructiune_1;
else
instructiune_2;
Structura alternativă generalizată
switch (selector)
{
case 1: instructiune_1;break;
case 2: instructiune_2;break;
-----------------------------
case n: instructiune_n;break;
default : instructiune_i;
}
1. Se citeşte de la tastatură un număr natural întreg care reprezintă un an
calendaristic. Să se verifice dacă numărul citit este un an bisect.
2.Un elev primeşte într-o zi trei note, nu toate bune. Se hotărăşte ca, dacă ultima notă
este cel puţin 8, să le spună părinţilor toate notele primite iar dacă este mai mică decât
8, să le comunice doar nota cea mai mare dintre primele două. Introduceţi notele luate şi
afişaţi notele pe care le va comunica părinţilor.
3. Se citesc trei numere întregi x, y, z. Dacă toate sunt pozitive să se afişeze cel mai
mare număr dintre al doilea şi al treilea număr, în caz contrar să se afişeze suma
primelor două numere.
4. Scrieţi un program care să testeze un caracter introdus de la tastatură. Dacă este
literă mare, să afişeze mesajul “Literă mare”, dacă este literă mică să se afişeze
mesajul “Literă mică”, altfel să se afişeze mesajul “Nu este literă”.
5.Se citeşte de la tastatură un număr natural întreg format din 3 cifre şi care afişează
cel mai mic număr care se poate forma din cifrele sale. Modificaţi programul, astfel
încât, să afişeze cel mai mare număr ce se poate forma din cifrele numărului citit.
6.Se introduc de la tastatură două numere întregi a, b şi un caracter c care reprezintă
o operaţie aritmetică. Să se afişeze operaţia efectuată de operatorul citit şi să se
calculeze valoarea lui e definită ca rezultat al aplicării operatorului aritmetic pe
numerele a şi b (2 metode: se folosesc instrucţiuni if-else imbricate şi apoi cu
instrucţiunea switch-case).
7. Scrieţi un program care să permită alegerea unei opţiuni dintr-un meniu afişat pe
ecran, apoi se alege o operaţie din meniu prin introducerea numărului de ordine. Meniul
conţine:
1. ORDONARE CRESCĂTOARE
2. ORDONARE DESCRESCĂTOARE
Programul ordonează crescător şi descrescător cifrele unui număr întreg format din 3
cifre.
8.Se citesc trei numere întregi nenule a, b şi c care reprezintă coeficienţii unei ecuaţii
de gradul II. Să se rezolve ecuaţia. Testaţi programul pentru următoarele seturi de
intrare:(1,-5,6), (1,-2,1), (1,1,1).
INFORMATICĂ – clasa a V-a
24

More Related Content

What's hot

Sisteme de numeratie calculatoare
Sisteme de numeratie calculatoareSisteme de numeratie calculatoare
Sisteme de numeratie calculatoareroxanaolteanu
 
Siruri de numere reale: progresia aritmetica
Siruri de numere reale: progresia aritmeticaSiruri de numere reale: progresia aritmetica
Siruri de numere reale: progresia aritmeticaEmiliaTulvan
 
Matematica in viata cotidiana
Matematica in viata cotidianaMatematica in viata cotidiana
Matematica in viata cotidianaDarstaru Gheorghe
 
Metalimbajul BNF. Diagrame sintactice
Metalimbajul BNF.  Diagrame sintacticeMetalimbajul BNF.  Diagrame sintactice
Metalimbajul BNF. Diagrame sintacticealinabacalim
 
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019Demersuri-cheie ale dezvoltării Curriculumului educațional 2019
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019Daniela Munca-Aftenev
 
Siguranta pe internet 24.04.2018 popa
Siguranta pe internet  24.04.2018 popaSiguranta pe internet  24.04.2018 popa
Siguranta pe internet 24.04.2018 popaMihaela Popa
 
Proiect didactic. Matematică, cl.9. Proprietățile funcției de gradul doi. Pr...
Proiect didactic. Matematică, cl.9.  Proprietățile funcției de gradul doi. Pr...Proiect didactic. Matematică, cl.9.  Proprietățile funcției de gradul doi. Pr...
Proiect didactic. Matematică, cl.9. Proprietățile funcției de gradul doi. Pr...Angelaruban1
 
Stereotipuri si prejudecati
Stereotipuri si prejudecatiStereotipuri si prejudecati
Stereotipuri si prejudecatiAlianta INFONET
 
Matematica in viata cotidiana
Matematica in viata cotidianaMatematica in viata cotidiana
Matematica in viata cotidianaDarstaru Gheorghe
 
Fractii prezentare
Fractii prezentareFractii prezentare
Fractii prezentarecorfusmarius
 
Pregatirea pentru scoala material informativ pentru educatoare
Pregatirea pentru scoala material informativ pentru educatoarePregatirea pentru scoala material informativ pentru educatoare
Pregatirea pentru scoala material informativ pentru educatoaresteauaduminica
 
SEMINAR instructiv-metodic pentru cadrele didactice care au solicitat confer...
SEMINARinstructiv-metodic pentru cadrele didactice care au solicitat confer...SEMINARinstructiv-metodic pentru cadrele didactice care au solicitat confer...
SEMINAR instructiv-metodic pentru cadrele didactice care au solicitat confer...Daniela Munca-Aftenev
 

What's hot (20)

Sisteme de numeratie calculatoare
Sisteme de numeratie calculatoareSisteme de numeratie calculatoare
Sisteme de numeratie calculatoare
 
Siruri de numere reale: progresia aritmetica
Siruri de numere reale: progresia aritmeticaSiruri de numere reale: progresia aritmetica
Siruri de numere reale: progresia aritmetica
 
Initiere in turbo pascal
Initiere in turbo pascalInitiere in turbo pascal
Initiere in turbo pascal
 
Matematica in viata cotidiana
Matematica in viata cotidianaMatematica in viata cotidiana
Matematica in viata cotidiana
 
Cantitatea de informatie
Cantitatea de informatieCantitatea de informatie
Cantitatea de informatie
 
Metalimbajul BNF. Diagrame sintactice
Metalimbajul BNF.  Diagrame sintacticeMetalimbajul BNF.  Diagrame sintactice
Metalimbajul BNF. Diagrame sintactice
 
Sedinta cu parintii
Sedinta cu parintiiSedinta cu parintii
Sedinta cu parintii
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019Demersuri-cheie ale dezvoltării Curriculumului educațional 2019
Demersuri-cheie ale dezvoltării Curriculumului educațional 2019
 
Siguranta pe internet 24.04.2018 popa
Siguranta pe internet  24.04.2018 popaSiguranta pe internet  24.04.2018 popa
Siguranta pe internet 24.04.2018 popa
 
Proiect didactic. Matematică, cl.9. Proprietățile funcției de gradul doi. Pr...
Proiect didactic. Matematică, cl.9.  Proprietățile funcției de gradul doi. Pr...Proiect didactic. Matematică, cl.9.  Proprietățile funcției de gradul doi. Pr...
Proiect didactic. Matematică, cl.9. Proprietățile funcției de gradul doi. Pr...
 
Clasa a viii a
Clasa a viii aClasa a viii a
Clasa a viii a
 
Ecuaţii algebrice
Ecuaţii algebriceEcuaţii algebrice
Ecuaţii algebrice
 
Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului
 
Stereotipuri si prejudecati
Stereotipuri si prejudecatiStereotipuri si prejudecati
Stereotipuri si prejudecati
 
Matematica in viata cotidiana
Matematica in viata cotidianaMatematica in viata cotidiana
Matematica in viata cotidiana
 
Fractii prezentare
Fractii prezentareFractii prezentare
Fractii prezentare
 
Pregatirea pentru scoala material informativ pentru educatoare
Pregatirea pentru scoala material informativ pentru educatoarePregatirea pentru scoala material informativ pentru educatoare
Pregatirea pentru scoala material informativ pentru educatoare
 
SEMINAR instructiv-metodic pentru cadrele didactice care au solicitat confer...
SEMINARinstructiv-metodic pentru cadrele didactice care au solicitat confer...SEMINARinstructiv-metodic pentru cadrele didactice care au solicitat confer...
SEMINAR instructiv-metodic pentru cadrele didactice care au solicitat confer...
 
Combinatorica - prezentare grupa 1
Combinatorica - prezentare grupa 1Combinatorica - prezentare grupa 1
Combinatorica - prezentare grupa 1
 

Similar to Auxiliar clasa v

Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++Serghei Urban
 
E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08Ovidiu Dumitrescu
 
E d informatica_2020_sp_sn_c_var_test_02
E d informatica_2020_sp_sn_c_var_test_02E d informatica_2020_sp_sn_c_var_test_02
E d informatica_2020_sp_sn_c_var_test_02Ovidiu Dumitrescu
 
E d informatica_2020_sp_sn_c_var_test_05
E d informatica_2020_sp_sn_c_var_test_05E d informatica_2020_sp_sn_c_var_test_05
E d informatica_2020_sp_sn_c_var_test_05Ovidiu Dumitrescu
 
Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011AutoProg
 
E d informatica_2020_sp_mi_c_var_test_07
E d informatica_2020_sp_mi_c_var_test_07E d informatica_2020_sp_mi_c_var_test_07
E d informatica_2020_sp_mi_c_var_test_07Ovidiu Dumitrescu
 
E d informatica_2020_sp_mi_c_var_test_06
E d informatica_2020_sp_mi_c_var_test_06E d informatica_2020_sp_mi_c_var_test_06
E d informatica_2020_sp_mi_c_var_test_06Ovidiu Dumitrescu
 
E d informatica_2020_sp_mi_c_var_test_04
E d informatica_2020_sp_mi_c_var_test_04E d informatica_2020_sp_mi_c_var_test_04
E d informatica_2020_sp_mi_c_var_test_04Ovidiu Dumitrescu
 
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdfculegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdfTheodorAnastasiei
 
E d informatica_2020_sp_sn_c_var_test_04
E d informatica_2020_sp_sn_c_var_test_04E d informatica_2020_sp_sn_c_var_test_04
E d informatica_2020_sp_sn_c_var_test_04Ovidiu Dumitrescu
 
E d informatica_2020_sp_mi_c_var_test_05
E d informatica_2020_sp_mi_c_var_test_05E d informatica_2020_sp_mi_c_var_test_05
E d informatica_2020_sp_mi_c_var_test_05Ovidiu Dumitrescu
 

Similar to Auxiliar clasa v (20)

Instructiuni in c si c++
Instructiuni in c si c++Instructiuni in c si c++
Instructiuni in c si c++
 
Opt
OptOpt
Opt
 
E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08
 
E d informatica_2020_sp_sn_c_var_test_02
E d informatica_2020_sp_sn_c_var_test_02E d informatica_2020_sp_sn_c_var_test_02
E d informatica_2020_sp_sn_c_var_test_02
 
E d informatica_2020_sp_sn_c_var_test_05
E d informatica_2020_sp_sn_c_var_test_05E d informatica_2020_sp_sn_c_var_test_05
E d informatica_2020_sp_sn_c_var_test_05
 
Lecture3 - PC
Lecture3 - PCLecture3 - PC
Lecture3 - PC
 
Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011
 
Metoda backtracking
Metoda backtrackingMetoda backtracking
Metoda backtracking
 
Metoda reluării
Metoda reluăriiMetoda reluării
Metoda reluării
 
Test i
Test iTest i
Test i
 
E d informatica_2020_sp_mi_c_var_test_07
E d informatica_2020_sp_mi_c_var_test_07E d informatica_2020_sp_mi_c_var_test_07
E d informatica_2020_sp_mi_c_var_test_07
 
Calculul numeric teorie
Calculul numeric teorieCalculul numeric teorie
Calculul numeric teorie
 
E d informatica_2020_sp_mi_c_var_test_06
E d informatica_2020_sp_mi_c_var_test_06E d informatica_2020_sp_mi_c_var_test_06
E d informatica_2020_sp_mi_c_var_test_06
 
E d informatica_2020_sp_mi_c_var_test_04
E d informatica_2020_sp_mi_c_var_test_04E d informatica_2020_sp_mi_c_var_test_04
E d informatica_2020_sp_mi_c_var_test_04
 
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdfculegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
culegere-de-probleme-rezolvate-c-c-informatica_compress.pdf
 
E d informatica_2020_sp_sn_c_var_test_04
E d informatica_2020_sp_sn_c_var_test_04E d informatica_2020_sp_sn_c_var_test_04
E d informatica_2020_sp_sn_c_var_test_04
 
Laborator 1
Laborator 1Laborator 1
Laborator 1
 
Sptr lect 2
Sptr lect 2Sptr lect 2
Sptr lect 2
 
E d informatica_2020_sp_mi_c_var_test_05
E d informatica_2020_sp_mi_c_var_test_05E d informatica_2020_sp_mi_c_var_test_05
E d informatica_2020_sp_mi_c_var_test_05
 
Tema2 algoritmi
Tema2 algoritmiTema2 algoritmi
Tema2 algoritmi
 

More from leliana loredana buzatu (8)

Curs html
Curs htmlCurs html
Curs html
 
Test grilaexcel
Test grilaexcelTest grilaexcel
Test grilaexcel
 
Formule si functii_excel
Formule si functii_excelFormule si functii_excel
Formule si functii_excel
 
Test word2007
Test word2007 Test word2007
Test word2007
 
Word 2007 lectii
Word 2007 lectiiWord 2007 lectii
Word 2007 lectii
 
Aplicatie formatare tabel-celule excel
Aplicatie formatare tabel-celule excelAplicatie formatare tabel-celule excel
Aplicatie formatare tabel-celule excel
 
Indrumar diagnosticare
Indrumar diagnosticareIndrumar diagnosticare
Indrumar diagnosticare
 
Model caiet evaluare cu mai multe module
Model caiet evaluare cu mai multe moduleModel caiet evaluare cu mai multe module
Model caiet evaluare cu mai multe module
 

Recently uploaded

Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11CMB
 
Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxMoroianuCristina1
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiAndr808555
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aCMB
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10CrciunAndreeaMaria
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCori Rus
 

Recently uploaded (6)

Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11Sistemul excretor la om, biologie clasa 11
Sistemul excretor la om, biologie clasa 11
 
Strategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptxStrategii-pentru-educatia-remedială-ppt.pptx
Strategii-pentru-educatia-remedială-ppt.pptx
 
ziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantuluiziua pamantului ziua pamantului ziua pamantului
ziua pamantului ziua pamantului ziua pamantului
 
Igiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-aIgiena sistemului digestiv , biologi clasa 11-a
Igiena sistemului digestiv , biologi clasa 11-a
 
Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10Agricultura- lectie predare -invatare geografie cls 10
Agricultura- lectie predare -invatare geografie cls 10
 
Catalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptxCatalogul firmei de exercițiu Ancolex 2024.pptx
Catalogul firmei de exercițiu Ancolex 2024.pptx
 

Auxiliar clasa v

  • 1. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE "Fiecare greşeală este o ocazie de a învăţa. Totul este să nu comiţi aceeaşi greşeală în mod repetat - ar fi o prostie. Însă comite cât mai multe greşeli noi de care eşti în stare; nu trebuie să-ti fie teamă, căci acesta este singurul mod în care natura îţi permite să înveţi." OSHO Clasa a V - a
  • 2. Etapele de rezolvare a unei probleme 1
  • 3. 2
  • 4. 3
  • 5. Fișă de lucru – Tipuri de date, operatori, expresii 1. Care dintre următoarele valori fac parte din tipul întreg: Valoarea DA sau NU 23.0 -4321 -24.0 +1234 12345 0.0 2. Care dintre următoarele operații au ca rezultat valori din tipul întreg sau real?(Operatorul [ ] desemnează partea întreagă, iar operatorul mod desemnează restul la împărțirea întreagă): Valoarea DA sau NU 3 <> 4 [10.235] not (5>6) 2 mod 10 10.01 <14.6 √𝟏𝟏𝟏𝟏. 𝟎𝟎 + 𝟔𝟔 3. Care dintre următoarele operații au ca rezultat valoarea true știind că variabilele întregi a și b au valorile a=23 și b=50. Valoarea Adevărat sau fals a < > b a > b b < = a b > = a 4. Care este valoarea expresiei: 20 div 10 * 2 + 30 div 15 * 2 a) 2 b) 0 c) 8 d) 4 5. Care este valoarea expresiei: 4000 div 10 div 10 * 2 + 4 *10 *10 div 2 a) 400.0 b) 280.0 c) 240.0 d) 220.0 6. Se dau următoarele secvențe de atribuire: (S1) 𝑎𝑎 ← 1; 𝑏𝑏 ← 2; 𝑐𝑐 ← 3; 𝑑𝑑 ← 4 (S2) 𝑎𝑎 ← 𝑏𝑏; 𝑏𝑏 ← 𝑐𝑐; 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎 (S3) 𝑏𝑏 ← 𝑐𝑐; 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎; 𝑎𝑎 ← 𝑏𝑏 (S4) 𝑐𝑐 ← 𝑑𝑑; 𝑑𝑑 ← 𝑎𝑎; 𝑎𝑎 ← 𝑏𝑏; 𝑏𝑏 ← 𝑐𝑐 Să se precizeze valorile variabilelor de memorie a, b, c și d obținute în urma executării operațiilor de atribuire, în ordine: a) S1; S2; S3 b) S1; S3; S2 c) S1; S2; S2; S3 d) S1; S2; S3; S4 4
  • 6. 7. Dacă într-un algoritm există variabilele a de tip caracter, b, i, j, k, l, m de tip întreg și c de tip logic și se atribuie acestor date următoarele valori inițiale: 𝑎𝑎 ←′ 4′ 𝑏𝑏 ← 8 𝑐𝑐 ← 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 ← 4 𝑗𝑗 ← 6 𝑘𝑘 ← 8 𝑙𝑙 ← 1 𝑚𝑚 ← 10 evaluați următoarele expresii: Expresia Rezultat Expresia Rezultat (b>15) or c i – j + k – l + m a>=’0’ and a<=’9’ 3 * j mod m - i not c or (a=’a’) (i+j) div (m-j) (k>b) and c (j + (m – l * (j + i)) – k) + 5 i + j * l - m j * j – I - k 8. Completați tabelul de mai jos: a b not a not b not a and not b (a and b) or a T T T F F T F F 9. Pentru a testa ultima cifră a unui număr întreg n, aceasta se extrage cu expresia 𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏 (restul împărțirii numărului la 10). De exemplu, pentru a testa dacă ultima cifră a unui număr n este 2 se folosește condiția 𝒄𝒄 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏 = 𝟐𝟐. Scrieți condiția prin care testați dacă ultima cifră a unui număr n este: Condiția 3 sau 5 diferită de 3 și de 5 pară Impară multiplu de 3 multiplu de 3 sau de 5 10. Variabila x are valoarea 3.Care dintre următoarele operații de atribuire permite ca variabila x să își modifice valoarea din 3 în 0? a)𝒙𝒙 ← 𝒙𝒙 − 𝟏𝟏𝟏𝟏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟒𝟒 b) 𝒙𝒙 ← (𝒙𝒙 − 𝟏𝟏) + 𝟑𝟑 c) 𝒙𝒙 ← 𝟐𝟐 ∗ 𝒙𝒙 − 𝟔𝟔 d) 𝒙𝒙 ← 𝟐𝟐 + 𝟓𝟓 𝒎𝒎𝒎𝒎𝒎𝒎 𝟐𝟐 11. Care sunt valorile variabilelor reale x și y după executarea instrucțiunilor următoare: 𝒙𝒙 ← 𝟐𝟐𝟐𝟐. 𝟓𝟓𝟓𝟓 𝒚𝒚 ← [𝒙𝒙] + 𝟖𝟖 𝒙𝒙 ← 𝟐𝟐 ∗ 𝒙𝒙 𝒚𝒚 ← 𝒚𝒚 + 𝒙𝒙 12. Care dintre următoarele expresii determină inserarea cifrei 7 în faţa ultimei cifre a unui număr natural, cu mai mult de 2 cifre, memorat în variabila x? a. x←(x div 10 *10 + 7) * 10 + x mod 10 b. x←x div 10 + 7 + x mod 10 c. x←(x mod 10 * 10 + 7 )* 10 + x div 10 d. x←(x div 10 + 7) * 10 + x mod 10 13. Care dintre următoarele expresii determină eliminarea cifrei din mijloc a unui număr natural, cu exact 5 cifre, memorat în variabila x? a. x ← x div 1000 * 100 + x mod 100 b. x ← x mod 1000 * 100 + x div 100 c. x ← x div 100 * 100 + x mod 100 d. x ← x div 1000 + x mod 100 14. Se consideră variabila a care memorează un număr cu exact 6 cifre. Scrieți o expresie care memorează în variabila b numărul format din cele două cifre din mijloc ale valorii memorate în a? 5
  • 7. Algoritmi: caracteristici, reprezentare, implementare Reprezentarea algoritmilor: Scheme logice. Limbaj pseudocod. Reprezentarea algoritmilor După etapa de analiză a problemei în care s-au stabilit datele de intrare şi cele de ieşire, urmează etapa de elaborare a algoritmului. Acesta trebuie reprezentat într-un mod inteligibil. Este deci necesară utilizarea unui limbaj comun de repezentare a algoritmilor, dând apoi posibilitatea fiecarui programator să “traducă” algoritmul în ce limbaj de programare doreşte. Există două modalităţi de reprezentare a algoritimilor: schemele logice şi limbajul pseudocod. Schemele logice reprezintă un algoritm în mod grafic, folosind blocuri diferite pentru operaţii diferite. Această metodă are unele dezavantaje: schemele sunt stufoase, greu de urmărit. În tabelul urmator prezentăm tipurile de blocuri folosite în reprezentarea algoritmilor. Schemele logice sunt mai utile celor care abia învaţă să programeze şi deci sunt în faza de formare a gândirii algoritmice. Recomandare - la scrierea schemelor logice scrieți mai întâi conţinutul blocului şi apoi desenați blocul corespunzător. Blocurile specifice schemelor logice SIMBOL DENUMIRE SEMNIFICAŢIE Bloc terminal Marchează începutul algoritmului Bloc terminal Marchează sfârşitul algoritmului Bloc de intrare / citire a datelor de intrare Se face transferul de date de la utilizator către algoritm Bloc de ieşire / scriere a datelor de ieşire Se face transferul de date către utilizator START STOP Citeşte a,b Scrie a,b 6
  • 8. Bloc de atribuire Variabilei x i se atribuie valoarea expresiei Bloc de decizie în care se evaluează condiţia obţinându-se o valoare logică “Adevarat” sau “Fals” Dacă condiţia este adevărată se execută ramura “DA”, altfel se execută ramura “NU” Bloc conector logic Conectează mai multe puncte din algoritm Limbajul Pseudocod Limbajul pseudocod este un ansamblu de convenţii (codificări) care definesc operaţiile (instrucţiunile) permise pentru reprezentarea algoritmilor. Respectand aceste convenţii, chiar în forme diferite, algoritmii reprezentaţi în pseudocod pot fi citiţi de orice persoană, indiferent că este sau nu programator. Limbajul pseudocod nu respectă o sintaxa anume, nu are un standard. Sunt doar nişte convenţii pe care trebuie să le respectăm atunci când reprezentăm un algoritm. Instructiunile se pot scrie în limba engleză sau în limba română. În pseudocod putem scrie declarări de variabile, specificând numele şi tipul lor. Pe lângă declaraţiile de variabile, limbajul pseudocod conţine cuvinte cheie, instrucţiuni (început, sfârşit, intrare/ieşire, atribuire, decizie, selecţie, repetitive), proceduri/funcţii. Corespondenţa între instrucţiunile pseudocod şi blocurile din schemele logice. INSTRUCŢIUNE PSEUDOCOD DENUMIRE SIMBOL SCHEMĂ LOGICĂ a, b, c intregi x,z reale Declaratii de variabile - Citeşte a,b Citirea datelor de intrare Scrie a,b Scrierea datelor de ieşire x ← expresie Condiție DANU Citeştea,b Scrie a,b 7
  • 9. x ← 10 a ← a+1 Instrucţiune de atribuire ┌dacă c atunci | execută a |altfel | execută b |▄ Instrucţiune de decizie în care se evaluează condiţia obţinându-se o valoare logică “Adevarat” sau “Fals” Problemă rezolvată Se citesc de la tastatură 2 numere reale L și l care reprezintă lungimea și lățimea unui dreptunghi. Să se calculeze și să se afișeze pe ecran perimetrul și aria dreptunghiului. Date de intrare Tipul datei Date de ieșire Tipul datei L - lungimea real A - aria real l - lățimea real P - perimetrul real Algoritmul în pseudocod Schema logică real L, l, P,A; început citește L, l; P← 2*L + 2*l; A← L * l; scrie P, A; sfârșit x ← expresie Condiție DANU START CITEȘTE L, l P← 2*L + 2*l SCRIE P, A 𝐴𝐴 ← L* l STOP 8
  • 10. Fișă de lucru Scheme logice, pseudocod 1. Se consideră schema logică de mai jos: 1. Ce valori vor fi afișate dacă a=3? 2. Scrieți algoritmul în limbajul pseudocod. 3. Identificați simbolurile grafice din organigrama alăturată și completați tabelul de mai jos: 2. Se consideră schema logică de mai jos: 1. Ce valori vor fi afișate dacă x=10234? 2. Dați un exemplu de valoare pentru variabila x astfel încât algoritmul să afișeze valorile 42 și 6. 3. Realizați un enunț de problemă a cărei rezolvare este algoritmul prezentat. 4. Scrieți algoritmul în limbajul pseudocod. Simbol Ce reprezintă? START Citește a b← 𝑎𝑎 ∗ 𝑎𝑎 ∗ 𝑎𝑎 c← (𝑎𝑎 ∗ 𝑏𝑏) + 𝑏𝑏 𝑑𝑑 ← (𝑐𝑐 𝑑𝑑𝑑𝑑𝑑𝑑 10) + 𝑏𝑏 𝑚𝑚𝑚𝑚𝑚𝑚 100 scrie a,b,c,d STOP START Citește x y← 𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 100 z← 𝑥𝑥 𝑑𝑑𝑑𝑑𝑑𝑑 10 𝑚𝑚𝑚𝑚𝑚𝑚 10 + 𝑥𝑥 𝑚𝑚𝑚𝑚𝑚𝑚 10 Scrie y, z STOP 9
  • 11. 3. Se consideră următorul algoritm reprezentat sub forma unei organigrame. a. Ce valoare se va afișa pentru a=2345? Dar pentru a=70189? b. Scrieți algoritmul în limbajul pseudocod. c. Realizați un enunț de problemă a cărei rezolvare este algoritmul prezentat. 4. Se consideră următorul algoritm descris în pseudocod. a. Ce valoare se va afișa pentru n=1234? b. Realizați un enunț de problemă a cărei rezolvare este algoritmul prezentat. c. Scrieți un algoritm echivalent folosind pentru reprezentarea acțiunilor simboluri grafice. d. Dați un exemplu de valoare pentru variabila n astfel încât algoritmul să afișeze valorile 3,3,3. DANU START Citește a a← 𝑎𝑎 − 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚 100 a mod 100<50 a← 𝑎𝑎 + 100 − 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚 100 Scrie a STOP întreg n(număr natural de exact 4 cifre), m, s, z, u; început citește n; 𝒖𝒖 ← 𝒏𝒏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏; 𝒛𝒛 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏; 𝒔𝒔 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏𝟏𝟏 𝒎𝒎𝒎𝒎𝒎𝒎 𝟏𝟏𝟏𝟏; 𝒎𝒎 ← 𝒏𝒏 𝒅𝒅𝒅𝒅𝒅𝒅 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏; scrie m, s; scrie u*z; sfârșit. 10
  • 12. 5. Se consideră următorul algoritm descris în pseudocod. a)Ce mesaj va fi afișat pentru a=2, b=6, c=-10? Dar pentru a=1, b=3 și c=10? b)Scrieți un algoritm echivalent folosind pentru reprezentarea acțiunilor simboluri grafice. c)Rescrieți algoritmul, folosind o singură instrucțiune de decizie, astfel încât să verifice în mod corect dacă cele trei valori ale datelor de intrare sunt pozitive. 6. Se consideră următorul algoritm descris în pseudocod. a) Ce valori vor fi afișate dacă a=34 și b=2? Dar dacă a=24 și b=-2? b) Dați un exemplu pentru datele de intrare astfel încât algoritmul să afișeze la final două valori egale. c) Dați exemplu de valori pentru a și b astfel încât să fie afișată o pereche de valori pare ordonate crescător. întreg a, b, c; început citește a, b, c; dacă a*b < 0 atunci scrie “Există număr negativ”; altfel dacă b*c < 0 atunci scrie “Există număr negativ”; altfel scrie “Numere pozitive”; sfârșit. întreg a, b, c,d început citește a, b; 𝒄𝒄 ← 𝒂𝒂 + 𝒃𝒃 𝒅𝒅 ← 𝒂𝒂 ∗ 𝒃𝒃 dacă c>d atunci interschimbă c cu d dacă a mod 2 = 0 atunci scrie c,d; altfel scrie d,c; sfârșit. 11
  • 13. 7. Scrieți câte un algoritm pentru rezolvarea următoarelor expresii: 8. Se citeşte de la tastatură un număr natural n, să se afişeze dacă este par sau impar. 9. Se citeşte de la tastatură un număr n, să se afişeze dacă este pozitiv sau negativ. 10. Se citeşte de la tastatură un număr n, să se afişeze dacă este pozitiv, negativ sau nul. 11. Se citesc de la tastatură trei numere, să se afişeze cel mai mare. 12. Se citesc de la tastatură trei numere, să se ordoneze crescător. 13. Să se scrie condiţia ca un număr să aparţină intervalului (4,13]. 14. Să se scrie condiţia ca un număr să NU aparţină intervalului (4,13]. 15. Să se scrie condiţia ca un număr să aparţină intervalului [a,b). 16. Scrieți un algoritm care verifică dacă un număr este impar și afișează în caz afirmativ suma dintre cifra zecilor și cifra unităților. În situația când numărul citit este par se va afișa mesajul “Număr par”. 17. Se citește de la tastatură o valoare naturală x(x>10). Dacă valoarea citită are cifra unităților egală cu cifra zecilor se vor afișa primele două numere naturale mai mari decât valoarea x. În caz contrar se va afișa cifra maximă dintre cifra zecilor și a unităților. Exemplu: Pentru x=3455 se va afișa 3456 3457 Pentru x=3485 se va afișa 8. 18. Se citește o valoare x număr natural. Să se scrie un algoritm care va afișa cele mai apropiate două numere pare de numărul x. Exemplu: Pentru x=14 se va afișa 12 și 16 Pentru x=15 se va afișa 14 și 16. 19. Fie x număr natural. Să se determine ultima cifră a lui 2x (doi la puterea x). 20. Se citește de la tastatură un număr natural n cu exact 4 cifre. Să se verifice dacă numărul este:  Echilibrat - spunem că un număr este echilibrat dacă numărul de cifre pare este egal cu numărul de cifre impare.  Pitic - spunem că un număr este pitic dacă toate cifrele sunt mai mici decât 4.  Generos - spunem că un număr este generos dacă suma cifrelor lui e mai mare decat n+2.  Pătrat perfect – numim pătrat perfect orice număr natural care se poate scrie ca puterea a doua a altui număr natural.  Corect - spunem că un număr este corect dacă suma şi produsul cifrelor sunt pătrate perfecte.      >−+ <==<+ <− = 50,532 5010,23 10,5 2 2 xxx xdacăx xdacăx E      >+ <==<− < = 10,3 100,2 0,*5 xx xdacăx xdacăx E    >=− <− = 0,2 0,1*3 xdacăx xdacăx E    − ≠+ = altfelyxz zxdacăzxyx E ),,*2max( ),,*min( 12
  • 14. Probleme propuse Folosind schema logică și limbajul pseudocod rezolvați problemele de mai jos: 1. Într-un autobuz care pleacă în excursie sunt 7 copii. De la încă două şcoli urcă alţi copii, numărul acestora citindu-se de la tastatură. Câţi copii au plecat în excursie? Identificaţi datele de intrare şi de ieşire. 2. Un brăduţ este împodobit cu globuleţe albe, roşii şi albastre. Numărul globuleţelor albe se citeşte de la tastatură. Câte globuleţe are brăduţul , ştiind că numărul de globuleţe roşii este cu 3 mai mare decât numărul de globuleţe albe, iar numărul de globuleţe albastre este cu 2 mai puţin decât totalul celor albe şi roşii? Identificaţi datele de intrare şi de ieşire. 3. Un pătrat și un dreptunghi au același perimetru. Lățimea și lungimea dreptunghiului se citesc de la tastatură. Știind că lungimea dreptunghiului este de 7 ori mai mare decât lățimea aflați lungimea laturii pătratului? Identificaţi datele de intrare şi de ieşire. 4. Se citește de la tastatură un număr natural x format din exact trei cifre. Să se calculeze suma cifrelor numărului citit. De exemplu, x=234, pe ecran se va afișa 9(2+3+4). 5. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi care afişează numărul obţinut prin eliminarea cifrei sutelor. Modificaţi programul, astfel încât, să afişeze numărul obţinut prin eliminarea cifrei zecilor. 6. Se citeşte un număr natural care reprezintă timpul exprimat în minute. Scrieţi programul care afişează timpul exprimat în ore şi secunde. 13
  • 15. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE NOȚIUNI TEORETICE DESPRE LIMBAJUL C++ - PREZENTARE GENERALĂ Prin programare se înţelege în mod generic transpunerea unor operaţii repetitive, asupra unui set de date, într-un limbaj inteligibil de către un sistem de calcul care urmează ulterior să le execute. Acest lucru este realizat în două etape:  o etapă în care este implicat omul şi anume cea de trecere de la problema reală la transpunerea într-un limbaj de programare.  o a doua etapă, automată, care transpune codul sursă (înşiruirea de instrucţiuni specifice limbajului respectiv) într-un cod direct executabil (inteligibil sistemului de calcul) lucru de care se ocupă programe specializate numite compilatoare. Atunci când scriem un program într-un anumit limbaj de programare trebuie să luăm în considerare următoarele:  declararea, scrierea și citirea setului de date de intrare (cele care trebuie să fie prelucrate);  să execute asupra lor suita standard de operaţiuni;  şi să livreze datele de ieşire (adică rezultatele). Un program scris în limbajul C++ este compus din unul sau mai multe fişiere sursă. Un fişier sursă este un fişier text care conţine codul sursă al unui program. Fiecare fişier sursă conţine una sau mai multe funcţii şi eventual, referinţe către unul sau mai fişiere header. Funcţia principală a unui program este numită main. Exemplu //fisierul header iostream pentru operatiile de scriere si citire #include <iostream> /*fisierul header cmath folosit pentru a apela functii matematice */ #include <cmath> using namespace std; //functia principala main care poate apela alte functii int main() { //partea declarativa-variabila a de tip intreg int a; //si variabila b de tip real float b; //scrierea lui a - apare pe ecran a= cout<<"a="; //citirea lui a de la tastatura cin>>a; //instructiune b=sqrt(a); //afisarea pe ecran a valorii variabilei b cout<<"Valoarea lui b este "<<b<<"."; } INFORMATICĂ – clasa a V-a 14
  • 16. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE ELEMENTELE DE BAZĂ ALE LIMBAJULUI C++ Vocabularul limbajului a)Setul de caractere Setul de caractere reprezintă ansamblul de caractere cu ajutorul cărora se poate realiza un program C++. Acesta este alcătuit din:  litere mari și mici ale alfabetului englez(A-Z,a-z);  cifrele sistemului de numerație în baza 10(0-9);  caractere speciale(+,-,/,=,%,<,>,:,;,#,$,@,blank(spațiu)). b)Identificatori. Cuvinte cheie Identificatorul este o succesiune de litere, cifre sau caracterul special underscor(_) din care prima nu trebuie să fie cifră. Cu ajutorul identificatorilor se asociază nume constantelor, variabilelor, funcțiilor, etc. Exemple de identificatori: a, c1, contor_cifre, etc. Limbajul C++, ca orice limbaj de programare, este compus din câteva denumiri(identificatori) cu o semnificaţie bine stabilită, numite cuvinte cheie. Observaţie: când alegeţi denumiri de variabile pentru programe să nu utilizaţi aceste denumiri. auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while bool catch class delete namespace inline new operator private this using template virtual mutable cin cout c)Comentarii Un comentariu, în limbajul C++, începe cu semnul //comentariu - pentru a scrie un comentariu pe o singură linie – sau cu semnul /* comentariu */ - pentru a scrie un comentariu pe mai multe linii. Comentariile nu au niciun efect asupra comportamentului programului. Programatorul poate să le folosească pentru a include explicaţii scurte sau observaţii asupra codului sursă. Scrierea și citirea în limbajul C++ Pentru a realiza scrieri pe ecran se folosește fluxul cout<<. Cuvântul cheie cout este acronimul de la console output și se mai numește - stream de ieșire. Forma generală a acestui stream este cout<<a<<b<<c<<……<<n; Pentru a realiza citiri de la tastatură se folosește fluxul cin>>. Cuvântul cheie cin este acronimul de la console input și se mai numește stream de intrare. Forma generală a acestui stream este cin>>a>>b>>……>>n; Aplicație Click aici Exemplu și identifică în program operațiile de scriere și citire. Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++, Dev C++) urmărește execuția programului de mai jos. INFORMATICĂ – clasa a V-a 15
  • 17. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE #include <iostream> using namespace std; int main() { int x,y,z; cout<<"Introduceti valoarea lui x:";cin>>x; cout<<"Introduceti valoarea lui y:";cin>>y; z=x+y; cout<<"Suma celor doua numere este "<<z<<endl; z=x*y; cout<<"Produsul celor doua numere este "<<z<<endl; z=x/y; cout<<"Catul impartirii celor doua numere este "<<z<<endl; z=x%y; cout<<"Restul impartirii celor doua numere este "<<z; } Tipuri de date, constante, variabile a)Tipuri de date Un tip de date specifică (precizează):  mulţimea de valori pe care variabila respectivă le poate lua  cât şi setul de operaţii pe care programatorul le poate efectua cu acea variabilă. TIP CARACTERISTICI CHAR reţine un singur caracter Exemple: ‘A’,’a’,’%’, etc. INT reţine numere întregi cu semn Exemple: 23,-45,0, etc. FLOAT reţine numere reale în format cu virgulă mobilă, în simplă precizie Exemple: 7.8965, -4.123, 7.0, etc. DOUBLE reţine numere reale în format cu virgulă mobilă, în dublă precizie Exemple: 7.8965, -4.123, 7.0, etc. (se utilizează când se prelucrează numere foarte mari sau foarte mici) VOID tip de date special care nu specifică un anumit set de valori iniţial, dar care poate fi specificat ulterior declarării. Modificatorii de tip. Limbajul C++ oferă pe lîngă cele 5 tipuri de bază prezentate mai sus, un set de modificatori de tip:unsigned(fără semn), long(lung), signed(cu semn), register(registru), short(scurt). Un modificator de tip schimbă domeniul valorilor pe care o variabilă le poate păstra, sau modul în care compilatorul păstrează o variabilă. Pentru a se modifica un tip de data, se va plasa modificatorul în faţa tipului respectiv. INFORMATICĂ – clasa a V-a 16
  • 18. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE b)Constante Sunt date a căror valoare nu poate fi modificată în timpul execuţiei programului. Ele reprezintă un tip şi o valoare şi astfel pot fi de mai multe tipuri: constantă întreagă - se reprezintă sub forma unei înşiruiri de cifre: 6,456,1234. constantă flotantă - 6.023e-23 = 6.023*10-23 constantă caracter este de fapt un caracter între apostrofuri. Se reprezintă pe 8 biţi, fiind chiar reprezentarea în codul ASCII a caracterului respectiv. Exemplu: ‘A’ reprezentare internă - 65 (codul ASCII a caracterului ‘A’), ‘a’ reprezentare internă - 97 (codul ASCII a caracterului ‘a’) constanta şir sau şir de caractere - acest tip de constantă apare ca o succesiune de caractere scrise între ghilimele. Exemplu:”program”,”CalculaTor”. c)Variabile Pentru a putea utiliza informaţiile ce pot fi prelucrate prin intermediul programelor, trebuie să folosim denumiri (identificatori), care să fie compuşi din – litere, cifre şi liniuţa de subliniere (caracterul underscore) - maxim 31 caractere. Numim variabilă o denumire (identificator) pe care compilatorul o asociază cu o anumită zonă de memorie. Când se declară o variabilă, trebuie specificat numele ei cât şi tipul de date asociat. Exemple: int a variabila a este de tip întreg float b variabila b este de tip real char d variabila d este de tip caracter void variabila fără tip Limbajul C++ este case sensitive, adică face diferenţa dintre literele mici şi mari, astfel încât, două denumiri de variabile sau de funcţii, care sunt identice dar sunt scrise o dată cu litere mici iar apoi cu litere mari, se consideră ca fiind două denumiri de variabile sau de funcţii diferite. Variabilele pot fi: INFORMATICĂ – clasa a V-a 17
  • 19. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE Expresii. Operatori C++ Expresia este alcătuită dintr-unul sau mai mulţi operanzi legaţi între ei prin operatori pentru a efectua anumite operații (calcule, atribuiri, apelări de funcții, etc.). Limbajul C++ conține un set puternic de operatori. Cei mai importanți operatori ai limbajului C++ sunt:  Operatorii aritmetici  Operatorii relaționali  Operatorii de incrementare și decrementare a) prefixați b) postfixați  Operatorii logici  Operatorii de asignare(atribuire)  Operatorul conditional  Operatorul de conversie explicită  Operatorul dimensiune sizeof a)Operatori aritmetici Nr. crt. Operator Semnificaţie Tipul datelor Exemplu 1. + adunare numeric z = y + x; 2. - scădere numeric z = y – x; 3. * înmulţire numeric z = y * x; 4. / împărţire numeric z = y / x; 5. % modulo întreg z = y % x; Operatorii +, -, /, * pot fi utilizaţi cu orice tip de dată, pe când operatorul modulo poate fi folosit doar cu datele de tip întreg. Operatorul modulo reţine restul unei împărţiri întregi. Aplicație Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos: #include <iostream> using namespace std; int main() { int a,b=8; float x,y; char c='a',d='b'; a=5; x=3.14;y=2; cout<<a+b<<endl; cout<<a-x<<endl; cout<<b-y<<endl; cout<<a/x<<endl; cout<<c<<d<<endl; cout<<c+d<<endl; cout<<c-d<<endl; cout<<b%a<<endl; cout<<a+c<<endl; cout<<x-d; } INFORMATICĂ – clasa a V-a 18
  • 20. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE b)Operatori relaționali Nr. crt. Operator Operaţie 1. < mai mic 2. > mai mare 3. < = mai mic sau egal 4. > = mai mare sau egal 5. == egal 6. != diferit Rezultatul unui operator relaţional nu poate fi decât true (sau 1), respectiv false (sau 0). c)Operatori de incrementare și decrementare Operatorul de incrementare (++) şi decrementare (--) măreşte sau micşorează valoarea operandului său cu 1 (unu). Operatorii de incrementare şi decrementare se pot aplica variabilelor, dar nu şi constantelor, aceştia putând fi prefixaţi sau postfixaţi. Prefixaţi Postfixaţi ++ operand operand -- -- operand operand ++ Diferenţa dintre operatorii postfixaţi şi operatorii prefixaţi este aceea că dacă operandul este postfixat atunci mai întâi se foloseşte valoarea lui nemodificată, iar apoi se aplică operatorul respectiv. Dacă operandul este prefixat atunci mai întâi se aplică operatorul respectiv şi abia apoi se foloseşte valoarea lui. Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos: #include <iostream> using namespace std; int main() { int a=5,b=7; cout<<(a>b)<<endl; cout<<(a<b)<<endl; cout<<(a!=b)<<endl; cout<<(a==b)<<endl; cout<<a++<<endl; cout<<a<<endl; a++;b--; cout<<a<<endl; cout<<b<<endl; cout<<++b<<endl; cout<<b++<<endl; cout<<a--+b<<endl; cout<<--a+b<<endl; } INFORMATICĂ – clasa a V-a 19
  • 21. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE d)Operatorii logici Nr. crt. Operator Operaţie 1. ! negarea logică 2. && ŞI logic 3. || SAU logic Rezultatul unui operator logic nu poate fi decât true (sau 1), respectiv false (sau 0). Tabelul de adevăr este prezentat mai jos: Nr. crt. A B A && B A || B ! A 1. 0 0 0 0 1 2. 0 1 0 1 1 3. 1 0 0 1 0 4. 1 1 1 1 0 e)Operatorii de asignare(atribuire) Nr. crt. Operator Forma lungă Forma scurtă 1. = x=y 2. += x = x + y x + = y 3. -= x = x - y x - = y 4. *= x = x * y x * = y 5. /= x = x / y x / = y 6. %= x = x % y x % = y Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos: #include <iostream> using namespace std; int main() { int a=10,b=15; cout<<((a>b)&&(a==b))<<endl; cout<<((a<=b)||(a>=b))<<endl; cout<<((a!=b)&&(a==(b-5)||(b==b)))<<endl; a+=b; cout<<a<<endl; b*=a; cout<<b<<endl; b/=a; cout<<b<<endl; a%=b; cout<<a; } INFORMATICĂ – clasa a V-a 20
  • 22. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE f)Operatorul condițional Operatorii condiţionali se utilizează în evaluarea expresiilor care prezintă alternative. Forma generală este următoarea: exp1 ? exp2 : exp3; unde exp1, exp2, exp3 sunt expresii. Dacă valoarea expresiei exp1 este adevărată atunci valoarea şi tipul expresiei va fi exp2; altfel valoarea şi tipul va fi exp3. ? : sunt operatorii condiţionali şi trebuie să fie folosiţi împreună. Exemplu: a=5 b = a > 7 ? 15 : 20; În acest exemplu variabilei b i se atribuie valoarea 20. Dacă a ar fi fost mai mic decât 5, lui b i s-ar fi atribuit valoarea 15. g)Operatorul de conversie explicită Acest operator realizează o schimbare temporară a tipului unei expresii şi are următoarea formă generală: (tip)expresie; unde: tip este unul dintre tipurile de date admise în limbajul C++(int, float, char, etc.). h)Operatorul dimensiune sizeof Operatorul dimensiune are următoarea formă generală: sizeof (data) Acesta returnează lungimea în octeţi a unei date. Data poate fi numele unei variabile simple, al unui tablou, al unei structuri, al unui tip sau referirea la elementul unui tablou sau structură. Aplicație.Folosind un mediu de dezvoltare al programelor scrise cu ajutorul limbajului C++(Code Blocks, MinGW, Borland C++, Dev C++) scrie și urmărește execuția programului de mai jos: #include <iostream> using namespace std; int main() { int a=10,b=15; char c='A'; cout<<(a>b?"DA":"NU")<<endl; cout<<a/b<<endl; cout<<(float)a/b<<endl; cout<<c<<endl; cout<<(int)c<<endl; cout<<sizeof(c)<<"octet"<<sizeof(a)<<"octeti"<<sizeof(b)<<"octeti "; } INFORMATICĂ – clasa a V-a 21
  • 23. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE FIŞĂ DE LUCRU - OPERATORI C++ 1.Se citeşte un număr natural care reprezintă timpul exprimat în minute. Scrieţi programul care afişează timpul exprimat în ore şi secunde. 2.Scrieţi un program care să testeze un caracter introdus de la tastatură. Dacă este literă mare, să afişeze mesajul “Literă mare”, dacă este literă mică să se afişeze mesajul “Literă mică”, altfel să se afişeze mesajul “Nu este literă”. 3.Scrieţi un program care citeşte de la tastatură un număr natural cu trei cifre şi care afişează apoi numărul obţinut prin eliminarea cifrei din mijloc. 4. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi care afişează pe câte un rând cifrele numărului. 5. Scrieţi un program care citeşte de la tastatură un număr natural cu patru cifre şi care afişează numărul obţinut prin eliminarea cifrei sutelor. Modificaţi programul, astfel încât, să afişeze numărul obţinut prin eliminarea cifrei zecilor. 6.Se citesc de la tastatură trei numere a, b şi c. Să se afişeze valoarea maximă. Modificaţi programul, astfel încât, să afişeze valoarea minimă. 7.Se citeşte de la tastatură un număr n. Să se verifice dacă este un număr pozitiv sau negativ. 8. Se citesc de la tastatură 3 numere a, b şi c care reprezintă laturile unui triunghi oarecare. Să se calculeze aria triunghiului. 9. Indicaţi rezultatele pe care le afişează programul următor. Explicaţi obţinerea acestor rezultate. { int x=2, y=7, z,u; u=x*(y-2)%3; cout<<”u=”<<u<<endl; z=u+x; x=x*y; cout<<”x=”<<x<<” y=”<<y<<” z=”<<z<<” u=”<<u<<endl; x=-y*z%3+u; cout<<”x=”<<x<<endl; z=(x-y)*(u-x); cout<<”z=”<<z<<endl; } INFORMATICĂ – clasa a V-a 22
  • 24. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE 10. Scrieţi un program care converteşte gradele Celsius în grade Fahrenheit conform formulei f=(9/5)*c+32. Datele se citesc de la tastatură. 11. Se introduc 2 numere, a şi b şi un număr k. Să se afişeze un mesaj dacă fracţia a/b poate fi simplificată prin k. 12. Se introduc 2 numere. Să se afişeze un mesaj dacă aceste numere sunt consecutive. 13. Fie variabilele x,y şi u de tipul int. Scrieţi o instrucţiune care măreşte valoarea variabilei u cu câtul întreg al împarţirii lui x la y ? 14. Scrieţi 3 valori ce pot fi citite pentru variabila y astfel încât programul de mai jos să tipărească 1 ? {int x=2, y, z; cin>>y; x++; z=y+3*x; cout<<((z%2==0 && x>=1) ? 1 : 0 ); } 15. Ce se afişează în urma execuţiei secvenţei de instrucţiuni de mai jos, dacă pentru n se citeşte valoarea 815? { int n, a, b, c, x, w, q; cout<<"n="; cin>>n; a=n/100; b=n/10%10; c=n%10; (a>b ? x=a, a=b, b=x : x); (b>c ? x=b, b=c, c=x : x); (a>b ? x=a, a=b, b=x : x); cout<<a<<" "<<b<<" "<<c<<endl; w=a*100+b*10+c; q=c*100+b*10+a; cout<<w<<" "<<q; } INFORMATICĂ – clasa a V-a 23
  • 25. NOŢIUNI TEORETICE ŞI PROBLEME OPERATORI, STRUCTURI ALTERNATIVE FIŞĂ DE LUCRU – STRUCTURA ALTERNATIVĂ Structura alternativă simplă if (expresie) instructiune_1; else instructiune_2; Structura alternativă generalizată switch (selector) { case 1: instructiune_1;break; case 2: instructiune_2;break; ----------------------------- case n: instructiune_n;break; default : instructiune_i; } 1. Se citeşte de la tastatură un număr natural întreg care reprezintă un an calendaristic. Să se verifice dacă numărul citit este un an bisect. 2.Un elev primeşte într-o zi trei note, nu toate bune. Se hotărăşte ca, dacă ultima notă este cel puţin 8, să le spună părinţilor toate notele primite iar dacă este mai mică decât 8, să le comunice doar nota cea mai mare dintre primele două. Introduceţi notele luate şi afişaţi notele pe care le va comunica părinţilor. 3. Se citesc trei numere întregi x, y, z. Dacă toate sunt pozitive să se afişeze cel mai mare număr dintre al doilea şi al treilea număr, în caz contrar să se afişeze suma primelor două numere. 4. Scrieţi un program care să testeze un caracter introdus de la tastatură. Dacă este literă mare, să afişeze mesajul “Literă mare”, dacă este literă mică să se afişeze mesajul “Literă mică”, altfel să se afişeze mesajul “Nu este literă”. 5.Se citeşte de la tastatură un număr natural întreg format din 3 cifre şi care afişează cel mai mic număr care se poate forma din cifrele sale. Modificaţi programul, astfel încât, să afişeze cel mai mare număr ce se poate forma din cifrele numărului citit. 6.Se introduc de la tastatură două numere întregi a, b şi un caracter c care reprezintă o operaţie aritmetică. Să se afişeze operaţia efectuată de operatorul citit şi să se calculeze valoarea lui e definită ca rezultat al aplicării operatorului aritmetic pe numerele a şi b (2 metode: se folosesc instrucţiuni if-else imbricate şi apoi cu instrucţiunea switch-case). 7. Scrieţi un program care să permită alegerea unei opţiuni dintr-un meniu afişat pe ecran, apoi se alege o operaţie din meniu prin introducerea numărului de ordine. Meniul conţine: 1. ORDONARE CRESCĂTOARE 2. ORDONARE DESCRESCĂTOARE Programul ordonează crescător şi descrescător cifrele unui număr întreg format din 3 cifre. 8.Se citesc trei numere întregi nenule a, b şi c care reprezintă coeficienţii unei ecuaţii de gradul II. Să se rezolve ecuaţia. Testaţi programul pentru următoarele seturi de intrare:(1,-5,6), (1,-2,1), (1,1,1). INFORMATICĂ – clasa a V-a 24