Sunteți pe pagina 1din 18

Limbaj de programare

Clasa a VII-a
Limbaj de programare. Vocabularul
limbajului
Limbajul C - 1970 –pt. dezvoltarea nucleului OS UNIX
- din el au derivat limbaje ca: C++, Java, JavaScript, C# (C Sharp).
Orice limbaj are un vocabular și un set de reguli gramaticale necesare pentru
programare. Simbolurile folosite în limbajul C++alcătuiesc alfabetul limbajului:

Litere: A, B, C, ..., Z, a, b, ..., z (literele alfabetului englez)

Cifre: 0, 1, ..., 9

Simboluri: + - * / \ _ (underscore)

Separatori: spațiu, tab, enter (au rolul de a separa cuvintele)


Într-un program putem insera comentarii care nu au neapărat rol în funcționarea lui,
ci doar rol informativ, pentru clarificarea unor acțiuni ce le facem în acel program.
Comentarii pe o linie: începe cu //
Comentarii pe mai multe linii: începe cu /* și se termină cu */
Limbajul de programare folosește identificatori , care desemnează diferite entități:
variabile, constante, tipuri de date. Practic, identificatorii sunt numele acestora.
Identificatorii sunt o succesiune de litere, cifre sau caractere underscore. În C++
nu pot intra în alcătuirea identificatorilor: spații, semne de punctuație, simboluri și
nu pot începe cu o cifră. Orice identificator începe cu o literă sau cu underscore. Se
face diferența între majuscule și minuscule.

Exemple de identificatori: nr_cif, z3, var1, _start, Num_Count; _7A, bigApple

Contraexemple: 1a, if, n.20, 12; Nota mică


● C++ este „case sensitive”: face diferența între literele majuscule și
minuscule. Astfel, identificatorul var diferă de Var sau vAr, ori de vaR.
● Un element de bună practică spune că numele identificatorului trebuie să
fie cât mai intuitiv și mai ușor de distins.
● Literele mari sunt folosite pentru a delimita cuvintele dintr-un identificator
(estePrim).
● Constantele și variabilele sunt informațiile de bază manipulate de un
program. O variabilă e caracterizată prin:
○ Nume – e un identificator
○ Tip de dată – o mulțime de valori pe care le poate lua variabila și un set de
operatori care se pot aplica acestor valori
○ Valoare – valoarea pe care o are la un moment dat în timpul rulării programului.
int numar;
double pi, epsilon;

Prima linie declară o variabilă de tip int care poate memora numai nr. întregi
(integer). A doua linie declară două variabile care pot memora numere reale
(floating-point). Se pot declara mai multe variabile de același tip pe linie, despărțite
prin virgulă. Instrucțiunea de declarare se termină cu punct și virgulă. Pe lângă int și
double mai există tipurile: char, float, bool, short, long. Acestea s.n. tipurile
fundamentale de date.
int ocupă de obicei 4 bytes și e folosit pt. nr. întregi
double ocupă 8 bytes și e folosit pt. nr. reale
char ocupă 1 byte și e folosit pt. caractere ASCII

Tipurile întregi sunt: short (2 bytes), int, long (8 bytes).


Tipurile reale sunt: float (4 bytes) şi double.
Tipul bool ocupă 1 byte şi memorează doar două valori: true şi false.
Algoritmi: Generarea Numerelor
Prime
Metoda clasică de generare a numerelor prime până la o anumită limită
presupune iterarea până la acea limită şi verificarea primalităţii fiecărui număr.
Dacă este prim atunci va fi afişat pe ecran. Algoritmul în C++:
1.Ciurul lui Eratostene (Sieve of Eratosthenes) este un algoritm de găsire a tuturor
numerelor prime până la un număr dat. De data aceasta voi număra numerele prime.
Paşii algoritmului: Se iterează de la 2 până la sqrt(lim).
1. Fie p, primul număr prim găsit.
2. Toţi multiplii numărului p*p se marchează ca fiind compuşi (adică ne-primi).
3. În final se numără sau se afişează toate numerele prime din intervalul [sqrt(lim)+1,
lim].
Algoritmul în C++:
De cele mai multe ori programele lucrează cu informații, și evident ele trebuie salvate undeva, și
anume, în memoria calculatorului.
Pentru a putea manipula informația în program, folosim variabile.
Variabilele trebuie declarate înainte de a putea fi folosite. A declara o variabilă înseamnă:
• Să specifici ce fel de valori vei memora în respectiva variabilă
• Să-i dai un nume
Tipul de dată specifică ce valori poate memora o variabilă şi cât spațiu va ocupa în memorie.
Calculatorul trebuie să cunoască tipul de dată al variabilei deoarece pe baza acestuia stabileşte
cât spaţiu rezervă variabilei respective şi stabileşte algoritmii de codificare şi decodificare ai
informaţiei.
De exemplu, caracterul 'a' în memorie este 1100001, dar acest şir de 1 şi 0 este de fapt numărul
97 scris în binar. Deoarece calculatorul știe (datorită tipului de date) că lucrează cu un caracter,
acesta va afişa (atunci când îi cerem) pe ecran caracterul a în loc de numărul 97.
Calculatorul ştie permanent adresa de memorie a fiecărei variabile. Astfel poate să actualizeze
informaţia stocată în respectiva locaţie.
https://ro.wikipedia.org/wiki/ASCII

http://www.asciitable.com/
Constantele pot fi:

Tip Exemple Observații


Întreg 53 sau -75 Toate constantele întregi sunt de tip int
Real 3.54 sau -63.5 Datele sunt de tip double (separatorul pt.
partea zecimală este punctul)
Real 2.5e3 sau 4.7e-2 Notație științifică: e3 este 1000; e-2 este 0.01
Valorile sunt: 2500, respectiv 0.047
Caracter ‘a’ ‘A’ Are valoarea codului ASCII, corespunzătoare
caracterului. 97 (1100001) , 65 (1000001)
Șir de “Scrii o explicație Așa afișezi mesaj text
caractere sau ce dorești”

Care este valoarea nr. 3.456e4 ? ............... Dar a nr. 12.76e-3 ? ...................
Ce înseamnă 109 (sistem zecimal) din codul ASCII? Dar 0100101 (sistem binar)?

http://calc.50x.eu/
https://ocw.cs.pub.ro/courses/iocla/laboratoare/laborator-01
https://support.office.com/ro-ro/article/conversia-numerelor-la-alte-sisteme-
numerice-880eeb52-6e90-4a9d-9e56-acaba6a27560
Operatori – în expresiile matematice, inclusiv folosite în Excel, se pot folosi doar
paranteze rotunde.

Operator Descriere Exemplu nr. Exemplu nr. reale


întregi
+ Adunare 4+12 , rezultat 8 4.0+12 , rezultat 8.0
- Scădere 12-4 , rezultat 8
* Înmulțire 4*2 , rezultat 8
/ Împărțire (doar câtul) 17/2 , rezultat 8
% Restul împărțirii 17%2 , rezultat 1

Care este valoarea expresiilor aritmetice de mai jos?

a) 4*5 – 9/2 = b) 47%10 – 9*2/7 =

c) 3*(84/10+84%10)-5 = d) 5*(3.2+4.8)/4 =
Vom scrie programe care folosesc un singur fișier. Acesta va cuprinde codul sursă
și va include biblioteci pentru funcțiile pe care le vom folosi.
Structura fișierului:

1. Biblioteci:
#include<iostream> \\ conține suport pt. realizarea op. de citire și de scriere
#include<cmath> \\ conține funcții folosite în calcule matematice
2. Declarații de variabile: le declarăm înainte de a le utiliza
3. Declarații de funcții: funcția este o procedură de a obține (prin operații
matematice succesive) valoarea funcției pornind de la argumentul ei. Este un
subprogram (miniprogram) care poate primi niște valori de intrare (argumente,
parametri) și să calculeze niște valori de ieșire.
Caracteristicile unei funcții în C: numele, parametrii de apel și valoarea returnată.
În C++ sunt definite următoarele dispozitive logice de intrare / ieșire:
cin – console input – dispozitivul de intrare
cout - console output – dispozitivul de ieșire

Transferul informației se realizează cu operatorul:


>> pentru intrare
<< pentru ieșire

Exemple:
cin>>x; citește o variabilă x de la tastatură
cout<<x; scrie valoarea variabilei x pe ecran
cout<<“Suma=“ <<a; afișează text și valoarea variabilei a
#include <iostream> #include <iostream> #include <iostream>
#include <cmath>
using namespace std; using namespace std;
int main(){ int main() int main()
{
int a; int b; int suma; {
int a,b;
cout<<"a="; int a, b; std::cin >> a >> b;
std::cout << a+b;
cin>>a; cin >> a;
return 0;
cout<<"b="; cin >> b; }
cin>>b; cout << a+b;
suma=a+b; return 0;
cout<<suma; }
return 0;
}

Programul calculează suma a două numere, introduse de la tastatură.


#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int a,b;
double c;
cout << "Da lungimea catetei:"; cin >> a;
cout << "Da lungimea catetei:"; cin >> b;
c = sqrt(a*a+b*b);
cout << "Lungimea ipotenuzei=" << c;
return 0;
}

Programul calculează ipotenuza unui triunghi dreptunghic, catetele fiind


introduse de la tastatură.
#include <iostream>
using namespace std;

int main()
{
int n, sum = 0;

cout << “Introdu un numar intreg pozitiv: ";


cin >> n;

for (int i = 1; i <= n; ++i) {


sum += i;
}

cout << "Sum = " << sum;


return 0;
}

Programul calculează o sumă Gauss


#include<iostream>

using namespace std;

int putere(int x,int y)


{
if(y==0) {return 1;}
else{return x*putere(x,y-1);}
}
int main ()
{
int a,b;
cin>>a>>b;
cout<<putere(a,b);
return 0;

Am scris o funcție recursivă care ridică un număr x la o putere y pozitivă, dată.


#include <stdio.h>
int FormeazaTriunghi(int x, int y, int z)
{
return ((x>=0) && (y>=0) && (z>=0) && (x<y+z)
&& (y<x+z) && (z<x+y)); Un program care verifică dacă
}
int main() trei nr. reale a, b, c pot
{ reprezenta laturile unui
float a,b,c;
printf("Dati lungimile laturilor:\n"); triunghi și dacă da, precizează
scanf("%f %f %f",&a,&b,&c);
if (FormeazaTriunghi(a,b,c))
tipul acestuia.
{
int echil=((a==b) && (b==c));
int isos=((a==b) || (b==c) || (c==a));
int drept=((a*a==(b*b+c*c)) ||
(b*b==(a*a+c*c)) || (c*c==(a*a+b*b)));
if (echil) printf("Triunghi echilateral.\n");
if (isos) printf("Triunghi isoscel.\n");
if (drept) printf("Triunghi dreptunghic.\n");
if ((!echil) && (!isos) && (!drept))
printf("Triunghi oarecare.\n");
}
else printf("Nu formeaza triunghi.\n");
}

S-ar putea să vă placă și