This shows you the differences between two versions of the page.
cpl-atm:tema2 [2013/12/19 08:31] alexandru.radovici [Functi] |
cpl-atm:tema2 [2014/01/29 12:37] (current) alexandru.radovici [FOR] |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Trimitere temă ===== | ===== Trimitere temă ===== | ||
- | Tema de casă se trimit sub forma unei **arhive ZIP** pe mail către: | + | Tema de casă se trimit sub forma unei **arhive ZIP**. |
- | * laura.vasilescu@cti.pub.ro **ȘI** alexandru.radovici@cs.pub.ro | + | |
- | Numele email-ului trebuie să fie de forma: **[ATM][2] Prenume Nume**. | + | Arhiva va fi uploadă folosind un serviciu public de sharing (Google Drive, Dropbox etc.). Trebuie să trimiteți link-ul către locația de unde putem downloada tema de casă. |
- | Spre exemplu, email-ul trimis de studentul Jeffrey Ullman se va numi: [ATM][2] Jefferey Ullman. | + | |
- | Numele arhivei trebuie să fie de forma: **ATM_Nume_Prenume.zip**. | + | Trimiterea temei de casă se face prin completarea [[https://docs.google.com/forms/d/1ogEGHs57glx4StRFiX8ImGmDT1w8dqWHQnMoLs1ftzs/viewform|acestui formular]]. |
- | Spre exemplu, arhiva trimisă de studentul Jeffrey Ullman se va numi ATM_Ullman_Jeffrey.zip | + | |
+ | <note> | ||
+ | Atenție! Nu faceți link-ul public! Dacă ajunge link-ul public, colegii ar putea să se inspire din tema voastră. | ||
+ | |||
+ | Dacă două teme seamănă suficient de mult vor fi considerate copiate. | ||
+ | </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 69: | 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 93: | 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]]. |