Un blog con cuestiones, ejercicios, problemas, aplicaciones y comentarios relacionados con los contenidos de Matemáticas del primer curso de Bachillerato en las modalidades de Ciencias y Tecnología
lunes, 15 de octubre de 2001
lunes, 1 de octubre de 2001
Descomposición en unidades múltiples de una cantidad sexagesimal dada en forma incompleja. Un ejercicio de programación en C/C++
//----------------------------------------------------------------- // Descomposició en unitats múltiples // // Joan Aranes Clua // data: 18/12/2001 // // En aquest exercici s'efectua la descomposició // d'una certa quantitat de segons en unitats múltiples // t segons = d dies, h hores, m minuts i s segons // //----------------------------------------------------------------- #include <stdio.h> #include <math.h> void main () { //declaració de les variables globals // variable corresponent a la dada d'entrada unsigned int t; // quantitat de temps en segons // // variables corresponents a les dades de sortida unsigned int d; // quantitat de dies unsigned int h; // quantitat d'hores residual unsigned int m; // quantitat de minuts residual unsigned int s; // quantitat de segons residual //entrada de la quantitat de temps en segons printf("-----------------------------------\n"); printf("Entreu una quantitat de temps en segons\n"); scanf("%u",&t); // s = t%60; m = (int(t/60))%60; h = (int(t/(60*60)))%24; d = int(t/(60*60*24)); // sortida: temps expressat en forma complexa printf("-----------------------------------\n"); printf("\n%d dies\n",d); printf("\n%d h\n",h); printf("\n%d min\n",m); printf("\n%d s\n\n",s); }
Etiquetas:
C,
C/C++,
descomposición en unidades múltiples
Implementación del algoritmo de Euclides. Cálculo del máximo común divisor de dos números enteros positivos. Un ejercicio de programación en C/C++
///////////////////////////////////////////////////////////////// // Algorisme d'Euclides // // Cálcul del máxim comú divisor de dos nombres enters positius// // Joan Aranès Clua // // 17/12/2001 // ///////////////////////////////////////////////////////////////// #include <stdio.h> int mcd(int,int); void main(){ int m,n; printf("Introduïu dos nombres enters separats per un espai\n"); scanf("%d %d",&m,&n); printf("\n\nmcd(%d,%d) = %d\n",m,n,mcd(m,n)); } int mcd(int x,int y) { int reste; // reste i quocient de les divisions int dividend,divisor; // DIVISIONS SUCCESSIVES // primera divisió: dividend=(x>y)?x:y; divisor=(y<x)?y:x; reste=dividend%divisor; // per a les divisions següents // s'asigna al nou divisor el valor de l'antic reste // fins arribar a una divisió amb reste nul // el divisor d'aquesta darrera divisió és el m.c.d.{x,y} while(reste>0) { dividend=divisor; divisor=reste; reste=dividend%divisor; // } return divisor; }
Etiquetas:
algoritmo de Euclides,
C,
C/C++,
máximo común divisor
Cálculo del máximo común divisor de tres números enteros positivos. Un ejercicio de programación en C/C++
//----------------------------------------------------------------- // m.c.d. de tres nombres enters positius // // Joan Aranès Clua // data: 17/12/2001 // // Aquest programa calcula el m.c.d.{m,n,p} //----------------------------------------------------------------- #include <stdio.h> //declaració de la funció que calcula el m.c.d. de dos n. enters positius: int mcd(int,int); // void main() { int m,n,p; // variables corresponents a les dades d'entrada printf("Introdu\x08Bu tres nombres enters separats per un espai\n"); scanf("%d %d %d",&m,&n, &p); printf("\n\nmcd(%d,%d,%d) = %d\n",m,n,p, mcd(mcd(m,n),p)); } int mcd(int x,int y) { int reste; // reste i quocient de les divisions int dividend,divisor; // DIVISIONS SUCCESSIVES // primera divisió: dividend=(x>y)?x:y; divisor=(y<x)?y:x; reste=dividend%divisor; // per a les divisions següents // s'asigna al nou divisor el valor de l'antic reste // fins arribar a una divisió amb reste nul // el divisor d'aquesta darrera divisió és el m.c.d.{x,y} while(reste>0) { dividend=divisor; divisor=reste; reste=dividend%divisor; // } return divisor; }
Etiquetas:
gcd,
máximo común divisor,
mcd,
teoría elemental de números
Cálculo del área de un triángulo. Un ejercicio de programación en C/C++
//----------------------------------------------------------------- // Àrea d'un triangle // // Joan Aranès Clua // data: 18/12/2001 // // En aquest exercici es tracta de fer un programa // que calculi l'àrea d'un triangle qualsevol (expressada en unitats arbitràries) // a partir de les coordenades dels vèrtexs. // El procediment per calcular l'àrea que es farà servir consisteix a // calcular la meitat del mòdul del producte vectorial del parell // de vectors amb origen comú en un dels vèrtexs del triangle // //----------------------------------------------------------------- #include <stdio.h> #include <math.h> void main () { // variables corresponents a les dades d'entrada double x_1,y_1; // coordenades x i y del punt A_1 double x_2,y_2; // coordenades x i y del punt A_2 double x_3,y_3; // coordenades x i y del punt A_3 // variables auxiliars double modul; //definició del triangle: //entrada de les coordenades x i y dels vèrtexs A_1, A_2 i A_3 printf("-----------------------------------\n"); printf("Entreu les coordenades x_1 i y_1 del punt A_1, separades per un espai\n"); scanf("%lf %lf",&x_1, &y_1); printf("\nEntreu les coordenades x_2 i y_2 del punt A_2, separades per un espais\n"); scanf("%lf %lf",&x_2, &y_2); printf("\nEntreu les coordenades x_1 i y_1 del punt A_1, separades per un espais\n"); scanf("%lf %lf",&x_3, &y_3); // càlcul del mòdul del producte vectorial u.v // on el vector u és (x_1-x_2,y_1-y_2) // i el vector v és (x_3-x_2,y_3-y_2) modul =(x_1-x_2)*(y_3-y_2)-(y_1-y_2)*(x_3-x_2); // ara, es calcula i es mostra l'àrea (0.5*modul) printf("\nA=%.4lf\n",modul/2); }
Ejercicio básico de estadística descriptiva. Un ejercicio de programación en C/C++
//----------------------------------------------------------------- // Paràmetres estadístics amb tres valors de la v.e. // // Joan Aranès Clua // data: 16/12/2001 // // En aquest exercici es tracta de fer un programa // que calculi la mitjana aritmètica, la mitjana geomètrica, // la variança i la desviació típica d'un conjunt de tres dades // emprant la crida a funcions específiques // //----------------------------------------------------------------- #include <stdio.h> #include <math.h> double mitjaa(double,double,double); //mitjana aritmètica double mitjag(double,double,double); //mitjana geomètrica double var(double,double,double); //variància void main () { //declaració de les variables globals double x_1,x_2,x_3; // valors de la v. estadística X //definició del rectangle n files x m columnes printf("-----------------------------------\n"); printf("Entreu tres valors: x_1 x_2 x_3, separats per espais\n"); scanf("%lf %lf %lf",&x_1, &x_2, &x_3); //càlcul dels paràmetres: mitjana aritmètica, mitjana geomètrica // i variància printf("-----------------------------------\n"); printf("la mitjana aritm\x08Atica \x082s igual a %.2lf\n",mitjaa(x_1,x_2,x_3)); printf("-----------------------------------\n"); printf("la mitjana geom\x08Atrica \x082s igual a %.2lf\n",mitjag(x_1,x_2,x_3)); printf("-----------------------------------\n"); printf("la vari\x085ncia és igual a %.2lf\n",var(x_1,x_2,x_3)); } double mitjaa(double a,double b,double c) //mitjana aritmètica { double m_a; m_a = (a+b+c)/3.; return m_a; } double mitjag(double a,double b,double c) // mitjana geomètrica { double m_g; m_g = pow(a*b*c,1./3); return m_g; } double var(double a,double b,double c) // variància { double v; v = mitjaa(a*a,b*b,c*c)-pow(mitjaa(a,b,c),2); return v; }
Etiquetas:
C,
C/C++,
estadística descriptiva
Resolución de una ecuación polinómica de segundo grado. Un ejercicio de programación en C/C++
//----------------------------------------------------------------- // L'equació de 2n grau amb discriminant més gran que zero // alumne: Joan Aranès Clua // data: 20/11/2001 // // Aquest programa calcula les solucions reals d'una equació // polinòmica de 2n grau que, per conveni, // té discriminant positiu o nul. Per això, quan s'entrin // els coeficients de l'equació cal escollir-los per tal que // es compleixi aquest requeriment //----------------------------------------------------------------- #include <stdio.h> //printf i scanf #include <stdlib.h> //system() .. per a la f. cls #include <math.h> // càlculs void main() { double a,b,c; // coeficients de l'equació (dades d'entrada) double disc; // discriminant positiu o nul double x1,x2; // solucions reals de l'equació system("cls"); //esborra la pantalla // entrada dels coeficients printf("\nintrodu\x08Bu el coeficient a: \n"); scanf("%lf",&a); printf("\nintrodu\x08Bu el coeficient b :\n"); scanf("%lf",&b); printf("\nintrodu\x08Bu el coeficient b :\n"); scanf("%lf",&c); // càlcul del discriminant disc=sqrt(b*b-4*a*c); // càlcul de les solucions // cas que disc = 0, la solució serà única, amb multiplicitat dos. x1=(-b+sqrt(disc))/2/a; x2=(-b-sqrt(disc))/2/a; // solucions: printf("x1 = %.4lf \n",x1); printf("x2 = %.4lf \n",x2); }
Suscribirse a:
Entradas (Atom)