100din100

Primul program - Operatori si expresii - Tutorial incepatori C++

Publicat la 07 iulie 2020 · incepatori clasa 9 cpp


Alcătuirea unui program pentru rezolvarea unei probleme se rezumă defapt la rezolvarea unor probleme mai mici. Spre exemplu, pentru a afla suma numerelor prime dintr-un şir, trebuie să ştim cum să realizăm o sumă şi cum să verificăm, cât de eficient posibil, dacă un număr este sau nu prim.

În acest articol vom prezenta cele mai elementare aspecte ale limabjului C++. Vom presupune că deja aveți CodeBlocks instalat. De asemenea, avem pregătit şi un videoclip pe canalul nostru de YouTube, tot despre operatori şi expresii.


Pe PbInfo poți găsi multe probleme cu Operatori şi expresii.

Cuprinsul lecției

Crearea unui proiect nou

Un proiect conține un program creat de noi. Putem, desigur, să adăugăm alte lucruri auxiliare la proiect, dar de obicei nu va fi cazul. Pentru a putea începe să scriem cod, va trebui să creăm un proiect nou.


Deschideți CodeBlocks şi, în interfața apărută, apăsați pe "Create a new project".



O să apară o fereastră nouă, cu mai multe iconițe reprezentând diferite opțiuni de proiect. Noi vom lucra doar cu Console application deoarece informatica de liceu – algoritmica – se bazează doar pe rezolvarea unor probleme şi afişarea răspunsului pe ecran.



Apăsăm pe "Next" şi în locul ferestrei vechi o să apară una nouă.



Apăsăm din nou pe "Next" şi selectăm limbajul C++. C este asemănător ca şi sintaxă (modul de scriere) de C++, dar C++ este mai bun din multe puncte de vedere.



Apăsăm pe "Next".
La "Project Title", vom scrie cum dorim noi să ne numim proiectul. Este bine să îl numiți intuitiv – dacă rezolvați o problemă, să puneți numele proiectului la fel cu cel al problemei, de exemplu. La "Folder to create project in", vom alege un loc unde vrem ca toate proiectele noastre să fie plasate. Când se creează un proiect, se va creea un folder cu toate lucrurile necesare. Celelalte două căsuțe, "Project filename" şi "Resulting filename" trebuie lăsate exact aşa cum sunt.



Apăsăm din nou pe "Next".
La ultima fereastră, asigurați-vă că la "Compiler" este selectat "GNU GCC Compiler". Celelalte opțiuni de mai jos trebuie lăsate exact aşa cum sunt, şi nu modifică modul în care se creează programul. Apăsăm pe "Finish".



Interfața de început a dispărut, iar pe partea stângă, sub "Workspace", a apărut numele proiectului. Sub ar trebui să se afle un folder "Sources". Dați dublu click şi o să apară sub un fişier numit "main.cpp". Dând pe el dublu click o să apară nişte "comenzi" pe zona principală a codeblocksului:




#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

Cum arată un program (şi sfaturi)

Inițial când creați un proiect, scrisul poate fi foarte mic. Pentru a îl mări, puteți ori să țineți apăsat pe CTRL şi apăsând pe + sau pe -, ori să țineți apăsat pe CTRL şi dând scroll cu mouse-ul în sus sau în jos.


Ok, haideți să vorbim despre cod. Observăm mai întâi prima linie:


#include <iostream>


Asta îi spune programului că lucrăm cu o "bibliotecă", mai exact biblioteca iostream. O bibliotecă este defapt nişte cod scris deja de către altcineva, de unde putem "împrumuta" o bucată din acel cod. iostream este responsabil pentru citire şi afişare pe ecran (io înseamnă input şi output, iar stream înseamnă flux, adică practic controlează citirea şi scrierea).
Prin urmare, iostream ne ajută să putem lua date de la utilizator şi să afişăm alte date pe ecran.
Noțiunea de "bibliotecă" poate fi utilă pe viitor când o să avem nevoie de a efectua operații matematice complexe, de a citi şi de a scrie într-un fişier sau de a face alte lucruri mai complexe.


A doua linie, using namespace std;, nu este importantă, pentru moment. O să vorbim în tutoriale viitoare despre ce face exact.


Acum este partea esențială:


int main()
{
    ...
}

Tot ce este între cele două acolade, adică în locul ..., va fi rulat de îndată ce este rulat programul. Aşadar, dacă am lăsa programul exact aşa cum era la început, s-ar rula aceste două instrucțiuni:


cout << "Hello world!" << endl;
return 0;

Pe scurt, prima afişează pe ecran textul Hello world!, iar a doua opreşte programul.
IMPORTANT! Dacă vreodată apare return 0; în program, tot ce apare după el nu va rula.


Instrucțiuni. Ce sunt instrucțiunile.

O instrucțiune este o operație de bază a unui program. De exemplu, pentru a face suma a două numere, citim ambele numere (instrucțiunea 1) şi salvăm suma lor (instrucțiunea 2).


Instrucțiunile se termină în punct şi virgulă ;, astfel încât programul să ştie unde se termină una şi unde începe cealaltă. Aşadar, putem să scriem două instrucți pe aceeaşi linie şi va fi corect, atât timp cât au ;.


cout << "Hello world!" << endl; return 0; este corect
cout << "Hello world!" << endl;      return 0; este corect


Cum să rulezi programul

De fiecare dată când vrei să vezi dacă programul tău funcționează, trebuie să îl rulezi şi să te verifici. Aici îți arătăm cum să îți rulezi programul. Pe scurt, apeşi pe F9 sau Fn + F9 pentru a rula programul.


Butoanele de build, run şi build & run.
Build & run rulează programul.


Dacă rulăm programul exact aşa cum era inițial, ar trebui să apară o fereastră neagră pe care să scrie:


Hello world!

Process returned 0 (0x0)   execution time : .... s
Press any key to continue.

Merge! Partea cu Process returned 0 [...] continue. este afişat mereu şi te ajută să îți dai seama dacă a rulat bine şi cât timp efectiv a luat să termine tot programul. Tot ce este înainte este afişat de către program – cum noi am afişat "Hello world" şi am pus un enter (cu endl), asta a făcut şi programul.


Comenzi (instrucțiuni) elementare

Avem o serie de instrucțiuni elementare. Prima dintre ele este cea de afişare. După cum am văzut mai sus, pentru a afişa un mesaj, va trebui să scriem:


cout<<"Mesaj aici";


Dacă scriem comanda de două ori, vom observa că textul este legat. Adică:

cout<<"Mesaj aici";
cout<<"Mesaj aici";

Va afişa:

Mesaj aiciMesaj aici

Dacă vrem să mergem pe următorul rând, vom adăuga un cout << endl; unde vrem noi să punem noul rând. Codul devine:

cout<<"Mesaj aici";
cout<<endl;
cout<<"Mesaj aici";
Mesaj aici
Mesaj aici

Observații. 1. Când scriem endl, nu punem între ghilimele
2. Pentru a scurta codul, putem să lipim totul într-o singură linie; codul de mai sus se poate scrie şi aşa:

cout<<"Mesaj aici"<<endl<<"Mesaj aici";

Declararea variabilelor

Variabilele sunt nişte bucăți de informație pe care le putem să le stocăm undeva în calculator şi să le accesăm cu uşurință pe parcursul programului. Se numesc variabile deoarece valoarea lor poate varia pe parcursul programului. Declararea are următoarea structură:


tipVariabilă numeVariabila;
sau
tipVariabilă numeVariabila = valoareInițială;


Pentru a fi eficient cu memoria, C++ are anumite tipuri de variabile în funcție de ce vrem noi să obținem – dacă vrem doar valori întregi, e un tip special pentru asta, dar dacă vrem numere reale, e un alt tip. Aici poți găsi o listă întreagă cu tipuri de date în C++.


Pe scurt, de obicei, pentru un număr întreg folosim int, pentru un număr real folosim double. Aşadar, dacă vrem să declarăm o variabilă care reține un număr întreg, scriem:


int numeVariabila;
sau
int numeVariabila = 5;


Observație: Dacă i-am da unei variabile întregi o valoare reală, se va lua partea întreagă.


Tutorial video operatori şi expresii




PbInfo - Probleme rezolvate şi indicații - operatori şi expresii




Test din operatori şi expresii

Completează următoarea secvență de cod:

//vrem să reținem un caracter în variabila x. Ce tip de dată folosim?
x = 'a';
· Vezi răspunsul

//pentru mai multe detalii: https://100din100.netlify.app

Răspunde la următoarea întrebare:

347 % 5 este egal cu . · Vezi răspunsul


Alte articole

Primul tau program, variabile si operatii - TUTORIAL COMPLET C++

Eşti elev de liceu şi nu înțelegi informatica? Acest clip ar trebui să te ajute să înțelegi cele mai elementare aspecte privind informatica de liceu - algoritmica...

Rezolvări probleme PbInfo

Problemele de informatică pot fi dificile uneori, şi este util să vedem o soluție bună pentru a ne autoverifica. De multe ori sunt necesare doar nişte modificări minore, de aceea este bine să analizăm soluțiile bune cu atenție!

Video - Probleme Rezolvate PbInfo

Aici gasiti rezolvarea mai multor probleme de pe site-ul pbinfo.ro, în format video, pe canalul nostru de YouTube.

Parcurgerea matricei in spirala in C++

Cu ce ne ajută parcurgerea matricei pătratice în spirală? În concursuri şi olimpiade apar probleme legate de parcurgerea matricei în spirală. Deşi ideea de bază este destul de uşoară, algor…

Sume partiale. Suma elementelor dintr-o submatrice in C++

Cu ce ne ajută sumele parțiale? Unele probleme cer aflarea sumei elementelor unei secvențe dintr-un şir dat. Metoda naivă, care face suma tuturor elementelor din secvența cerută, deobicei n…

Verifica daca un an este bisect in C++

Dându-se un an, trebuie verificat dacă este un an bisect sau nu. Exemplu:Intrare 2021 Ieşire NU Definiția anului bisect Deşi pare evident, anii bis…

Prelucrarea cifrelor unui numar pentru incepatori in C++

Acest articol urmăreşte aplicarea diferitelor aplicații cu cifrele unui număr: suma cifrelor, numărul de cifre, oglinditul unui număr ş.a.m.d. Puteți găsi multe probleme care cer prelucrarea cif…

Afişare cu 2 zecimale exacte, fără şi cu rotunjire - TUTORIAL C++

Tutorialul acesta te învață cum să afişezi un număr real cu mai multe zecimale exacte. Multe probleme cer...

Algoritmi elementari - video

Tutoriale uşor de urmărit, sub forma unor videoclipuri!

Vectori caracteristici si vectori de frecventa - Materie Olimpiada Informatica C++

Ce este un vector de frecvență sau un vector caracteristic? Vectorii caracteristici rețin dacă un element se află într-un vector sau nu. Similar, vectorii de frecvență rețin numărul de apar…

Ciurul lui eratostene - generarea numerelor prime - olimpiada C++

Să zicem că vrem să aflăm dacă mai multe numere sunt sau nu prime. Desigur, putem aplica algoritmul de aflare a numărului de divizori pentru toate numerele, doar că dacă avem foarte multe şi sun…

Smenul lui Mars (Difference Arrays) in C++

Ce este Şmenul lui Mars? Să zicem că avem un şir a[] cu n elemente. Unele probleme cer efectuarea unor operații de tipul sum(st, dr, val), cu semnificația că adunăm la …

Al doilea cel mai mic/mare element al unui sir in C++

Dându-se un şir de numere naturale distincte, aflați al doilea cel mai mic număr din şir. Exemplu:Intrare 9 5 8 2 4 Ieşire 4 Explicație4 este al doilea cel mai mi…

Sortarea vectorilor si a structurilor (pentru incepatori) in C++

Sortarea în informatică reprezintă procesul de a ordona un şir de obiecte (numere, caractere, sau chiar şiruri) după un anumit criteriu. Spre exemplu, putem ordona crescător sau descrescăto…

Citirea si Afisarea in fisiere in C++ - Tutorial Incepatori

De ce citirea din fişier? De multe ori este necesară citirea şi afişarea în fişier, unul din motive fiind faptul că nu trebuie să reintroducem datele de intrare de fiecare dată când rulăm p…

Tipuri de date in C++ si C - Tutorial Incepatori

De ce avem nevoie de date? În timp ce lucrăm cu valori, avem nevoie (uneori chiar suntem siliți!) să memorăm datele undeva, în memorie. Prin intermediul variabilelor putem accesa o zonă de …

Ce este coada/queue si cum functioneaza? Tutorial clasa a 10-a

Ce este coada? Coada (Queue din engleză) este o structură de date liniară care funcționează prin inserarea elementelor noi la spate şi prin eliminarea elementelor doar prin față. Altfel spu…

Ridicarea la putere in timp logaritmic pentru olimpiada in C++

Un număr de forma b la puterea e nu poate fi calculat precum celelalte operații (adunarea, scăderea, înmulțirea, împărțirea) pur şi simplu. În articolul acesta vom prezenta un mod foarte …

Primul program - Operatori si expresii - Tutorial incepatori C++

Alcătuirea unui program pentru rezolvarea unei probleme se rezumă defapt la rezolvarea unor probleme mai mici. Spre exemplu, pentru a afla suma numerelor prime dintr-un şir, trebuie să ştim cum …

Divizorii unui numar - tutorial incepatori in C++

Prezentul articol te va ajuta să îndeplineşti diferite aplicații cu divizorii unui număr. Trebuie cunoscută parcurgerea divizorilor unui număr, înainte de toate, ca să ne asigurăm că ştim s…

Creeaza un joc 2D in PYTHON pentru incepatori - Capitolul 0 (Instalare)

Care-i faza? În aceste câteva tutoriale vom învăța cum să îți creezi propriul joc video în Python. Puteți viziona atât pe YouTube, cât şi în format text pe site-ul nostru (aici adică). …

Tablelul ASCII - clasa a X-a - char C++

Ce este tabelul ASCII? Calculatorul reține numere (valori de 1 şi de 0), aşadar a fost nevoie de o corespondență între numere şi caractere pentru a putea reprezenta litere, si…

Cautarea binara pentru olimpiada in C++

Ce este căutarea binară? Să zicem că ai un vector a[] cu n elemente crescătoare. Căutarea binară este un algoritm eficient care determină dacă orice număr x apare sau n…

Verifica daca o data este valida in C++

Dându-se o dată (zi lună an), trebuie verificat dacă data este validă sau nu. Exemplu:Intrare zi = 3, luna = 4, an = 2021 Ieşire DA Pentru a verifica da…

Învață să programezi gratis!

Am lansat InfoAs, o platformă de informatică cu sute de probleme, lecții și concursuri, totul gratuit. Încearcă acum!