Teste de informatică pentru liceu, articole C#, C/C++, PHP
1. Scrieţi funcţia recursivă care calculează suma: a
S = 1^2 + 2^2 + ... + n^2
Antet: int S(int n)
2. Scrieţi o funcţie recursivă care afişează la ecran triunghiul:
1
1 2
1 2 3
1 2 3 4
.............
1 2 3 4 ... n
Funcţia va avea antetul: void Scrie(int n) pentru apel de forma: Scrie(4)
3. Scrieţi o funcţie recursivă care primeşte ca parametru un întreg n, returnează prin intermediul parametrului max cifra maximă a lui n.
Antet: void CifMax(int n, int & max) pentru apel de forma: CifMax(2461,max)
4. Scrieţi o funcţie recursivă care citeşte de la tastatură elementele unui vector de lungime exact 20. Vectorul este a şi este considerat ca fiind declarat global.
Antet: void Citeste(int i) pentru apel de forma: Citeste(0)
5. Fie funcţia
int f(int a, int b)
{
if (a >= b) return f(a – b , b) + 1 ;
else return 0 ;
}
Ce face funcţia? Scrieţi o funcţie nerecursivă echivalentă.
Notă: Se acordă două puncte din oficiu. Fiecare subiect este notat cu 2 puncte. Orice punctaj mai mare sau egal cu 10 puncte echivalează cu nota 10.
Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică
ioana 3-12-2012 9:53:1
vreau rezolvarea la 2
Cam_asha 4-12-2012 15:30:55
#include<iostream>
using namespace std;
void Afis(int i, int n)
{
if (i <= n)
{
for (int j = 1; j <= i; j++)
cout << j << " ";
cout << "\n";
Afis(i + 1, n);
}
}
int main()
{
Afis(1,5);
return 0;
}