Documente Academic
Documente Profesional
Documente Cultură
Elemente de limbaj
Declararea variabilelor
Familiarizarea cu mediul de
programare Code Blocks
Structura liniară/lucru cu fișiere
În funcție de tipul de informație pe care le memorează, datele1, în limbajul C++, se clasifică în:
Date numerice
o Naturale: tipurile unsigned short, unsigned int, unsigned long, unsigned long long
o Întregi: tipurile short, int, long, long long
o Reale: tipurile float, double
Caractere: tipul char(memorează caractere alfanumerice, semne de punctuație, etc.)
Logice: tipul bool (are doar două valori: true(adevărat)/false(fals) )
Orice variabilă înainte de a fi utilizată trebuie declarată. Forma generală de declarare a unei
variabile respectă următoul format:
nume_tip nume_variabila; nume_tip variabila1, variabila2,....;
sau împreună cu operația de declarare se poate face și o inițializare variabilei cu o valoare
constantă sau cu rezultatul unei expresii astfel:
nume_tip nume_variabila = constantă; nume_tip variabila = expresie
Pentru a reuşi să scrieţi un program în limbajul C++, trebuie să deschidem mai întâi spațiu de
lucru. La un moment dat putem avea în lucru unul sau mai multe proiecte în spaţiul de lucru. Un
proiect este o colecție de una sau mai multe surse şi fișiere. Fișierele sursă sunt fișiere care conțin
codul sursă pentru programul tău. Un fişier care conţine un cod sursă scris în limbajul C++ va avea
1
Tabelul care conține toate tipurile de date, număr de octeți alocat și domneiul de valori le găsiți în Anexa 1
extensia ”.cpp” . Configurarea unui proiect vă permite să urmăriți toate fișierele într-un mod
organizat.
Pas 2: Se va deschide o fereastă ca în imaginea următoare din care veți selecta opţiunea Console
Application, după care apăsaţi butonul Go.
Pas 3: În secţiunea Project Title scrieţi numele noului proiect, după care din secţiunea Folder to
create project in: se stabileşte locul în care se va salva noul proiect, iar la sfarşit selectaţi butonul
next.
Pas 6: După ce ați editat codul sursă programul trebuie verificat dacă este corect scris, din punct
de vedere sintactic(etapa de compilare - Build). Acest lucru poate realiza astfel:
Atunci când programul nostru nu conţine erori de sintaxă în partea inferioară a ecranului ne apare
un mesaj de forma:
Pas 7: În acest moment putem lansa în execuţie programul nostru pentru a vedea rezultatele
obţinute astfel:
din meniul superior selectăm în ordine opţiunile: Build->Run
apăsând combinaţa de taste Ctrl+F10
sau apăsând pe icon-ul Run:
Denumirea programului
Structura liniară
Structura liniară este cea mai simplă structură de control din algoritmică. Structura liniară
sau secvenţială execută instrucţiunile în ordinea în care apar, de la prima la ultima instrucțiune, fără
salturi peste instrucţiuni şi fiecare înstructiune se execută doar o singură dată. De exemplu, dacă
avem un număr de n instrucţiuni, așezate una după cealaltă ordinea de executare este:
Operaţia de citire
Definiţie 1: Citirea datelor reprezintă operaţia prin care una sau mai multe variabile primesc
valori prin introducerea lor de la tastatură sau prin extragerea lor de pe un suport
extern(adică dintr-un fişier text, acest lucru însă va fi studiat mai târziu în lecţia despre fişiere).
În fişierul antet iostream este definit acest stream de intrare a datelor de la tastatură,
denumit cin (console input). Atunci când dorim să citim datelele de la tastatură le vom extrage din
fluxul de intrare, folosind operatorul de extragere ”>>”. Din acest punct de vedere forma generală a
operaţiei de citire este:
cin>>nume_variabilă;
Dacă dorim să citim succesiv mai multe variabile, atunci putem utiliza operatorul de
extragere înlănţuit, adică:
cin>>nume_variabilă_1>>nume_variabilă_2>>…>>nume_variabilă_n;
De exemplu:
Scrieţi un program care citește de la tastatură două numere întregi.
#include<iostream>
using namespace std;
int main()
{ int a,b;
cin>>a;
cin>>b;
return 0;
}
Operaţia de afişare
Definiţie 2: Prin afişarea sau scrierea datelor vom întelege operaţia prin care rezultatele obţinute
prin prelucrarea datelor de intrare vor fi afişate pe ecranul monitorului, fie vor fi memorate într-un
fişier text pe un suport extern de memorare.
În fişierul antet iostream este definit acest stream de ieşire a datelor de la tastatură,
denumit cout (console output). Atunci când dorim să afişăm datelele le vom extrage din fluxul de
ieşire, folosind operatorul de ieşire ”<<”. Din acest punct de vedere forma generală a operaţiei de
afişare este:
cout<<expresie;
Ca efect, se evalueză expresia, iar valoarea ei este convertită într-o succesiune de caractere care vor
fi afişate pe ecran. Şi operatorul de ieşire poate fi utilizat înlănţuit atunci cand dorim sa afişăm mai
multe date pe ecran:
cout<<expresie_1<<expresie_2<<expresie_3<<…<<expresie_n;
Pentru ca afişarea unor date să se realizeze de la începutul rândului următor se va folosi
manipulatorul numit endl (end line) sau mai rapid ‘\n’.
De exemplu: Se citesc de la tastatură două numere întregi a şi b. Scrieţi un program care calculează
şi afişează pe ecran suma lor.
citeste b
scrie a+b
SETUL I
Precizați efectul următoarelor instrucțiuni:
a)
b)
c)
d)
e)
f)
SETUL II
1. Să se scrie un program care citește de la tastatura două numere întregi și determină suma
lor.
2. Se dau două numere naturale. Calculați suma, diferența, produsul și câtul lor, în această
ordine.
3. Calculați ultima cifră a sumei a două numere naturale.
4. Se citește de la tastatură un număr a format din trei cifre. Scrieţi un program care calculează şi
afişează pe ecran numărul obţinut prin eliminarea cifrei din mijlocul numărului dat.
Exemplu: dacă a=371 se va afişa 31
2. Fie a un număr format din cinci cifre a1a2a3a4a5. Să se afişeze pe ecran un triunghi format din
cifrele numărului dat astfel:
a3
a2 a3 a4
a1 a2 a3 a4 a5
Exemplu: dacă a=37156 se va afişa un triunghi astfel:
3
715
37156
3. Perimetrul unui pătrat este egal cu latura altui pătrat. Ştiind că suma perimetrelor este x să se
calculeze ariile celor două pătrate.
Exemplu: Pentru x=20 se va afişa aria1=1 și aria2 = 16
5. Creioane și pixuri
Patru creioane și zece pixuri costa 60 lei, iar 2 creioane și un pix costă 11 lei. Scriți un
algoritm și un program în C++, afișează în fișierul text rez, cât costă un creion și cât costă un pix.
(cele două valori determinate se vor afișa pe linii separate)
6. Numere
Suma a două numere este 600. Dacă împărțim un număr la celălalt se obține câtul 3 și restul
80. Scrieți un algoritm și un program C++, care determină valoarea celor două numere. Rezultatele
vor fi afișate pe ecran.
1. Se citesc de la tastatură două numere întregi. Scrieţi un program care să determine care
este cel mai mic număr număr citit utilizând următoare relație matematică:
a+b+|a−b|
max(a, b)a=
2
Exemplu: dacă a=40 şi b=12 se va afişa 12, iar |a| se calculează cu ajutorul funcției
predefinite abs(a) definită în fișierul header <cmath>
8. Globuri
Într-un brad sunt a globuri albe, de două ori mai multe globuri roșii și globuri verzi cu 3 mai
puține ca numărul de globuri roșii. Câte globuri sunt în total ?
Date de intrare Programul citește de la tastatură numărul natural a.
Date de ieșire Programul va afișa pe ecran numărul total de globuri.
Restricții și precizări: 2 ≤ a ≤ 1000
Exemplu: Sunt 7 globuri albe, 14 roșii și 11 verzi, în total 32 globuri.
(problema #813 Globuri de pe www.pbinfo.ro)
Într-o familie sunt trei copii şi un căţel. Copiii au primit în dar o pungă mare de bomboane pe
care s-au hotărât să le împartă frăţeşte după somnul de după-amiază. În timp ce ceilalţi doi copii
dormeau, unul dintre copii s-a trezit, a împărțit grămada în trei părți egale, ascunzând una dintre
părți. O bomboană a rămas în plus pe care i-a dat-o căţelului. Povestea s-a repetat și cu ceilalți doi
copii. După-amiază copiii împart bomboanele rămase în trei părți egale, rămânând din nou o
bomboană în plus care îi revine căţelului.
Cerință: Să se verifice dacă numărul de bomboane primit de cei trei copii permite derularea
exactă a evenimentelor prezentate mai sus și în caz afirmativ să se determine numărul de bomboane
pe care le primește fiecare copil. În caz negativ se va afișa valoarea 0.
Date de intrare: Din fșierul text bomboane.in se citește un număr natural n, care reprezintă
numărul de bomboane primit de cei trei copii.
Date de ieșire: Se vor afișa în fișierul text bomboane.out astfel:
Pe un singur rând, trei numere naturale separate printr-un spațiu, care reprezintă
numărul de bomboane luate de fiecare copil, în ordinea trezirii acestora
sau valoarea 0, dacă numărul din fișierul de intrare nu pemite derularea exactă a
evenimentelor prezentate mai sus.
Precizări și restricții: N≤ 1000.
Exemplu:
bomboane.in bomboane.out bomboane.in bomboane.out
79 33 24 18 123 0
(Concursul Centrului de Pregătire pentru Performanță, Suceava, 2017 –grupa gimnaziu începători )