Clasa a VI-a lecția 8
Constante in C
Constante în C: #define. Atunci cînd o constantă apare des în program este bine să îi dăm un nume cu #define. În felul acesta programul devine mai citibil, iar în cazul unei modificări ulterioare a constantei putem modifica într-un singur loc.
#define NMAX 1e9
Un mod special de a folosi constantele este la debug: cît timp facem corecții la program putem defini o constantă care să "activeze" instrucțiuni de tipărire de debug:
#define D 1
...
if ( D )
printf( "x=%d y=%d a=%d\n", x, y, a )
...
La final, cînd considerăm că programul este corect tot ce avem de făcut este să modificăm constanta D în zero:
#define D 0
Observați folosirea lui 0 și 1 ca valori adevărat, respectiv fals.
Tipuri de Constante
a = 1; // 1 se considera constanta int
x = 1LL; // constanta long long
y = 2.; // constanta float
Conversii implicite/explicite
int a, b;
float x, medie;
x = 1./a;
x = 1 / (float) a;
medie = (a + b) / 2.;
medie = ( (float) a + b ) / 2;
int a, b;
long long s, p;
s = (long long) a + b;
s = a + b + 0LL;
p = 1LL<<60;
Corectura probleme din concurs
Concurs C2_6
- caleferata Olimpiada pe scoala 2015 clasa a 6-a Rez
- 2b1 Olimpiada pe scoala 2015 clasa a 6-a Rez
- rubine Cupa Martisor 2013 clasa a 6-a Rez
Concurs C3_6
- bomboane1 Cerc informatică Vianu Rez
- suprapuneri Cerc informatică Vianu Rez
- trigrame Concursul Infotehnium 2012 Rez
Tema
Implementati corect problemele corectate din concursuri
Am corectat urmatoarele probleme: Bomboane1, suprapuneri, Trigrame, 2b1
Recapitulati: lucrul cu caractere
Rezolvări aici [1]
Rezolvări aici [2]
Rezolvări aici [3]
Completati-va tema de la Baze de numeratie
Verificati ca ati implementat de 100p si problemele din tema precedenta ( din lectia anterioara)
Reguli
- Scopul nu este să luați 100 și atît ci sa exersați ceea ce ati invatat din lectie.
- Indentarea nu este opțională. Este obligatorie. Identati dupa regulile stabilite.
- Nu folosiți coduri ASCII! Nu aveți voie să scrieți c - 48 și nici c - 32!
- Citiți explicit caracterul de sfîrșit de linie, după ce cititi o prima linie
- Citiți pînă întîlniți caracterul sfîșit de linie, '\n'. Nu mergeti pana la EOF daca nu e cazul.
- Nu mai trimiteți cîte 5-6 surse. Creați-vă propriile teste și testați-vă programul înainte de a-l trimite la varena. La olimpiadă nu veți avea decît o singură trimitere!
- Nu inițializați variabile la declarare! Declarați toate variabilele la început.
- Compilați cu -Wall și -O2! Nu ignorați avertismentele (warnings). Le vedeți și la varena în monitorul de evaluare!
- atentie la else if-uri:
if (conditie1){
instr1;
instr2;
}
else if (conditie2){
instr3;
instr4;
}
else {
instr5;
instr6;
}