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.

1. Scrieți o funcție care scrie în format hexazecimal numărul natural primit ca parametru.
Adaptați funcția de tipărire în baza 10 scrisă la curs. Pentru o soluție mai clară, scrieți întâi o funcție care scrie cifra hexazecimală care corespunde unei valori de la 0 la 15.

2. 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ă!

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

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

5. Scrieți varianta iterative pentru calculul termenului n din diverse șiruri recurente: progresii aritmetice, suma de la 1 la n, șirul lui Fibonacci, etc.

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


Marius Minea
Last modified: Wed Oct 19 05:45:00 EET 2011