This shows you the differences between two versions of the page.
|
cpl-atm:tema2 [2014/01/03 17:48] laura.vasilescu [Trimitere temă] |
cpl-atm:tema2 [2014/01/29 12:37] (current) alexandru.radovici [FOR] |
||
|---|---|---|---|
| Line 16: | Line 16: | ||
| Dacă două teme seamănă suficient de mult vor fi considerate copiate. | Dacă două teme seamănă suficient de mult vor fi considerate copiate. | ||
| </note> | </note> | ||
| + | |||
| + | Toate întrebările despre temă se vor purta public pe [[https://groups.google.com/forum/?hl=en#!forum/cpl-atm-2013-2014|grupul acesta]]. Toți cei care au trimis tema de casă nr. 1 au fost înscriși cu adresa de e-mail de pe care au trimis tema. | ||
| Arhiva trebuie să conțină: | Arhiva trebuie să conțină: | ||
| Line 72: | Line 74: | ||
| FOR arata in felul urmator: (atentie STEP poate lipsi, dupa step urmeaza un numar intreg pasul de incrementare) | FOR arata in felul urmator: (atentie STEP poate lipsi, dupa step urmeaza un numar intreg pasul de incrementare) | ||
| <code> | <code> | ||
| - | FOR #variabila FROM numar TO numar STEP numar | + | FOR #variabila FROM numar TO numar STEP numar DO |
| instructiuni | instructiuni | ||
| ENDFOR | ENDFOR | ||
| Line 96: | Line 98: | ||
| (1p) Implementati restrangeti expresiile constante | (1p) Implementati restrangeti expresiile constante | ||
| (1p) Implementati valoare de intoarcere a functiilor | (1p) Implementati valoare de intoarcere a functiilor | ||
| + | |||
| + | ====== Exemple ====== | ||
| + | Aici sunt cateva exemple de programe care ar trebui sa functioneze | ||
| + | |||
| + | <code> | ||
| + | |||
| + | VAR #nr | ||
| + | |||
| + | SUB prim #n | ||
| + | VAR #i, #divizori | ||
| + | #divizori = 0 | ||
| + | IF #n <> 0 AND #n <> 1 THEN | ||
| + | FOR #i FROM 2 TO #n/2 STEP 1 DO | ||
| + | IF #n MOD #i = 0 THEN | ||
| + | #divizori=#divizori+1 | ||
| + | ENDIF | ||
| + | ENDFOR | ||
| + | ELSE | ||
| + | #divizori = 1 | ||
| + | ENDIF | ||
| + | IF #divizori = 0 THEN | ||
| + | PRINT #n, " este prim" | ||
| + | ELSE | ||
| + | PRINT #n, " nu este prim" | ||
| + | ENDIF | ||
| + | ENDSUB | ||
| + | |||
| + | FOR #nr FROM 1 TO 10 STEP 1 DO | ||
| + | CALL prim #nr | ||
| + | ENDFOR | ||
| + | |||
| + | </code> | ||
| + | |||
| + | <code> | ||
| + | VAR #nr | ||
| + | |||
| + | SUB perfect #n | ||
| + | VAR #i, #s | ||
| + | #s = 0 | ||
| + | FOR #i FROM 1 TO #n/2 STEP 1 DO | ||
| + | IF #n MOD #i = 0 THEN | ||
| + | #s=#s+#i | ||
| + | ENDIF | ||
| + | ENDFOR | ||
| + | IF #s = #n THEN | ||
| + | PRINT #n, " este perfect" | ||
| + | ELSE | ||
| + | PRINT #n, " nu este perfect" | ||
| + | ENDIF | ||
| + | ENDSUB | ||
| + | |||
| + | FOR #nr FROM 1 TO 10 STEP 1 DO | ||
| + | CALL perfect #nr | ||
| + | ENDFOR | ||
| + | |||
| + | </code> | ||
| + | |||
| ====== Testare ====== | ====== Testare ====== | ||
| - | In curand | + | Fisirele pentru corectare se afla pe GitHub la acesta adresa [[https://github.com/alexandruradovici/atm-basic/blob/master/README.md]]. |