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:
Comentarios (Atom)
