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]]. |