Limbaje de programare: Laborator 3

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

La intrarea în laborator trebuie predată tema 3.

Pentru a putea efectua cu succes laboratorul, trebuie să știm deja să scriem, salvăm, compilăm și rulăm programe C simple, care definesc o funcție și o apelează, tipărindu-i valoarea, ca acesta.

Studenții care nu pot face acest lucru operativ pot exersa acest lucru în timpul orei de laborator, urmând să recupereze lucrarea la o dată ulterioară, în funcție de locurile libere.

Probleme propuse

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

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

4. Scrieți o funcție care citește de la intrare un număr real. Dacă după citirea părții întregi (v. citirea unui număr natural de la curs) urmează un punct, continuăm cu citirea părții fracționare (folosiți funcția de la curs). Altfel, returnăm doar valoarea părții întregi.

5. 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ă. (Folosiți instrucțiunea if).

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


Marius Minea
Last modified: Sat Oct 6 17:50:00 EEST 2012