martes, 11 de septiembre de 2012

quiz
una empresa puede producir una cantidad mensual f(x,n,y) de su material de venta a un precio  donde n es el mes, x es la cantida de materal del mes anterior y y es una materia prima. El impuesto pagado es del n% del precio.
determine el impuesto pagado por la empresa en el mes n si:
f(x,n,y)=20*(x+1)-8*cos(nx)+y
y(n)=(2*n-1)/3

martes, 4 de septiembre de 2012

TALLER 3
1. realizar un programa que lea los datos de una plantilla para un grupo de n (n=5) profesores con la siguiente información:  nombre, apellido, cédula, teléfono, escalafón (5 categorias), edad, sexo, horario de clases. Con la información anterior calcule a petición del usuario (por cedula) el sueldo semanal (segun escalafon segun el nivel es el pago de la hora). y el numero de hora laboradas

2. realizar un programa que lea los datos de una plantilla para un grupo de n (n=5) profesores con la siguiente información:  nombre, apellido, cédula, teléfono, escalafón (5 categorias), edad, sexo, horario de clases. Con la información anterior calcule a petición del usuario (por nombre) el sueldo semanal (segun escalafon segun el nivel es el pago de la hora). y el numero de hora laboradas

3. determinar cuantos numeros perfectos hay en un intervalo de numeros dados

4. una pelota que cae desde una altura h0, si en cada rebote pierde un n% de su altura.
determinar el numero de rebotes para que la altura no supere h (h<h0)

5. hacer el programa que imprima una matriz cuadrada nxn con n impar  en espiral hacia el centro y otro hacia fuera del centro ej:
1  2  3  4  5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

21 22 23 24 25
20 7  8  9  10
19 6  1  2  11
18 5  4  3  12
17 16 15 14 13

6. dado un numero complejos z  calcule  z a la n

7. imprima el resultado de la sumatoria desde 0 hasta n con índice i de f(i)=z a la i por (-1) a la i

8. diga cual es el promedio de la suma de los digitos de los numeros perfectos en un intervalo de numeros dados

9. una oruga puede comer hasta la 10 parte de su peso en un dia, y si puede cumplir esta dieta al dia siguiete su peso ha aumentado en un 5%, si la oruga nace de 10g, ¿cuantos dias como mínimo necesita la oruga para superar los 80g de peso?
/* PROGRAMA QUE TRABAJA CON ESTRUCTURAS PARA ALMACENAR Y DIPONER DE INFORMACION*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include<string.h>

#define ntra 3
#define nhor 12
#define ndias 6


struct trabajador{
 int horario[nhor][ndias],vhora,edad,nhtra;
 char nom[12],ape[12],sexo;
 long int ced,tel;
};

int main (){
int i,j,k,icon,prod=1,ipre[3];
long int ced;
char t1[20],t2[70];
struct trabajador  emp[ntra];
FILE *fdat;
fdat=fopen("plantilla.txt","r");
for(k=0;k<ntra;k++){
 fscanf(fdat,"%s %s %s %s %s %ld",t1,emp[k].nom,t1,emp[k].ape,t1,&emp[k].ced);
 fscanf(fdat,"%s %s %d %s %d %s %c %s %ld",t1,t1,&emp[k].vhora,t1,&emp[k].edad,t1,&emp[k].sexo,t1,&emp[k].tel);
 for(i=0;i<10;i++)fscanf(fdat,"%s",t1);
 icon=0;
 for(i=0;i<nhor;i++){
  fscanf(fdat,"%s",t1);
  for(j=0;j<ndias;j++){
   fscanf(fdat,"%d",&emp[k].horario[i][j]);
   if(emp[k].horario[i][j]==1)icon++;
  }
 }
 emp[k].nhtra=icon;
 fscanf(fdat,"%s",t2);
}
fclose(fdat);
char disem[6][11]={"lunes","martes","miercoles","jueves","viernes","sabado"};
char hora[12][6]={"06a07","07a08","08a09","09a10","10a11","11a12","12a13","13a14", "14a15","15a16","16a17","17a18"};
printf("Digite la cedula\n");
scanf("%ld",&ced);
printf("que informacion desea: 1 para valor de la hora o 0 si no,\n");
printf(" 1 para cantidad de horas trabjadas o 0 si no,\n");
printf(" 1 para salario de la semana o 0 si no,\n");
scanf("%d %d %d",&ipre[0],&ipre[1],&ipre[2]);
i=-1;
for(k=0;k<ntra;k++)if(ced==emp[k].ced){
 printf("Empleado: %s %s\n\n",emp[k].nom,emp[k].ape);
 if(ipre[0]==1)printf("el valor de la hora es:%d\n",emp[k].vhora);
 if(ipre[1]==1)printf("el numero de horas laboradas es:%d\n",emp[k].nhtra);
 if(ipre[2]==1)printf("su sueldo semanal es:%d\n",emp[k].vhora*emp[k].nhtra);
 i=1;
}
if(i==-1)printf("cedula no existe\n
");
return 0;
}

jueves, 30 de agosto de 2012

/* PROGRAMA QUE TRABAJA CON ESTRUCTURAS PARA ALMACENAR SU INFORMACION*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include<string.h>

#define ntra 3
#define nhor 12
#define ndias 6


struct trabajador{
 int horario[nhor][ndias],vhora,edad,nhtra;
 char nom[12],ape[12],sexo;
 long int ced,tel;
};

int main (){
int i,j,k,icon,prod=1;
char t1[20],t2[70];
struct trabajador  emp[ntra];
FILE *fdat;
fdat=fopen("plantilla.txt","r");
for(k=0;k<ntra;k++){
 fscanf(fdat,"%s %s %s %s %s %ld",t1,emp[k].nom,t1,emp[k].ape,t1,&emp[k].ced);
 fscanf(fdat,"%s %s %d %s %d %s %c %s %ld",t1,t1,&emp[k].vhora,t1,&emp[k].edad,t1,&emp[k].sexo,t1,&emp[k].tel);
 for(i=0;i<10;i++)fscanf(fdat,"%s",t1);
 icon=0;
 for(i=0;i<nhor;i++){
  fscanf(fdat,"%s",t1);
  for(j=0;j<ndias;j++){
   fscanf(fdat,"%d",&emp[k].horario[i][j]);
   if(emp[k].horario[i][j]==1)icon++;
  }
 }
 emp[k].nhtra=icon;
 fscanf(fdat,"%s",t2);
}
fclose(fdat);
char disem[6][11]={"lunes","martes","miercoles","jueves","viernes","sabado"};
char hora[12][6]={"06a07","07a08","08a09","09a10","10a11","11a12","12a13","13a14", "14a15","15a16","16a17","17a18"};

// investigar cuando todos los empleasdos estan trabajando
printf("\n *** DIAS Y HORAS EN QUE TODOS LOS TRABAJADORES SE ENCUENTRAN LABORANDO***\n\n");
for(j=0;j<ndias;j++)for(i=0;i<nhor;i++){
 prod=1;
 for(k=0;k<ntra;k++)prod*=emp[k].horario[i][j];
 if(prod==1)printf(" el dia %s en el horario de %s \n",disem[j],hora[i]);
}
   
return 0;
}

martes, 28 de agosto de 2012

se tiene una plantilla como la mostrada a continuación:
Nombre: pepe Apellido: perez  cedula: 5555555
valor hora: 5870 edad: 48 sexo: m
horario de trabajo:
hora lune mart mier juev vier saba
6-7   1    0    0    1    0    1
7-8   1    0    0    1    0    1
8-9   1    0    0    1    0    1
9-10  1    0    0    1    0    1
10-11 1    0    0    1    0    1
11-12 1    0    0    1    0    1
12-13 1    0    0    1    0    1
13-14 1    0    0    1    0    1
14-15 1    0    0    1    0    1
15-16 1    0    0    1    0    1
16-17 1    0    0    1    0    1
17-18 1    0    0    1    0    1
*****************************************************
Nombre: juan Apellido: perez  cedula: 1555555
valor hora: 5970 edad: 28 sexo: m
horario de trabajo:
hora lune mart mier juev vier saba
6-7   0    0    0    1    0    1
7-8   0    0    0    1    0    1
8-9   0    0    1    1    1    1
9-10  0    0    1    1    1    1
10-11 0    1    1    1    1    1
11-12 1    1    1    1    1    1
12-13 1    0    1    0    0    0
13-14 1    0    1    0    0    0
14-15 1    1    1    1    0    1
15-16 1    0    0    1    0    1
16-17 1    0    0    1    0    1
17-18 1    0    0    1    0    1
**************************************
Nombre: sonia Apellido: perez  cedula: 2555555
valor hora: 7870 edad: 49 sexo: f
horario de trabajo:
hora lune mart mier juev vier saba
6-7   1    1    0    1    0    1
7-8   1    1    0    1    1    1
8-9   1    1    0    1    1    1
9-10  1    1    0    1    1    1
10-11 1    1    0    1    1    1
11-12 0    0    0    0    1    1
12-13 0    0    1    0    0    0
13-14 0    0    1    0    0    0
14-15 0    1    1    1    0    1
15-16 1    1    1    1    0    1
16-17 1    1    1    1    0    1
17-18 1    1    1    1    0    1
generar un programa que almacene los datos mediante un vector de estructuras, informando el sueldo semanal de cada empleado al igual que me diga cuando la empresa posee todos sus empleados trabajando.

jueves, 9 de agosto de 2012

taller 2
1. se desea hallar el paso de una malla 2D homogénea tal que el numero de nodos dentro de un circulo de radio r sea n (o el mas cercano) (en el centro del circulo hay un nodo) . Utilize una función para este programa

2. hacer un programa que calcule el determinante de una matriz de 3x3

3. reescribir el programa anterior utilizando funciones para reducir el numero de lineas del main

4. generar un programa que compare dos matrices de nxm diciendo que componentes son iguales

5. generar un programa que me organize una matriz por filas utilizando una funcion para el ordenamiento de cada fila

6. generar un programa que me organize una matriz por columnas utilizando una funcion para el ordenamiento de cada columna

7. generar un programa que dadas las coordenadas de lanzamiento de un proyectil y su vector velocidad (en el plano xy) y dada la funcion contorno determine el punto de impacto asi como el tiempo de vuelo

8. hacer un programa que ecuentre en un intervalo dado cuantos numero enteros son iguales a la multiplicacion de sus digitos mas la suma de sus digitos

9. hacer un programa que me permita ver el significado de una de 10 palabras  en ingles a peticion del usuario
/* PROGRAMA QUE TRABAJA CON ARREGLOS Y FUNCIONES*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#define col 5
#define row 4
void mulvecmat(int vec[col],int mat[row][col],int res[row]);
int main () {
int l,i,j,veci[col],mati[row][col],ves[row];
FILE *fmat;// son apuntadores
fmat=fopen("datmatv.txt","r");

for(i=0;i<row;i=i+1)for(j=0;j<col;j++)fscanf(fmat,"%d",&mati[i][j]);
for(j=0;j<col;j++)fscanf(fmat,"%d",&veci[j]);
fclose(fmat);
mulvecmat(veci,mati,ves);
printf("el vector de salida es:\n");
for(i=0;i<row;i=i+1)printf("%d\n",ves[i]);

return 0;
}
void mulvecmat(int vec[col],int mat[row][col],int res[row]){
 int i,j,sum=0;
 for(i=0;i<row;i=i+1){
  sum=0;
  for(j=0;j<col;j++)sum+=mat[i][j]*vec[j];
  res[i]=sum;
 }
}

jueves, 2 de agosto de 2012

/* PROGRAMA QUE TRABAJA CON PUNTEROS Y FUNCIONES*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#define col 56
#define row 21
void intercam(int *n,int *m);
int main () {
int n=0,i=1,j=2;//los vectores en c empiezan desde cero iv[0]
intercam(&n,&i); // esto es una subrutina
printf("n=%d, i=%d \n",n,i);

return 0;
}
void intercam(int *n,int *m){
int j;
j=*n;
*n=*m;
*m=j;
}
/* PROGRAMA QUE ENCUENTRA LA RAIZ UNA FUNCION POR EL MÉTODO DE BISECCIÓN */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>
#include<stdlib.h> //para que coja exit(1)

double fun(double x,double c, int n);

int main () {
double a,b,xl,xr,xm,tol,yt,wid,c;
int n;
FILE *fcon;
fcon=fopen("condfun.txt","r");
fscanf(fcon,"%lf %lf %lf",&a,&b,&tol);
fscanf(fcon,"%lf %d",&c,&n);
xl=a;xr=b;
yt=fun(xl,c,n)*fun(xr,c,n);
if(yt>0.0){
 printf("No hay raiz en el intervalo\n");
 exit(1);
}
wid=(xr-xl);
while(wid>tol){
xm=(xr+xl)/2.0;
yt=fun(xl,c,n)*fun(xm,c,n);
if(yt<0.0)xr=xm;
else xl=xm;
wid=(xr-xl);
}
printf("la raiz es: %lf \n",xr);
return 0;
}


double fun(double x,double c, int n){
double y;
y=c*pow(x,n)-9.0;
return y;
}

martes, 31 de julio de 2012

/* PROGRAMA QUE ENCUENTRA LA RAIZ UNA FUNCION POR EL MÉTODO DE BISECCIÓN */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>
#include<stdlib.h> //para que coja exit(1)

double fun(double x);

int main () {
double a,b,xl,xr,xm,tol,yt,wid;
FILE *fcon;
fcon=fopen("condfun.txt","r");
fscanf(fcon,"%lf %lf %lf",&a,&b,&tol);
xl=a;xr=b;
yt=fun(xl)*fun(xr);
if(yt>0.0){
 printf("No hay raiz en el intervalo\n");
 exit(1);
}
wid=(xr-xl);
while(wid>tol){
xm=(xr+xl)/2.0;
yt=fun(xl)*fun(xm);
if(yt<0.0)xr=xm;
else xl=xm;
wid=(xr-xl);
}
printf("la raiz es: %lf \n",xr);
return 0;
}


double fun(double x){
double y;
y=3.0*log(fabs(x))-9.0;
return y;
}
/* PROGRAMA QUE ENCUENTRA EL VALOR DE e^x MEDIANTE UNA SERIE*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>

int fact(int i);

int main () {
int n,i;//los vectores en c empiezan desde cero iv[0]
float sum=0.0,x;
printf("ingrese el limite de la sumatoria\n");
scanf("%d",&n);
printf("ingrese el valor de x\n");
scanf("%f",&x);
for(i=0;i<=n;i=i+1)sum+=pow(x,i)/fact(i);

printf("la función es: %f\n",sum);

return 0;
}
int fact(int i){
int j,jf=1;
if(i>0)for(j=1;j<=i;j++)jf=jf*j;
else jf=1;
return jf;
}
/* PROGRAMA QUE IMPRIME UNA CARITA FELIZ EN PANTALLA */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>
#define col 56
#define row 21
int main () {
int n,i,j;//los vectores en c empiezan desde cero iv[0]
char m[row][col],m1[row][col];
double x;
FILE *fmat,*fmat1;// son apuntadores
fmat=fopen("cara.txt","r");
fmat1=fopen("cara1.txt","r");

for(i=0;i<row;i=i+1)for(j=0;j<col;j++)fscanf(fmat,"%c",&m[i][j]);
for(i=0;i<row;i=i+1)for(j=0;j<col;j++)fscanf(fmat1,"%c",&m1[i][j]);


for(n=0;n<500;n++){
for(i=0;i<row;i=i+1){
 for(j=0;j<col;j++)printf("%c",m[i][j]);
 printf("\n");
}
for(i=0;i<100000;i=i+1){
 x=cos(M_PI*i)*sin(M_PI*i)+tan(M_PI*i);
}
for(i=0;i<row;i=i+1){
 for(j=0;j<col;j++)printf("%c",m1[i][j]);
 printf("\n");
}
for(i=0;i<100000;i=i+1){
 x=cos(M_PI*i)*sin(M_PI*i)+tan(M_PI*i);
}
}
return 0;
}
/* PROGRAMA QUE LEA UNA MATRIZ DESDE UN ARCHIVO Y COPIA LA TRASPUESTA EN OTRO */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int m[3][4],n,i,j;//los vectores en c empiezan desde cero iv[0]
FILE *fmat,*ftra;// son apuntadores
fmat=fopen("matriz.txt","r");
ftra=fopen("ma_tras.txt","w");

for(i=0;i<3;i=i+1)for(j=0;j<4;j++)fscanf(fmat,"%d",&m[i][j]);


for(j=0;j<4;j++){
 for(i=0;i<3;i=i+1)fprintf(ftra," %4d ",m[i][j]);
 fprintf(ftra,"\n");
}

return 0;
}

jueves, 26 de julio de 2012

/* PROGRAMA QUE LEE UNA LISTA DE NOMBRES CON SU SUELDO Y LOS IMPRIME DE MAYOR A MENOR  */

// para compilar: gcc p002.c -o e002.out
#define nper 5
#include <stdio.h>

int main () {
int suel[nper],i,j,k,max;//los vectores en c empiezan desde cero iv[0]
char nom[nper][12];
//ciclo de lectura
for(i=0;i<nper;i++){
 printf(" ingrese el nombre el nombre  y sueldo del  empleado %d \n",i+1);
 scanf("%s %d",nom[i],&suel[i]);
}
for(i=0;i<nper;i++){
 max=0;
 for(j=0;j<nper;j++){
  if(max<suel[j]){
   max=suel[j];
   k=j;
  }
 }
 printf(" el empleado %s gana %d \n",nom[k],suel[k]);
 suel[k]=0;
}

return 0;
}

martes, 24 de julio de 2012

/* PROGRAMA QUE TRABAJA CON PUNTEROS  */
/* un puntero es una variable que apunta a una direccion de memoria y que puede almecenar un valor  en este sentido un puntero puede almacenar dos valores*/

#include <stdio.h>
#define nper 5 // definir variables para las dimensiones de los arreglos
int main () {
int n,i=4,j,*p; // p es un puntero a entero
printf("ingrese un mumero entero\n");
scanf("%d",&j);
p=&j;// p apunta a la variable j
n=*p;// valor almacenado en dicha posicion de memoria n=j
*p=10;
printf("la varialbe j=%d n= %d *p=%d  \n",j,n,*p);

return 0;
}
/* PROGRAMA QUE TRABAJA CON CARACTERES  CONTANDO CUANTAS LETRAS TIENE SU NOMBRE*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int n,i,j,k,sum;//los vectores en c empiezan desde cero iv[0]
char nombre[10];
printf("ingrese su nombre:\n");
scanf("%s",nombre);
i=0;
while(nombre[i]!='\0')i++;
printf("su nombre tiene %d letras\n",i);
return 0;
}

jueves, 19 de julio de 2012

/* PROGRAMA QUE LEE UNA MATRIZ HAYA SU TRANSPUESTA Y LA MULTIPLICA IMPRIMIENDO EL RESULTADO */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int m[3][4],r[3][3],n,i,j,k,sum;//los vectores en c empiezan desde cero iv[0]
//ciclo de lectura
for(i=0;i<3;i=i+1)
 for(j=0;j<4;j++){
  printf(" ingrese en la fila %d la columna %d \n",i,j);
  scanf("%d",&m[i][j]);
 }
printf("la matriz ingresada es:\n\n");
for(i=0;i<3;i=i+1){
 for(j=0;j<4;j++)printf("  %4d ",m[i][j]);
 printf("\n");
}
printf("\n");

printf("la matriz transpuesta es:\n\n");
for(i=0;i<4;i=i+1){
 for(j=0;j<3;j++)printf("  %4d ",m[j][i]);
 printf("\n");
}
// multiplicacion de la matriz
for(i=0;i<3;i=i+1)for(j=0;j<3;j++){
 sum=0;
 for(k=0;k<4;k++)sum+=m[i][k]*m[j][k];
 r[i][j]=sum;
}
printf("la matriz producto entre la matriz ingresada y su transpuesta  es:\n\n");
for(i=0;i<3;i=i+1){
 for(j=0;j<3;j++)printf("  %4d ",r[i][j]);
 printf("\n");
}

return 0;
}
/* PROGRAMA QUE LEA UNA MATRIZ */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int m[3][4],n,i,j;//los vectores en c empiezan desde cero iv[0]
//ciclo de lectura
for(i=0;i<3;i=i+1)
 for(j=0;j<4;j++){
  printf(" ingrese en la fila %d la columna %d \n",i,j);
  scanf("%d",&m[i][j]);
 }
printf("la matriz ingresada es:\n\n");
for(i=0;i<3;i=i+1){
 for(j=0;j<4;j++)printf("  %d ",m[i][j]);
 printf("\n");
}
printf("\n");
return 0;
}
/* PROGRAMA QUE MUESTR LA COMPONENTE MAXIMA DE UN ARREGLO (VECTOR) */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int iv[8],n,i,max;//los vectores en c empiezan desde cero iv[0]
//ciclo de lectura
for(i=0;i<8;i=i+1){
 printf(" ingrese la componente %d \n",i);
 scanf("%d",&iv[i]);
}
for(i=0;i<8;i=i+1)printf(" iv[%d]=%d \n",i,iv[i]);

return 0;
}

martes, 26 de junio de 2012

previo
   
/* PROGRAMA QUE SUMA LOS DIGITOS DEL MULTIPLO n EN EL INTERVALO  [iL,ir] */

    // para compilar: gcc p002.c -o e002.out

    #include <stdio.h>

    int main () {
    int n,il,ir,i,jsum=0,isum=0,m,k,it,k1=0,i1;
    float a;
    printf(" ingrese la cota inferior del intervalo\n");
    scanf("%d",&il);
    printf(" ingrese la cota superior del intervalo\n");
    scanf("%d",&ir);
    printf(" ingrese el divisor deseado\n");
    scanf("%d",&n);
    // buscar el primer multiplo
    it=il;
    for(i=0;i<n;i++){
    m=il%n;
    if(m==0)break;
    il++;
    }

    for(i=il;i<=ir;i=i+n){
     isum=isum+i;
     i1=i;
     while(i1>0){
      k=i1%10;
      jsum+=k;
      i1=i1/10;
     }
     k1++;
    }
    a=((float) isum)/k1;
    printf("La suma de los digitos multiplos de %d en el intervalo ( %d , %d ) es %d:\n",n,it,ir,jsum);
    printf("En este intevalo hay %d multiplos y su promedio es %f \n",k1,a);

    return 0;
}

jueves, 21 de junio de 2012

dado un intervalo de dos numeros enteros (cotan inferiro , cota superior) calcular el promedio de la suma de los multiplos de n (también dado por el usuario ) en dicho intervalo

dado un intervalo de dos numeros enteros (cotan inferiro , cota superior) calcular el promedio de la suma de los digitos de cada multiplo de n (también dado por el usuario ) en dicho intervalo

dado un intervalo de dos numeros enteros (cotan inferiro , cota superior) calcular el promedio de la multiplicatoria de los digitos de cada multiplo de n (también dado por el usuario ) en dicho intervalo

realizar un programa que halla la raiz de un polimio de la forma ax²+bx+c
hacer un programa que me indique el numero que debe ir al frente de cada factor en una escala

sea a(n)=n^2-a(n-1)  una sucesion iniciando en 1 tome a(0) como un valor dado por el usuario encuentre el termino enesimo
/* PROGRAMA QUE en una cuadricula traza un circulo de radio r desde un nodo de la misma. e informa cuantos nodos quedan por dentro del circulo
*/

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>

int main () {
int i,j,nx,ny,nx2,ny2,icon=0;
float px,py,r,rt,x,y,xmin,ymin;
printf(" ingrese el paso en x\n");
scanf("%f",&px);
printf(" ingrese el paso en y\n");
scanf("%f",&py);
printf(" ingrese el radio del circulo\n");
scanf("%f",&r);
nx=r/px+1;
ny=r/py+1;
xmin=-nx*px;
nx2=2*nx+1;
ymin=-ny*py;
ny2=2*ny+1;
for(i=0;i<nx2;i++){
 x=xmin+px*i;
 for(j=0;j<ny2;j++){
  y=ymin+py*j;
  rt=sqrt(x*x+y*y);
  if(rt<=r)icon++;
 }
}
printf("por dentro del circulo hay %d nodos:\n",icon);
return 0;
}

martes, 19 de junio de 2012

/* PROGRAMA QUE DETERMINA SI UN NUMERO ES PRIMO */

// para compilar: gcc p011.c -lm - e.out
#include <stdio.h>
#include<stdlib.h> //para que coja exit(1)

int main () {
int n1,n2,n,i,ir=1,nl,j,lcon=0;
printf(" ingrese la cota inferior\n");
scanf("%d",&n1);
printf(" ingrese la cota superior\n");
scanf("%d",&n2);
for(j=n1;j<=n2;j++){
 ir=1;
 nl=j/2;
 for(i=2;i<=nl;i++){
  ir=j%i;
  if(ir==0)break;// para salir del for
 }
 if(ir!=0){ //!= es diferente
  lcon++;
  printf(" El numero %d es primo\n",j);
 }
}
printf(" en ese intervalo hay %d numeros primos\n",lcon);

return 0;
}
1. dada una cuadricula se traza un circulo de radio r desde un nodo de la misma. decir cuantos nodos quedan por dentro del circulo

2. dado un intervalo de dos numeros enteros (cotan inferiro , cota superior) decir cuantos numeros son multiplos de n (también dado por el usuario ) en dicho intervalo

3. calcular sumatoria de los n primeros términos de: cos(3.0*n)/(n³) (tipo flotante)


4. calcule el perimetro de la funcion f(x)=cos(5.0*x) en el intervalo (a,b)
programa p012.c

/* PROGRAMA QUE TRABAJA CON FUNCIONES */

// para compilar: gcc p011.c -lm - e.out

#include <stdio.h>
#include <math.h>

int main () {
float a,b,c,sum=0.0;
int n,i;
printf(" ingrese a\n");
scanf("%f",&a);
printf(" ingrese b\n");
scanf("%f",&b);
printf(" ingrese c\n");
scanf("%f",&c);
printf(" ingrese la cantidad de sumas n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)sum=sum+b*i*cos(a*i)+sin(c*i);
printf("La suamtoria es: %f \n",sum);

return 0;
}

programa p013.c
/* PROGRAMA QUE CALCULA UN FACTORIAL */

// para compilar: gcc p011.c -lm - e.out

#include <stdio.h>
#include<stdlib.h> //para que coja exit(1)

int main () {
int n,i;
long int nf=1;
printf(" ingrese el numero para su factorial\n");
scanf("%d",&n);
if(n>0)for(i=1;i<=n;i++)nf=nf*i;
else if (n==0)nf=1;
else{
 printf("valor erroneo\n");
 exit(1);
}
printf("El factorial es: %ld \n",nf);

return 0;
}

programa p014.c
/* PROGRAMA QUE DETERMINA SI UN NUMERO ES PRIMO */

// para compilar: gcc p011.c -lm - e.out
#include <stdio.h>
#include<stdlib.h> //para que coja exit(1)

int main () {
int n,i,ir,nl;
printf(" ingrese el numero para verificar si es primo\n");
scanf("%d",&n);
nl=n/2;
for(i=2;i<=nl;i++){
 ir=n%i;
 if(ir==0)break;
}
if(ir==0)printf(" El numero No es primo, es divisible por %d\n",i);
else printf(" El numero Es primo\n");

return 0;
}
programa p015.c
/* PROGRAMA QUE usa un for anidado */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>

int main () {
int n,m,jsum=0,k,i,j;

printf(" ingrese el limite de ka sumatoria\n");
scanf("%d",&n);
printf(" ingrese la base de la multiplicatoria\n");
scanf("%d",&m);

for(i=0;i<=n;i++){
 k=1;
 for(j=0;j<=i;j++){
  k*=pow(m,j);
 }
 jsum+=k;
}

printf("La suma de la multiplicatoria es %d:\n",jsum);

return 0;
}
programa p016.c
/* PROGRAMA QUE HALLA LA MULTIPLICATORIA DE LA SUMATORIA */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
#include <math.h>

int main () {
int n,m,jmul=1,k,i,j;

printf(" ingrese el limite de la multiplicatoria\n");
scanf("%d",&n);
printf(" ingrese la base de la sumatoria\n");
scanf("%d",&m);

for(i=0;i<=n;i++){
 k=0;
 for(j=0;j<=i;j++){
  k+=pow(m,j);
 }
 jmul*=k;
}

printf("La suma de la multiplicatoria es %d:\n",jmul);

return 0;
}



jueves, 14 de junio de 2012

programacion
p007.c
 /* PROGRAMA QUE COMENTA SU NOTA */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
float t;
printf(" ingrese su nota\n");
scanf("%f",&t);

if(t>=4.5 && t<= 5.0){
 printf(" su nota es ecxelente\n");
}
else if(t>=4.0 && t< 4.5) {
 printf(" su nota es buena\n");
}
else if(t>=3.0 && t< 4.0) {
 printf(" su nota es aceptable\n");
}
else if(t>=0.0 && t< 3.0) {
 printf(" estudie mas\n");
}
else{
 printf(" ingreso mal el dato\n");
}
return 0;
}

p008.c
/* PROGRAMA QUE COMPARA DOS NUMEROS */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
float t1,t2,t;
printf(" ingrese el primer numero\n");
scanf("%f",&t1);
printf(" ingrese el segundo numero\n");
scanf("%f",&t2);
t=(t1>t2) ? t1:t2;
printf(" el numero mayor es %f \n",t);
return 0;
}


p009.c
/* PROGRAMA QUE DESCOMPONE UN NUMERO */

// para compilar: gcc p002.c -o e002.out

#include <stdio.h>
int main () {
int n,i,j=0,k;
printf(" ingrese un numero  menor a 10000\n");
scanf("%d",&n);
i=n;
printf("La descomposicion del numero es la siguiente:\n");
if(n<10000){
 while(i>0){
  k=i%10;
  j++;
  i=i/10;
  switch (j){
   case 1: printf("las unidades son %d\n",k);
       break;
   case 2: printf("las decenas son %d\n",k);
       break;
   case 3: printf("las centenas son %d\n",k);
       break;
   case 4: printf("Las unidades de mil son %d\n",k);
      break;
   default:
      break;
  }
 }
}
return 0;
}


p011.c
/* PROGRAMA QUE TRABAJA CON FUNCIONES */

// para compilar: gcc p011.c -lm - e.out

#include <stdio.h>
#include <math.h>

int main () {
float x,y;
printf(" ingrese un numero  para ser evaluado\n");
scanf("%f",&x);
y=3.0*cos(x)+x*exp(x)+pow(x,4);
printf("La funcion evaluada en dicho punto es: %f\n",y);

return 0;
}

p012.c
/* PROGRAMA QUE TRABAJA CON FUNCIONES */

// para compilar: gcc p011.c -lm - e.out

#include <stdio.h>
#include <math.h>

int main () {
float a,b,c,sum=0.0;
int n,i;
printf(" ingrese a\n");
scanf("%f",&a);
printf(" ingrese b\n");
scanf("%f",&b);
printf(" ingrese c\n");
scanf("%f",&c);
printf(" ingrese la cantidad de sumas n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)sum=sum+b*i*cos(a*i)+sin(c*i);
printf("La suamtoria es: %f \n",sum);

return 0;
}