Clasa a V-a lecția 8 - 28 sep 2017
Tema - rezolvări
Rezolvări aici [1]
Lecție
<html5media height="720" width="1280">https://www.algopedia.ro/video/2017-2018/2017-09-28-lectie-info-08-720p.mp4</html5media>
Limbajul C
Intrucțiunea if
Am vorbit despre instrucțiunea if. Ea implementează structura alternativă. Apoi am vorbit despre operatorii de comparație ==, !=, <, <=, >, >=. Exercițiu: Să se spună dacă n divizibil cu k
![]() |
#include <stdio.h>
int main() {
int n, k;
scanf( "%d%d", &n, &k );
if ( n % k == 0 )
printf( "Da" );
else
printf( "Nu" );
return 0;
}
|
Instrucțiunea compusă
Instrucțiunea if permite cîte o singură instrucțiune pe fiecare ramură. Ce facem dacă avem mai multe instrucțiuni pe o ramură? Folosim instrucțiunea compusă, folosind acolade. Exercițiu: ecuația de gradul 1. Fie ecuația
- a · x = b
Să se calculeze x. Atenție! Ecuația poate avea multiple soluții, sau nici o soluție!
if-uri imbricate
Exercițiu cu if-uri unul într-altul (numite și if-uri imbricate):
An bisect
Să se spună dacă un an este bisect
Instrucțiunea while
Am vorbit despre instrucțiunea while. Ea implementează structura repetitivă de tip WHILE-DO. Exerciții cu instrucțiunea while:
Exercițiul 1
Suma numerelor de la 1 la n fără a folosi formula lui Gauss.
![]() |
#include <stdio.h>
int main() {
int n, s, c;
scanf( "%d", &n );
s = 0;
c = 1;
while ( c <= n ) {
s = s + c;
c = c + 1;
}
printf( "Suma este %d\n", s );
return 0;
}
|
Exercițiul 2
Să se afișeze suma cifrelor unui număr n.
![]() |
#include <stdio.h>
int main() {
int n, s;
scanf( "%d", &n );
s = 0;
while ( n > 0 ) {
s = s + n % 10;
n = n / 10;
}
printf( "Suma este %d\n", s );
return 0;
}
|
Exercițiul 3
Să se afișeze inversul unui număr n.
![]() |
#include <stdio.h>
int main() {
int n, r;
scanf( "%d", &n );
r = 0;
while ( n > 0 ) {
r = r * 10 + n % 10;
n = n / 10;
}
printf( "Rasturnatul lui n este %d\n", r );
return 0;
}
|
Tema
- Să se rezolve următoarele probleme (schemă logică + program C în CodeBlocks):
- Calculați x11 cu număr minim de înmulțiri: Care este numărul minim?
- Se citește un număr n. Să se spună cîte cifre pare are el. Exemple: dacă n=3528 el are 2 cifre pare (2 și 8), dacă n=49285640 el are 6 cifre pare (4, 2, 8, 6, 4, 0).
- Se citește un număr n. Să se afișeze cel mai mare divizor propriu al lui n (strict mai mic decît n). Exemplu: dacă n=24 cel mai mare divizor propriu este 12. Dacă n=7 cel mai mare divizor propriu este 1. Dacă n=125 cel mai mare divizor propriu este 25. Dacă n = 175 cel mai mare divizor propriu este 35.
- Problemă de logică: filozoful Immanuel Kant a ajuns acasă unde a constatat că ceasul de perete a stat deoarece a uitat să-l întoarcă. El a plecat către prietenul lui bun. Acolo a stat o vreme la discuții filozofice, apoi s-a întors înapoi acasă unde a potrivit ceasul la ora exactă! Cum a procedat Kant? Se știe că:
- Prietenul lui Kant are un ceas care merge bine
- Pe vremea lui Kant nu existau ceasuri de mînă sau alte dispozitive mobile cu ceas
- Kant merge cu viteză constantă, de ani de zile aceeași, dar nu ştie cît este.
Rezolvări aici [2]