C
Sa se afiseze media aritmetica, geometrica si hiperbolica a trei valori realeAnaliza problemei - elaborarea algoritmului: - trebuie aplicate formulele pentru calculul celor trei medii si trebuie analizate cazurile : cand nu putem calcula media geometrica a trei numere(cand produsul lor este negativ,deci cand avem unul sau trei numere negative) cand nu putem calcula media hiberbolica a numerelor(cand unul dintre numere este egal cu 0 si nu poate fi facuta impartirea cu 0). - in TurboPascal exista o functie pentru calculul radicalului de ordinul 2 (sqrt),dar pentru calculul radicalului de ordinul n nu este implementata o functie de aceea pentru calculul radicalului de ordinul n folosim functia exponentiala ( exp ) pentru a calcula o puterea a lui: an =exp(n*ln(a)), iar pentru a calcula radical de ordinul n din a: a1/n=exp(1/n*ln(a)) . program medii; var a,b,c,ma,mg,mh:real; BEGIN write('a=');readln(a); write('b=');readln(b); write('c=');readln(c); writeln('ma=',(a+b+c)/3:6:2); if (a=0) or (b=0) or (c=0) then writeln('mg=0') else if a*b*c>0 then writeln('mg=',exp(1/3*ln(a*b*c)):6:2) else writeln('Nu putem calcula media geometrica ,nr negative .'); if (a=0) or (b=0) or (c=0) then writeln('Nu putem calcula media hiperbolica') else writeln('mh=',3/(1/a+1/b+1/c):6:2); readln; END. // solutia in limbajul C #include <stdio.h> #include <math.h> float a,b,c,ma,mg,mh; void main(void) else
|