Informatică, întrebare adresată de sxmn6323p74owi, 8 ani în urmă



Alege programele a căror execuție se termină după un număr finit de pași

1.#include
using namespace std;

int main() {
int a=5;
while(a > 0) {
--a;
}
return 0;
}

2.#include
using namespace std;

int main() {
int a=5, b;
while(a > 0) {
++b;
}
return 0;
}

3.#include
using namespace std;

int main() {
int a = 5, b = 7;
while(a != b) {
--b;
++a;
}
return 0;
}

4. #include
using namespace std;

int main() {
int a = 5, b = 8;
while(a != b) {
--b;
++a;
}
return 0;
}

Răspunsuri la întrebare

Răspuns de JolieJulie
2

Raspuns : 1,3 (In poza ai si ce se afiseaza pt a si b la fiecare program)

La 1. : a scade cu 1 unitate,pana devine 0,deci ia valorile 4,3,2,1,0.Deci executia se termina dupa un nr finit de pasi.

La 2. : a-ul este initial 5 si nu se schimba,deci se respecta la infinit conditia ca a>0,deci b-ul va creste incontinuu.(pana se da programul peste cap ... ).Deci se executa un numar infinit de pasi.

La 3. :  a creste si b scade in acelasi timp,pana a=b.Dupa doar o crestere a lui a si o scadere a lui b,numerele devin egale (cu 6),ceea ce inseamna ca programul iese din while.Deci se executa un numar finit de pasi.

La 4. : a=5 si b=8.Dupa primul pas,a devine 6 si b devine 7.Dupa al doilea pas,a devine 7 si b devine 6.Asadar,a o sa creasca si b o sa scada la infinit.
Anexe:
Alte întrebări interesante