Limbaje de programare: Laborator 3

In acest laborator continuăm să scriem funcții recursive și prelucrări de caractere citite de la intrare cu functia getchar().

1. Scrieți o funcție care returnează 1 dacă parametrul n (întreg nenegativ) conține cifra c (de la 0 la 9), și zero în caz contrar.

2. Scrieți o funcție care returnează 1 dacă întregul pozitiv dat ca parametru e reprezentat printr-un șir simetric cu număr par de cifre (exemplu: 645546) și zero în caz contrar. Indicație: adaptați funcția de inversare a cifrelor scrisă la curs.

3. Scrieți o funcție care, dat fiind un întreg nenegativ returnează valoarea pe care cifrele sale în baza 10 o reprezintă în hexazecimal. Exemplu: f(312) = 3 * 256 + 1*16 + 2 = 786.

4. Scrieți o funcție care calculează cu o precizie dată (de exemplu 1e-6) limita șirului xn+1 = f(xn), presupunând că există, cu x0 și f date. Calculați astfel valorile unor termeni infiniți, cum ar fi 1/(x+1/(x+1/(... + 1/x))) sau √x+√x+ ...√x.

5. Scrieți o funcție care citește și returnează un număr dat la intrare în format hexazecimal (în baza 16). Puteți folosi funcțiile int tolower(int c) sau int toupper(int c) pentru a converti litere mari la litere mici sau invers.

6. Scrieți o funcție care citește un număr real subunitar care începe cu punctul zecimal (exemplu: .3675). Indicație: transmiteți ca parametri numărul acumulat până în prezent, și puterea (negativă) a lui 10 care corespunde poziției cifrei curente.

7. Combinați funcția de citire a unui număr natural cu funcția de la exercițiul de mai sus pentru a citi un număr real cu parte întreagă și fracționară (ambele opționale).

8. Scrieți o funcție care citește de la intrare un cuvânt (până la primul spațiu alb) sau o linie de text și le afișează cu caracterele în ordine inversă.

9. Scrieți o funcție care citește de la intrare până la un caracter specificat, și returnează numărul de caractere citite.

10. Scrieți, pornind de la funcția de mai sus, o funcție care citește de la intrare un cuvânt (până la un spațiu alb) și o funcxție care numără cuvintele citite din intrare până la EOF


Marius Minea
Last modified: Tue Oct 11 07:00:00 EET 2011