algoritmi elementari

Elemente de baza in programarea calculatoarelor
probleme propuse

  • probleme cu cifrele unui numar
  • probleme despre proprietatile numerelor
  • probleme cu siruri

probleme cu divizibilitatea numerelor

Să se scrie un program care determină cel mai mic multiplu comun a două numere.

#include<iostream.h>
#include<conio.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
int a, b, i, c, r, min;
cout<<”Dati primul numar “;cin>>a;
cout<<”Dati al doilea numar “;cin>>b;
getch();

if( a != 0 && b != 0 )
if( a < b ) min = a;
else min = b;
c = 1;
for(i = 1; i <= min; i++ )
if ( a % i == 0 && b % i == 0 ) c = i;

cout<<”C.m.m.m.c este = “<<(a * b) / c<
cout<<<<<”Apasati tasta ENTER pentru terminarea programului”;
getch();
}

În urma execuţiei programului se vor afişa următoarele rezultate:

Top

probleme cu sume si produse

Să se scrie un program care calculează factorialul unui număr n citit de la tastatură.

#include<iostream.h>
#include<conio.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
int n, i;
double f;
cout<<”Dati numarul n = “;cin>>n;
getch();
f = 1;
for(i = 1; i <= n; i++) f = f * i;
cout<<”Factorialul lui “<<<” este = “<<
cout<<<<<”Apasati tasta ENTER pentru terminarea programului”;
getch();
}

În urma execuţiei programului se vor afişa următoarele rezultate:

Top

probleme diverse

Să se scrie un program care citeşte n numere întregi şi determină media aritmetică a valorilor strict pozitive din cele citite.

#include<iostream.h>
#include<conio.h>
void main(void)
{
// declaram variabilele pe care le vom utiliza in program
int a, suma, i, n, k;
double media;
cout<<”Dati numarul n = “;cin>>n;
getch();
suma = 0;
k = 0; // numarul de valori strict pozitive
for(i = 1; i <= n; i++)
{
cout<<”Dati numarul “<<<” “; cin>>a;
if(a > 0)
{
suma = suma + a;
k++;
}
}
media =(double) suma / k;
cout<<”Media aritmetica a valorilor strict pozitive este = “<<”Apasati tasta ENTER pentru terminarea programului”;
getch();
}

În urma execuţiei programului se vor afişa următoarele rezultate:

Top

probleme propuse

I. Structura liniară şi alternativă

1) Să se scrie un program care pentru 3 numere reale x,y,z date, calculează expresiile următoare:

  • E1=3*x+y2-sqrt( z/7);
  • E2=2*(x+y+z)*(x-y-z)

2) Să se scrie un program care citeşte trei numere reale şi verifică dacă acestea pot forma laturile unui triunghi.
3) Să se scrie un program care verifică dacă două puncte distincte din plan, specificate prin coodonatele lor x şi y, se află pe o dreaptă paralelă cu axa Ox sau pe o dreaptă paralelă cu axa Oy.
4) Să se scrie un program care citeşte datele a trei puncte distincte din plan, specificate specificate prin coordonatele lor şi verifică dacă punctele pot forma laturile unui triunghi, iar în caz afirmativ, calculează:
- lungimea laturilor
- aria triunghiului, prin două metode:
- formula lui Heron
- formula cu determinant
5) Să se scrie un program care citeşte coordonatele unui punct din plan şi determină în ce cadran se găseşte acesta.
6) Realizaţi un algoritm pentru rezolvarea în mulţimea numerelor reale a ecuaţiei de gradul I (a*x+b=0).
7) Realizaţi un algoritm pentru rezolvarea în mulţimea numerelor reale a ecuaţiei de gradul al II-lea (a*x2+b*x+c=0).
8.) Fie 3 numere reale a,b,c ce reprezintă laturile unui triunghi. Determinaţi tipul triunghiului: isoscel, echilateral, dreptunghic sau oarecare.
9) Fie x un număr natural de cel mult 9 cifre. Să se determine ultima cifră a numărului 3x.
10) Se consideră două triunghiuri în plan, identificate prin coordonatele vârfurilor lor. Să se verifice dacă cele două triunghiuri sunt congruente.
11) Realizaţi un program care verifică dacă un punct M din plan se află în interiorul unui triunghi, pe laturile acestuia sau în exteriorul lui. Se cunosc coordonatele punctului M şi coordonatele vârfurilor triunghiului.
12) Se dau două numere naturale a şi b cu cel mult trei cifre fiecare. Să se afişeze numărul care are suma cifrelor mai mare.
13) Se citesc de la tastatură două numere întregi a, b şi un operator op care poate fi:+, -, *, /. Se cere să se afişeze valoarea asociată expresiei a op b.
Exemplu: Pentru a=4, b=9 şi op=’*’se va afişa 36
14) Se citeşte de la tastatură un număr natural de cel mult 3 cifre. Se cere să se verifice dacă este palindrom, adică citindu-l de la sfârşit la început se obţine acelaşi număr.
Exemplu: 2002 este palindrom
15) Se dau trei puncte în plan date prin coordonatele lor. Să se verifice dacă ele sunt coliniare sau nu.

II. Structura repetitivă
1) Să se scrie un program care citeşte n numere întregi şi determină media aritmetică a valorile strict pozitive din cele citite.
2) Să se scrie un program care calculează factorialul unui număr n citit de la tastatură.
3) Să se scrie un program care calculează , unde n şi k sunt două numere naturale nenule date, n≤k.
4) Se consideră un punct P0 şi n puncte din plan, date prin coordonatele lor. Să se scrie un program care determină cel mai apropriat punct de P0 din cele n date şi distanţa corespunzătoare.
5) Să se scrie un program care să afişeze descompunerea unui număr natural dat în factori primi.
6) Să se scrie un program care să determine toate descompunerile unui număr natural n în sumă de numere naturale nenule consecutive.
7) Să se scrie un program care să afişeze toţi multiplii unui număr natural nenul k mai mici sau egali cu un număr natural nenul n.
8.) Să se scrie un program care să afişeze toate perechile de numere gemene mai mici decât un număr natural n dat. Spunem că două numere a şi b sunt gemene dacă îndeplinesc următoarele condiţii: sunt numere prime şi |a-b|=2.
9) Să se scrie un program care să determine toate perechile de numere naturale nenule distincte mai mici sau egale cu un număr natual n dat şi care au ca divizor un numar natural nenul dat d.
10) Să se scrie un program care să determine toate numerele prime cu k cifre (1<=k<=6) care au suma cifrelor egală cu o valoare s dată (1<60).
11) Să se scrie un program care să determine toate numerele deosebite din intervalul [a,b] cu a şi b numere naturale din intervalul [5, 50000]. Spunem că un număr n este deosebit dacă există un număr natural m astfel încât n = m + s(m), unde s(m) este suma cifrelor lui m.
12) Să se scrie un program care să determine cifra de control a unui număr natural n dat. Cifra de control a unui număr se obţine prin însumarea succesivă a cifrelor sale, până când se obţine o singură cifră.
13) Să se scrie un program care să construiască un număr m din cifrele pare ale unui număr natural n, dar luate în ordine inversă.
Exemplu: n=2354 m=42
14) Să se scrie un program care să afişeze toţi divizorii comuni pentru două numere întregi citite de la tastatură.
Exemplu: Pentru numerele 36 şi 20 se vor afişa: 2 4
15) Să se scrie un program care să determine toate numerele prime cu k cifre (1<=k<=6) care au proprietatea că toate prefixele lor sunt tot numere prime.
Exemplu: Pentru k=3 311 (311, 31, 3)
Top


Iti place ceea ce vezi?

Devino unul din abonaţii nostri! Vei fi primul care va şti când vom adăuga mai multe posturi extraordinare ca acesta. Alătură-te nouă fie prin e-mail sau RSS Feeds.


About the Author