Clasa a V-a lecția 8 - 23 oct 2012
From Algopedia
Jump to navigationJump to search
Introducere
- Nu mai folosiți elemente pe care nu le-ați învățat: vă bănuiesc că vă face altcineva tema!
- Din structura repetitivă de tip WHILE-DO se iese prin josul rombului, nu prin lateral!
Tema - verificare
- Felicitări pentru instalarea CodeBlocks! Cei ce nu ați reușit v-am dat instrucțiuni. Dacă nu reușiți în continuare veniți cu laptopul data viitoare.
- Nu am reluat tema la tablă deoarece era simplă. Scopul exercițiilor a fost să vă obișnuiască cu CodeBlocks.
Lecție
Limbajul C
- Instrucțiunea if. 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ă, acolade. Exercițiu:
- Ecuația de gradul 1
- Exerciții cu if-uri unul într-altul (numite și if-uri imbricate):
- Să se spună dacă un an este bisect
- Instrucțiunea while. Exerciții:
- Suma numerelor de la 1 la n fără 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; } |
- Să se afișeze suma cifrelor lui n
![]() |
#include <stdio.h> int main() { int n, s, c; scanf( "%d", &n ); s = 0; while ( n > 0 ) { s = s + n % 10; n = n / 10; } printf( "Suma este %d\n", s ); return 0; } |
- Să se afișeze inversul lui n
![]() |
#include <stdio.h> int main() { int n, r; scanf( "%d", &n ); s = 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=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.
Rezolvări aici [1]