Limbaje de programare: Laborator 4

In acest laborator continuăm să scriem funcții recursive și prelucrări prin citirea șî scrierea caracter cu caracter; folosim iterația și scriem soluții iterative pentru probleme rezolvate anterior recursiv.

La intrarea în laborator trebuie predată tema 4.

1. Rescrieți folosind iterația funcțiile de la curs care calculează numărul / suma / maximul cifrelor unui număr.

2. Scrieți o funcție care determină dacă un număr e prim, încercând succesiv împărțirea cu 2 și apoi cu numere impare, cât timp câtul e mai mare decât împărțitorul.

3. Scrieți, folosind iterația, o funcție care calculează termenul de ordin n din șirul lui Fibonacci: F0 = 0, F1 = 1, Fn = Fn-1 + Fn-2, (n ≥ 2).
Indicație: folosiți trei variabile, pentru termenul nou Fn, ultimul termen Fn-1 și penultimul termen Fn-2. Cănd se incrementează indicele curent (pănă ajunge la n), termenul nou ia locul ultimului, iar ultimul ia locul penultimului.

4. Scrieți funcții care fac prelucrări simple pentru texte citite caracter cu caracter de la intrare:

Tratați întotdeauna și cazul când se ajunge la sfârșitul intrării înainte de condiția de oprire dorită!

5. Scrieți o funcție care tipărește transformat un text citit de la intrare, până la primul spațiu alb sau EOF. Orice literă se transformă prin deplasare circulară cu 2 poziții în alfabet: a devine c, b devine d, ..., y devine a, z devine b, A devine C, etc. Caracterele care nu sunt litere rămân neschimbate.
Scrieți întâi o funcție care returnează valoarea transformată a unui caracter. Folosiți restul modulo 26.

6. Scrieți o funcție care calculează iterativ, cu o precizie dată (de exemplu 1e-6) limita șirului xn+1 = f(xn), presupunând că există, cu x0 și f date, de exemplu f(x) = 1/(x + 2), sau f(x) = √x+3, pentru x0=0
Indicație: folosiți o variabilă pentru ultimul termen calculat, și una pentru termenul curent; actualizați ultimul termen cu cel curent când avansați la termenul următor.

7. Scrieți o funcție care ia ca parametru un număr real, presupus nenegativ si subunitar, și îi tipărește succesiv atâtea cifre zecimale câte indică un al doilea parametru.
Sugestie: înmulțind numărul cu 10, obținem un număr în intervalul [0, 10). Partea întreagă e cifra zecimală dorită; cu partea zecimală repetăm procedeul.
Un număr real x poate fi trunchiat la întreg (înspre zero) prin atribuire la un întreg, sau prin conversie de tip: (int)x .


Marius Minea
Last modified: Tue Oct 16 12:00:00 EET 2012