Documente Academic
Documente Profesional
Documente Cultură
1 Programarea structurată
2 Exerciții 1
3 Exerciții 2
4 Temă
Programarea structurată
Programarea structurată este un mod de a scrie scheme logice care îmbunătățește claritatea, citibilitatea, calitatea și ușurința modificării
ulterioare. Denumirea vine de la Programarea cu structuri. Mai exact, programarea structurată ne limitează modul în care putem folosi și
îmbina blocurile. Ele pot fi aranjate în trei feluri distincte, conform unor modele numite structuri. Aceste structuri sunt:
Structura liniară
Structura alternativă
Structura alternativă este compusă dintr-un bloc de decizie, două ramuri de execuție, DA și NU, care se reunesc la final. Blocul de
decizie contine o expresie logica. Daca expresia logica ( cond ) are valoarea True atunci se vor executa intructiunile de pe
ramura DA altfel se vor executa intructiunile de pe ramura NU.
Structura alternativă
Exerciții 1
Exerciții de folosire a structurilor liniară și alternativă folosind scheme logice
Testul de divizibilitate
Testul de divizibilitate n cu k, discuție cele două metode, prima folosind operatorul %, a doua folosind operatorul /.
Strîngeri de mînă
Avem n oameni care dau mîna fiecare cu fiecare o singură dată. În total sînt kstrîngeri de mînă. Să se scrie o schemă logică care
citește k (numărul de strîngeri de mînă), apoi calculează și afișează n (numărul de oameni).
Cifre impare
Se citește un număr n. Se știe că 1 ≤ n < 100. Să se spună dacă toate cifrele lui n sînt impare.
Exerciții 2
Exerciții de folosire a structurilor liniară și alternativă folosind - Pseudocod
int a, b, c
read a, b, c
min=a
max=a
daca ( min > b )
min = b
if (min > c)
min = c
if (max < b)
max = b
if (max < c)
max = c
write max - min;
Cate cifre pare are n?
Se citește de la tastatură un număr natural de 3 cifre. Să se determine câte cifre impare conține.
int n, contor;
read n
contor = 0
if( n % 2 != 0 )
contor = contor + 1
if( n / 10 % 2 != 0)
contor= contor+1
if( n / 100 % 2!=0 )
contor= contor+1
write contor
Au 2 numere acelasi semn?
Să se scrie un program care citeşte de la tastatură două numere întregi şi verifică dacă cele doua numere au acelaşi semn.
integer a,b
read a,b
if(a<0) then
if (b<0) then
SAU
integer a,b
read a,b
if((a<0) AND (b<0)) OR ((a>=0 si b>=0)) then
write "au acelasi semn"
else
write "nu au acelasi semn"
Temă
N are ultimele 2 cifre consecutive?
Varianta1: să se spună dacă un număr n are ultimele două cifre consecutive, în ordine crescătoare. Exemple: 312, 4523 și 1 sînt
numere care au ultimele două cifre consecutive. 215, 4321 și 7 nu au ultimele două cifre consecutive crescător.
Varianta2: să se spună dacă un număr n are ultimele două cifre consecutive. Exemple: 312, 4532 și 1 sînt numere care au ultimele
două cifre consecutive. 215, și 7 nu au ultimele două cifre consecutive.
N copii se pot aseza in forma de patrat
Varianta1: să se spună dacă n copii se pot așeza în formă de pătrat plin. Exemplu: Nouă copii se pot așeza în formă de pătrat
astfel:
x x x
x x x
x x x
Varianta2: să se spună dacă n copii se pot așeza în formă de pătrat gol ( pe laturile unui patrat. In imaginile de mai sus vom
considera ca locuri posibile doar conturul patratului. De exemplu 12 copii se pot aseza sub forma unui patrat gol astfel:
x x x x
x x
x x
x x x x
An bisect
Scrieți o schemă logică care să determine dacă un an este bisect. Un an este bisect dacă este divizibil cu 4, cu excepția anilor
divizibili cu 100, care nu sînt bisecți, cu excepția anilor divizibili cu 400 care sînt bisecți. Exemple: 2012 este an bisect, 1900 nu a
fost an bisect, 2000 a fost an bisect.
Sortare 3 numere
Se citesc trei numere, a, b și c. Să se afișeze în ordine crescătoare. Exemplu: dacă a = 8, b = 4, c = 12, se va afișa 4 8 12.
Problema Triunghi1 de pe campion
triunghi1