SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
Ejercicios Resueltos Practica 1 (NUEVA
2014) Informatica II
Ejercicio 1:
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main()
{
char rombo[N][N];
llenar_rombo(rombo);
mostrar_rombo(rombo);
return 0;
}
void llenar_rombo(char rombo[N][N])
{
int bl,nr,i,j;
bl=2;
nr=1;
for(j=0; j<3; j++)
{
for(i=0; i<bl; i++)
{
rombo[j][i]=' ';
}
for(; i<(nr+bl); i++)
{
rombo[j][i]='*';
}
for(; i<N; i++)
{
rombo[j][i]=' ';
}
bl--;
nr+=2;
}
bl=1;
nr=3;
for(; j<N; j++)
{
for(i=0; i<bl; i++)
{
rombo[j][i]=' ';
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
}
for(; i<(nr+bl); i++)
{
rombo[j][i]='*';
}
for(; i<N; i++)
{
rombo[j][i]=' ';
}
bl++;
nr-=2;
}
}
void mostrar_rombo (char rombo [N][N])
{
int i,j;
for(j=0; j<N; j++)
{
for(i=0; i<N; i++)
{
printf("|%c|", rombo[i][j]);
}
printf("n");
}
}
Ejercicio 2:
#include <stdio.h>
#include <stdlib.h>
#define N 5
void mostrar (int mtz [N][N]);
int main()
{
int
mtz[N][N]={{21,22,23,24,25},{46,47,48,49,40},{57,53,58,53,50},{60,70,80,90,10},{11,12,13,14,15}};
mostrar(mtz);
printf("n---------------------------n");
transponer(mtz);
mostrar(mtz);
return 0;
}
void transponer (int mtz[N][N])
{
int aux;
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
int i,j;
for(j=0;j<N;j++)
{
for(i=j;i<N;i++)
{
aux=mtz[i][j];
mtz[i][j]=mtz[j][i];
mtz[j][i]=aux;
}
}
}
void mostrar (int mtz[N][N])
{
int i,j;
for(j=0; j<N; j++)
{
for(i=0; i<N; i++)
{
printf("|%d|", mtz[i][j]);
}
printf("n");
}
}
Ejercicio 3:
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 20
int main()
{
char mtz[N][M];
cargar_nombres(mtz);
mostrar(mtz);
return 0;
}
void cargar_nombres (char mtz[N][M])
{
FILE * arch;
int j=0;
arch=fopen("C:UsersalumnoDesktopEquipos.txt", "r");
if(arch!=NULL)
{
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
while((!feof(arch))&&(j<N))
{
fgets(mtz[j], M, arch);
j++;
}
}
}
void mostrar (char mtz[N][M])
{
int i,j;
for(j=0; j<N; j++)
{
printf("%s", mtz[j]);
i++;
}
}
Ejercicio 4:
(A)
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 25
int main()
{
char mtz[N][M];
cargar_nombres(mtz);
ordenar_nombres(mtz);
mostrar(mtz);
return 0;
}
void cargar_nombres (char mtz[N][M])
{
FILE * arch;
int j=0;
arch=fopen("Equipos.txt", "r");
if(arch!=NULL)
{
while((!feof(arch))&&(j<N))
{
fgets(mtz[j], M, arch);
j++;
}
}
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
void mostrar (char mtz[N][M])
{
int i,j;
for(j=0; j<N; j++)
{
printf("%s", mtz[j]);
i++;
}
}
void ordenar_nombres (char nombres[][25])
{
int i,j;
char aux[25];
for (i=0; i<N ;i++)
{
for(j=i+1; j<N ; j++)
{
if(nombres[i][0]<nombres[j][0])
{
strcpy(aux,nombres[i]);
strcpy(nombres[i],nombres[j]);
strcpy(nombres[j], aux);
}
}
}
}
(B)
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 25
int main()
{
char mtz[N][M];
cargar_nombres(mtz);
ordenar_nombres(mtz);
mostrar(mtz);
return 0;
}
void cargar_nombres (char mtz[N][M])
{
FILE * arch;
int j=0;
arch=fopen("Equipos.txt", "r");
if(arch!=NULL)
{
while((!feof(arch))&&(j<N))
{
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
fgets(mtz[j], M, arch);
j++;
}
}
}
void mostrar (char mtz[N][M])
{
int i,j;
for(j=0; j<N; j++)
{
printf("%s", mtz[j]);
i++;
}
}
void ordenar_nombres (char nombres[][25])
{
int i,j;
char aux[25];
for (i=0; i<N ;i++)
{
for(j=i+1; j<N ; j++)
{
if(strcmp(nombres[i] , nombres[j])>0)
{
strcpy(aux,nombres[i]);
strcpy(nombres[i],nombres[j]);
strcpy(nombres[j], aux);
}
}
}
}
(C)
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 25
int es_mayuscula (char);
int strcmpbm(char nombre1[] , char nombre2[]);
int main()
{
char mtz[N][M];
cargar_nombres(mtz);
ordenar_nombres(mtz);
mostrar(mtz);
return 0;
}
void cargar_nombres (char mtz[N][M])
{
FILE * arch;
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
int j=0;
arch=fopen("Equipos.txt", "r");
if(arch!=NULL)
{
while((!feof(arch))&&(j<N))
{
fgets(mtz[j], M, arch);
j++;
}
}
}
void mostrar (char mtz[N][M])
{
int i,j;
for(j=0; j<N; j++)
{
printf("%s", mtz[j]);
i++;
}
}
void ordenar_nombres (char nombres[][25])
{
int i,j;
char aux[25];
for (i=0; i<N ;i++)
{
for(j=i+1; j<N ; j++)
{
if(strcmpbm(nombres[i] , nombres[j])>0)
{
strcpy(aux,nombres[i]);
strcpy(nombres[i],nombres[j]);
strcpy(nombres[j], aux);
}
}
}
}
int strcmpbm(char nombre1[] , char nombre2[])
{
int i,j;
char aux1, aux2;
for(i=0;i<M;i++)
{
if(nombre1[i]!='0')
{
if(nombre2[i]!='0')
{
if(es_mayuscula(nombre1[i]))
{
aux1=nombre1[i];
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
else
{
aux1=nombre1[i]^32;
}
if(es_mayuscula(nombre2[i]))
{
aux2=nombre2[i];
}
else
{
aux2=nombre2[i]^32;
}
if(aux1>aux2)
{
return 1;
}
else
{
if(aux1<aux2)
return -1;
}
}
else
{
return -1;
}
}
}
return 0;
}
int es_mayuscula (char h)
{
if(h>='A'&&h<'Z')
return 1;
else
return 0;
}
Ejercicio 5:
#include <stdio.h>
#include <stdlib.h>
#define N 5
void cargar (int [N][8]);
void imprimir (int [N][8]);
int main()
{
int mtz[N][8];
cargar(mtz);
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
imprimir(mtz);
return 0;
}
void cargar(int mtz[N][8])
{
FILE * arch;
int i=0;
arch=fopen("puntos.csv","r");
while((!feof(arch))&&(i<N))
{
fscanf(arch,"%d,%d,%d,%d,%d,%d,%d,%dn", &mtz[i][0], &mtz[i][1], &mtz[i][2], &mtz[i][3],
&mtz[i][4], &mtz[i][5], &mtz[i][6], &mtz[i][7]);
i++;
}
fclose(arch);
}
void imprimir (int mtz[N][8])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<8;j++)
{
printf("|%d|", mtz[i][j]);
}
printf("n");
}
}
Ejercicio 6:
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 25
#define O 8
int main()
{
char nombres[N][M];
int numeros[N][O];
cargar_nombres(nombres);
cargar_numeros(numeros);
mostrar_tabla(nombres,numeros);
return 0;
}
void cargar_nombres (char mtz[N][M])
{
FILE * arch;
int j=0;
arch=fopen("Equipos.txt", "r");
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
if(arch!=NULL)
{
while((!feof(arch))&&(j<N))
{
fgets(mtz[j], M, arch);
j++;
}
}
}
void cargar_numeros (int mtz[N][8])
{
FILE * arch;
int i=0;
arch=fopen("puntos.csv","r");
while((!feof(arch))&&(i<N))
{
fscanf(arch,"%d,%d,%d,%d,%d,%d,%d,%dn", &mtz[i][0], &mtz[i][1], &mtz[i][2], &mtz[i][3],
&mtz[i][4], &mtz[i][5], &mtz[i][6], &mtz[i][7]);
i++;
}
fclose(arch);
}
void mostrar_tabla(char nombres[N][M], int numeros[N][O])
{
int i;
printf("EquipottPTStPJtPGtPEtPPtGFtGCtDIFn");
printf("________________________________________________________________________
________n");
for(i=0;i<N;i++)
{
printf("%stt%dt%dt%dt%dt%dt%dt%dt%dn", nombres[i], numeros[i][0], numeros[i][1],
numeros[i][2], numeros[i][3], numeros[i][4], numeros[i][5], numeros[i][6], numeros[i][7]);
}
}
Ejercicio 7:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
FILE * arch;
int mtz[12][31];
srand(time(NULL));
arch=fopen("temperaturas.csv", "w");
cargar(mtz);
imp_arch(arch,mtz);
fclose(arch);
return 0;
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
void cargar(int mtz[12][31])
{
int i,j;
for(i=0;i<12;i++)
{
for(j=0;j<31;j++)
{
mtz[i][j]=rand()%50 -5;
}
}
}
void imp_arch (FILE * arch, int mtz[12][31])
{
int i,j;
for(i=0;i<12;i++)
{
for(j=0;j<31;j++)
{
fprintf(arch,"%d", mtz[i][j]);
if(j<30)
fputc(',',arch);
}
fputc('n', arch);
}
}
Ejercicio 8:
(A)(B)(C):
#include <stdio.h>
#include <stdlib.h>
double promedio_general(double mtz[12][31]);
double maxima_absoluta(double mtz[12][31]);
int main()
{ double mtz[12][31];
double mes[12];
double prom_general;
double maxima;
int i;
cargar(mtz);
prom_general=promedio_general(mtz);
printf("Promedio General: %.2lfn", prom_general);
medias_mensuales(mtz,mes);
printf("nMedidas mensuales:n");
for(i=0;i<12;i++)
printf("Promedio mes %d: %.2lfn", i+1, mes[i]);
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
maxima=maxima_absoluta(mtz);
printf("nMaxima Absoluta: %.2lfn", maxima);
return 0;
}
void cargar(double mtz[12][31])
{
FILE * arch;
int i,j;
arch=fopen("temperaturas.csv","r");
i=0;
while ((!feof(arch))&&(i<12))
{
for(j=0;j<31;j++)
{
fscanf(arch,"%lf", &mtz[i][j]);
fgetc(arch);
}
i++;
}
fclose(arch);
}
/*a. double promedio_general(double[][12]), que calcula el promedio de temperatura
de todo el año. */
double promedio_general(double mtz[12][31])
{
int i,j;
double prom=0;
for(i=0;i<12;i++)
{
for(j=0;j<31;j++)
prom+=mtz[i][j];
}
prom/=(12*31);
return prom;
}
/*b. void medias_mensuales(double[][12], double[]), que calcula el promedio de
temperatura de cada mes y asigna dicho valor en el índice correspondiente del arreglo pasado
como segundo
parámetro.*/
void medias_mensuales(double mtz[][12], double mes[])
{
int i,j;
double prom=0;
for(i=0;i<12;i++)
{
prom=0;
for(j=0;j<31;j++)
prom+=mtz[i][j];
mes[i]=prom/31;
}
}
/*c. double maxima_absoluta(double[][12]), que retorna la máxima absoluta del año.*/
double maxima_absoluta(double mtz[12][31])
{
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
double maxima=-100;
int i,j;
for(i=0;i<12;i++)
{
for(j=0;j<31;j++)
{
if(mtz[i][j]>maxima)
maxima=mtz[i][j];
}
}
return maxima;
}
(D)
#include <stdio.h>
#include <stdlib.h>
double promedio_general(double mtz[12][31], int limites[12]);
double maxima_absoluta(double mtz[12][31], int limites[12]);
int main()
{ double mtz[12][31];
double mes[12];
double prom_general;
double maxima;
int limites[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i;
cargar(mtz);
prom_general=promedio_general(mtz, limites);
printf("Promedio General: %.2lfn", prom_general);
medias_mensuales(mtz,mes,limites);
printf("nMedidas mensuales:n");
for(i=0;i<12;i++)
printf("Promedio mes %d: %.2lfn", i+1, mes[i]);
maxima=maxima_absoluta(mtz,limites);
printf("nMaxima Absoluta: %.2lfn", maxima);
return 0;
}
void cargar(double mtz[12][31])
{
FILE * arch;
int i,j;
arch=fopen("temperaturas.csv","r");
i=0;
while ((!feof(arch))&&(i<12))
{
for(j=0;j<31;j++)
{
fscanf(arch,"%lf", &mtz[i][j]);
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
fgetc(arch);
}
i++;
}
fclose(arch);
}
/*a. double promedio_general(double[][12]), que calcula el promedio de temperatura
de todo el año. */
double promedio_general(double mtz[12][31], int limites[12])
{
int i,j;
double prom=0;
for(i=0;i<12;i++)
{
for(j=0;j<limites[i];j++)
prom+=mtz[i][j];
}
prom/=(12*31);
return prom;
}
/*b. void medias_mensuales(double[][12], double[]), que calcula el promedio de
temperatura de cada mes y asigna dicho valor en el índice correspondiente del arreglo pasado
como segundo
parámetro.*/
void medias_mensuales(double mtz[][12], double mes[], int limites[12])
{
int i,j;
double prom=0;
for(i=0;i<12;i++)
{
prom=0;
for(j=0;j<limites[i];j++)
prom+=mtz[i][j];
mes[i]=prom/limites[i];
}
}
/*c. double maxima_absoluta(double[][12]), que retorna la máxima absoluta del año.*/
double maxima_absoluta(double mtz[12][31], int limites[12])
{
double maxima=-100;
int i,j;
for(i=0;i<12;i++)
{
for(j=0;j<limites[i];j++)
{
if(mtz[i][j]>maxima)
maxima=mtz[i][j];
}
}
return maxima;
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
Ejercicio 9:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 2
#define C 2
#define A 2
#define P 2
double prom_mat(int , int [M][C][A][P]);
double prom_alm(int , int, int [M][C][A][P]);
double prom_com(int , int [M][C][A][P]);
double prom_par(int , int, int, int [M][C][A][P]);
int main()
{
int mt[M][C][A][P];
int a=0,b=0,c=0,d=0;
int op;
int aux;
srand(time(NULL));
printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para
Carga Aleatoria de Pruevan");
scanf("%d", &op);
switch (op)
{
case 0:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ",
(a+1),(b+1),(c+1),(d+1));
scanf("%d", &aux);
mt[a][b][c][d]=aux;
}
}
}
}
break;
case 1:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
mt[a][b][c][d]=rand()%10;
}
}
}
}
while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1))
{
printf("Ingrese el codigo de la materia:");
scanf("%d",&a);
if(a!=-1)
{
printf("Ingrese el codigo de la comision:");
scanf("%d",&b);
if(b!=-1)
{
printf("Ingrese el codigo del alumno:");
scanf("%d",&c);
if(c!=-1)
{
printf("Ingrese el codigo del parcial:");
scanf("%d",&d);
if(d!=-1)
{
printf("Ingrese la nota:");
scanf("%d", &aux);
/*a--;
b--;
c--;
d--;
estos -- son necesarios si pensas que al ingresar datos el hombre cuando se
refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */
mt[a][b][c][d]=aux;
printf("n----------n");
}
}
}
}
}
break;
case 2:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
}
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
printf("n--------------------n");
op=0;
while (aux!=6)
{
printf("nnMenu:n");
printf("1- Ver promedio de una materia (solicitará el codigo de la materia)n");
printf("2- Ver promedio de un alumno (solicitará la comision y el nro. del alumno)n");
printf("3- Ver promedio de una comision (solicitara la comision)n");
printf("4- Ver promedio de un parcial (solicitará la materia, la comisión y el parcial)n");
printf("5- Volver a cargar los datos (se sobreescribirán los datos existentes)n");
printf("6- Salirn");
scanf("%d",&aux);
printf("n--------------------n");
switch (aux)
{
case 1:
printf("n Ingrese la materia:");
scanf("%d", &a);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_mat(a,mt));
printf("n--------------------n");
break;
case 2:
printf("n Ingrese la comision:");
scanf("%d", &a);
printf("n Ingrese el alumno:");
scanf("%d", &b);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_alm(a,b,mt));
printf("n--------------------n");
break;
case 3:
printf("n Ingrese la comision:");
scanf("%d", &a);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_com(a,mt));
printf("n--------------------n");
break;
case 4:
printf("n Ingrese la materia:");
scanf("%d", &a);
printf("n Ingrese la comision:");
scanf("%d", &b);
printf("n Ingrese el parcial:");
scanf("%d", &c);
printf("n--------------------n");
printf("Promedio: %.2lf" , prom_par(a,b,c,mt));
printf("n--------------------n");
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
break;
case 5:
//copy paste del codigo de arriba.
printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2)
Para Carga Aleatoria de Pruevan");
scanf("%d", &op);
switch (op)
{
case 0:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d:
", (a+1),(b+1),(c+1),(d+1));
scanf("%d", &aux);
mt[a][b][c][d]=aux;
}
}
}
}
break;
case 1:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1))
{
printf("Ingrese el codigo de la materia:");
scanf("%d",&a);
if(a!=-1)
{
printf("Ingrese el codigo de la comision:");
scanf("%d",&b);
if(b!=-1)
{
printf("Ingrese el codigo del alumno:");
scanf("%d",&c);
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
if(c!=-1)
{
printf("Ingrese el codigo del parcial:");
scanf("%d",&d);
if(d!=-1)
{
printf("Ingrese la nota:");
scanf("%d", &aux);
/*a--;
b--;
c--;
d--;
estos -- son necesarios si pensas que al ingresar datos el hombre cuando se
refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */
mt[a][b][c][d]=aux;
printf("n----------n");
}
}
}
}
}
break;
case 2:
for(a=0; a<M; a++)
{
for(b=0; b<C; b++)
{
for(c=0; c<A; c++)
{
for(d=0; d<P; d++)
{
mt[a][b][c][d]=rand()%10;
}
}
}
}
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
break;
case 6:
break;
default:
printf("!!!nOpcion Incorrectan");
break;
}
}
return 0;
}
double prom_mat(int i, int mt[M][C][A][P])
{
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
int a,b,c;
double sum=0;
for(a=0; a<C; a++)
{
for(b=0; b<A; b++)
{
for(c=0; c<P; c++)
{
sum+=mt[i][a][b][c];
}
}
}
return ((double)sum/(C*A*P));
}
double prom_alm(int i, int j, int mt[M][C][A][P])
{
int a,c;
double sum=0;
for(a=0; a<M; a++)
{
for(c=0; c<P; c++)
{
sum+=mt[a][i][j][c];
}
}
return ((double)sum/(M*P));
}
double prom_com(int i, int mt[M][C][A][P])
{
int a,b,c;
double sum=0;
for(a=0; a<M; a++)
{
for(b=0; b<A; b++)
{
for(c=0; c<P; c++)
{
sum+=mt[a][i][b][c];
}
}
}
return ((double)sum/(M*A*P));
}
double prom_par(int i, int j, int k, int mt[M][C][A][P])
{
int a;
double sum=0;
for(a=0; a<A; a++)
{
sum+=mt[i][j][a][k];
}
return ((double)sum/(A));
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
Ejercicio 10:
void mostrar_bin(char v)
{
int i;
printf("nVariable en binairo:");
for(i=sizeof(char)*8;i>=0;i--)
{
if(v>=pow(2,i))
{
v-=pow(2,i);
printf("1");
}
else
printf("0");
}
printf("n");
}
Ejercicio 11:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char v=31;
mostrar_bin(v);
return 0;
}
void mostrar_bin(char v)
{
char mask=128;
int i;
printf("nVariable en binario:");
for(i=0;i<8;i++)
{
if((v&mask)==0)
printf("0");
else
printf("1");
v=v<<1;
}
printf("n");
}
Ejercicio 12:
#include <stdio.h>
#include <stdlib.h>
char shiftder(char v);
int main()
{
char v=30;
mostrar_bin(v);
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
v=shiftder(v);
mostrar_bin(v);
return 0;
}
char shiftder(char v)
{
char mask=128;
mask=~mask;
return (v>>1)&mask;
}
void mostrar_bin(char v)
{
char mask=128;
int i;
printf("nVariable en binario:");
for(i=0;i<8;i++)
{
if((v&mask)==0)
printf("0");
else
printf("1");
v=v<<1;
}
printf("n");
}
Ejercicio 13:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
unsigned int v=128+32+16+8+4+2+1;
contarunos(v);
return 0;
}
void contarunos (unsigned int v)
{
unsigned int mask=pow(2,(sizeof(unsigned int)*8)-1);
int i;
int cont=0;
for(i=0;i<sizeof(unsigned int)*8;i++)
{
if(!((mask&v)==0))
cont++;
v=v<<1;
}
printf("La variable solicitada tiene %d '1s'.n", cont);
}
Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein
Ejercicio 14:
#include <stdio.h>
#include <stdlib.h>
unsigned int unir_chars(char a,char b,char c,char d);
int main()
{
char a=15,b=30,c=64,d=1;
unsigned int respuesta=unir_chars(a,b,c,d);
printf("Uniendo las variables a=%d, b=%d, c=%d, d=%d, obtengo: %dn",a,b,c,d,respuesta);
return 0;
}
unsigned int unir_chars(char a,char b,char c,char d)
{
unsigned int r=0;
r=r|a;
r=r<<(sizeof(char)*8);
r=r|b;
r=r<<(sizeof(char)*8);
r=r|c;
r=r<<(sizeof(char)*8);
r=r|d;
return r;
}
Ejercicio 15:
#include <stdio.h>
#include <stdlib.h>
char cletra (char);
int main()
{
char a='c';
printf("Letra original: %cn", a);
a=cletra(a);
printf("Letra luego de 'cletrar': %cn",a);
return 0;
}
char cletra (char a)
{
unsigned char mask=32;
return a^mask;
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Informe 2 da unidad lp
Informe 2 da unidad lpInforme 2 da unidad lp
Informe 2 da unidad lp
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
 
Hechos en clase
Hechos en claseHechos en clase
Hechos en clase
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Codemotion 2016 - d3.js un taller divertido y difícil
Codemotion 2016 - d3.js un taller divertido y difícilCodemotion 2016 - d3.js un taller divertido y difícil
Codemotion 2016 - d3.js un taller divertido y difícil
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzada
 
Parte 15
Parte 15Parte 15
Parte 15
 
Sol.proble.practic lp
Sol.proble.practic lpSol.proble.practic lp
Sol.proble.practic lp
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 
Java AWT Tres en Raya
Java AWT Tres en RayaJava AWT Tres en Raya
Java AWT Tres en Raya
 
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Include
IncludeInclude
Include
 
Practica
PracticaPractica
Practica
 
Getchars
GetcharsGetchars
Getchars
 
Getchars
GetcharsGetchars
Getchars
 

Destacado

Icfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónIcfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónYuseff Bladeshark
 
Informática I: Ejercicios Resueltos
Informática I:  Ejercicios ResueltosInformática I:  Ejercicios Resueltos
Informática I: Ejercicios ResueltosAlvin Jacobs
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
algoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujoalgoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujolaurabernier14
 
Mantto con vb2010
Mantto con vb2010Mantto con vb2010
Mantto con vb2010tihuilo
 
Informática ii ejercicios resueltos - practica 3
Informática ii   ejercicios resueltos - practica 3Informática ii   ejercicios resueltos - practica 3
Informática ii ejercicios resueltos - practica 3Alvin Jacobs
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NETYamil Lambert
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigojuan fernandez
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemasguest796d29
 
Ejercicios informatica
Ejercicios informaticaEjercicios informatica
Ejercicios informaticaroyers500
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentosredtacna
 

Destacado (20)

Icfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónIcfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesión
 
Informática I: Ejercicios Resueltos
Informática I:  Ejercicios ResueltosInformática I:  Ejercicios Resueltos
Informática I: Ejercicios Resueltos
 
manual visual basic 02
manual visual basic 02 manual visual basic 02
manual visual basic 02
 
manual visual basic 01
manual visual basic 01manual visual basic 01
manual visual basic 01
 
Solución de problemas con algoritmos
Solución de problemas con algoritmosSolución de problemas con algoritmos
Solución de problemas con algoritmos
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
algoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujoalgoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujo
 
Guia informática 2 contestada
Guia informática 2   contestadaGuia informática 2   contestada
Guia informática 2 contestada
 
Trabajo lab
Trabajo labTrabajo lab
Trabajo lab
 
Ejercicios de algortimos
Ejercicios de algortimosEjercicios de algortimos
Ejercicios de algortimos
 
Mantto con vb2010
Mantto con vb2010Mantto con vb2010
Mantto con vb2010
 
Vb Leccion1
Vb Leccion1Vb Leccion1
Vb Leccion1
 
Informática ii ejercicios resueltos - practica 3
Informática ii   ejercicios resueltos - practica 3Informática ii   ejercicios resueltos - practica 3
Informática ii ejercicios resueltos - practica 3
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NET
 
Visual basic 2010 data por codigo
Visual basic 2010 data por codigoVisual basic 2010 data por codigo
Visual basic 2010 data por codigo
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
Ejercicios informatica
Ejercicios informaticaEjercicios informatica
Ejercicios informatica
 
Apps .Net Y Gambas
Apps .Net Y GambasApps .Net Y Gambas
Apps .Net Y Gambas
 
Visual Net
Visual NetVisual Net
Visual Net
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentos
 

Similar a Ejercicios resueltos informática II practica 1 (nueva 2014)

METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOLuiS YmAY
 
Informe minishell
Informe minishellInforme minishell
Informe minishellAlex Pin
 
Eliminacion Gaussiana en C
Eliminacion Gaussiana en CEliminacion Gaussiana en C
Eliminacion Gaussiana en CRaInti78
 
Expo c i
Expo c iExpo c i
Expo c iUFTsaia
 
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARSUNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARSCamiEscobar1995
 
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARSUNIVERSIDAD CENTRAL DEL ECUADOR GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARSCamiEscobar1995
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uexvictoruex
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación legnasilvana
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosdiegorap
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- Eliu Osseas Puc Puc
 
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02guapi387
 

Similar a Ejercicios resueltos informática II practica 1 (nueva 2014) (20)

METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Universidad técnica de ambato
Universidad técnica de ambatoUniversidad técnica de ambato
Universidad técnica de ambato
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 
Eliminacion Gaussiana en C
Eliminacion Gaussiana en CEliminacion Gaussiana en C
Eliminacion Gaussiana en C
 
Unidad 5 informe técnico
Unidad 5 informe técnicoUnidad 5 informe técnico
Unidad 5 informe técnico
 
Expo c i
Expo c iExpo c i
Expo c i
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARSUNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR CAMILA ESCOBAR LOPEZ GETCHARS
 
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARSUNIVERSIDAD CENTRAL DEL ECUADOR GETCHARS
UNIVERSIDAD CENTRAL DEL ECUADOR GETCHARS
 
Shell
ShellShell
Shell
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Escáner con Lego Mindstorm
Escáner con Lego MindstormEscáner con Lego Mindstorm
Escáner con Lego Mindstorm
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
 
Matrices
MatricesMatrices
Matrices
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizados
 
Tra
TraTra
Tra
 
Arreglos
ArreglosArreglos
Arreglos
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
ESTRUCTURAS Y ALGORITMOS II (I Bimestre Abril Agosto 2011)
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02
 

Más de Alvin Jacobs

Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Alvin Jacobs
 
Ejercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIEjercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIAlvin Jacobs
 
Preguntas para final de Etica
Preguntas para final de EticaPreguntas para final de Etica
Preguntas para final de EticaAlvin Jacobs
 
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...Alvin Jacobs
 
Informática I: Ejercicios Resueltos
Informática I:   Ejercicios ResueltosInformática I:   Ejercicios Resueltos
Informática I: Ejercicios ResueltosAlvin Jacobs
 
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
Resumen introducción a la filosofía y antropología filosófica   2º parcia...Resumen introducción a la filosofía y antropología filosófica   2º parcia...
Resumen introducción a la filosofía y antropología filosófica 2º parcia...Alvin Jacobs
 

Más de Alvin Jacobs (10)

Carbohidratos 14 22_1589
Carbohidratos 14 22_1589Carbohidratos 14 22_1589
Carbohidratos 14 22_1589
 
3er parcialito
3er parcialito3er parcialito
3er parcialito
 
Ejercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica IIEjercicios resueltos Practica 4 informatica II
Ejercicios resueltos Practica 4 informatica II
 
Preguntas para final de Etica
Preguntas para final de EticaPreguntas para final de Etica
Preguntas para final de Etica
 
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...Probabilidad y Estadistica Para Ingenieros   6ta Edicion - Ronald E. Walpole ...
Probabilidad y Estadistica Para Ingenieros 6ta Edicion - Ronald E. Walpole ...
 
Informática I: Ejercicios Resueltos
Informática I:   Ejercicios ResueltosInformática I:   Ejercicios Resueltos
Informática I: Ejercicios Resueltos
 
Ingeco unidad 4
Ingeco unidad 4Ingeco unidad 4
Ingeco unidad 4
 
Ingeco unidad 2
Ingeco unidad 2Ingeco unidad 2
Ingeco unidad 2
 
Ingeco unidad 1
Ingeco unidad 1Ingeco unidad 1
Ingeco unidad 1
 
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
Resumen introducción a la filosofía y antropología filosófica   2º parcia...Resumen introducción a la filosofía y antropología filosófica   2º parcia...
Resumen introducción a la filosofía y antropología filosófica 2º parcia...
 

Último

Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariasusafy7
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 

Último (20)

Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 

Ejercicios resueltos informática II practica 1 (nueva 2014)

  • 1. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein Ejercicios Resueltos Practica 1 (NUEVA 2014) Informatica II Ejercicio 1: #include <stdio.h> #include <stdlib.h> #define N 5 int main() { char rombo[N][N]; llenar_rombo(rombo); mostrar_rombo(rombo); return 0; } void llenar_rombo(char rombo[N][N]) { int bl,nr,i,j; bl=2; nr=1; for(j=0; j<3; j++) { for(i=0; i<bl; i++) { rombo[j][i]=' '; } for(; i<(nr+bl); i++) { rombo[j][i]='*'; } for(; i<N; i++) { rombo[j][i]=' '; } bl--; nr+=2; } bl=1; nr=3; for(; j<N; j++) { for(i=0; i<bl; i++) { rombo[j][i]=' ';
  • 2. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein } for(; i<(nr+bl); i++) { rombo[j][i]='*'; } for(; i<N; i++) { rombo[j][i]=' '; } bl++; nr-=2; } } void mostrar_rombo (char rombo [N][N]) { int i,j; for(j=0; j<N; j++) { for(i=0; i<N; i++) { printf("|%c|", rombo[i][j]); } printf("n"); } } Ejercicio 2: #include <stdio.h> #include <stdlib.h> #define N 5 void mostrar (int mtz [N][N]); int main() { int mtz[N][N]={{21,22,23,24,25},{46,47,48,49,40},{57,53,58,53,50},{60,70,80,90,10},{11,12,13,14,15}}; mostrar(mtz); printf("n---------------------------n"); transponer(mtz); mostrar(mtz); return 0; } void transponer (int mtz[N][N]) { int aux;
  • 3. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein int i,j; for(j=0;j<N;j++) { for(i=j;i<N;i++) { aux=mtz[i][j]; mtz[i][j]=mtz[j][i]; mtz[j][i]=aux; } } } void mostrar (int mtz[N][N]) { int i,j; for(j=0; j<N; j++) { for(i=0; i<N; i++) { printf("|%d|", mtz[i][j]); } printf("n"); } } Ejercicio 3: #include <stdio.h> #include <stdlib.h> #define N 5 #define M 20 int main() { char mtz[N][M]; cargar_nombres(mtz); mostrar(mtz); return 0; } void cargar_nombres (char mtz[N][M]) { FILE * arch; int j=0; arch=fopen("C:UsersalumnoDesktopEquipos.txt", "r"); if(arch!=NULL) {
  • 4. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein while((!feof(arch))&&(j<N)) { fgets(mtz[j], M, arch); j++; } } } void mostrar (char mtz[N][M]) { int i,j; for(j=0; j<N; j++) { printf("%s", mtz[j]); i++; } } Ejercicio 4: (A) #include <stdio.h> #include <stdlib.h> #define N 5 #define M 25 int main() { char mtz[N][M]; cargar_nombres(mtz); ordenar_nombres(mtz); mostrar(mtz); return 0; } void cargar_nombres (char mtz[N][M]) { FILE * arch; int j=0; arch=fopen("Equipos.txt", "r"); if(arch!=NULL) { while((!feof(arch))&&(j<N)) { fgets(mtz[j], M, arch); j++; } } }
  • 5. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein void mostrar (char mtz[N][M]) { int i,j; for(j=0; j<N; j++) { printf("%s", mtz[j]); i++; } } void ordenar_nombres (char nombres[][25]) { int i,j; char aux[25]; for (i=0; i<N ;i++) { for(j=i+1; j<N ; j++) { if(nombres[i][0]<nombres[j][0]) { strcpy(aux,nombres[i]); strcpy(nombres[i],nombres[j]); strcpy(nombres[j], aux); } } } } (B) #include <stdio.h> #include <stdlib.h> #define N 5 #define M 25 int main() { char mtz[N][M]; cargar_nombres(mtz); ordenar_nombres(mtz); mostrar(mtz); return 0; } void cargar_nombres (char mtz[N][M]) { FILE * arch; int j=0; arch=fopen("Equipos.txt", "r"); if(arch!=NULL) { while((!feof(arch))&&(j<N)) {
  • 6. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein fgets(mtz[j], M, arch); j++; } } } void mostrar (char mtz[N][M]) { int i,j; for(j=0; j<N; j++) { printf("%s", mtz[j]); i++; } } void ordenar_nombres (char nombres[][25]) { int i,j; char aux[25]; for (i=0; i<N ;i++) { for(j=i+1; j<N ; j++) { if(strcmp(nombres[i] , nombres[j])>0) { strcpy(aux,nombres[i]); strcpy(nombres[i],nombres[j]); strcpy(nombres[j], aux); } } } } (C) #include <stdio.h> #include <stdlib.h> #define N 5 #define M 25 int es_mayuscula (char); int strcmpbm(char nombre1[] , char nombre2[]); int main() { char mtz[N][M]; cargar_nombres(mtz); ordenar_nombres(mtz); mostrar(mtz); return 0; } void cargar_nombres (char mtz[N][M]) { FILE * arch;
  • 7. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein int j=0; arch=fopen("Equipos.txt", "r"); if(arch!=NULL) { while((!feof(arch))&&(j<N)) { fgets(mtz[j], M, arch); j++; } } } void mostrar (char mtz[N][M]) { int i,j; for(j=0; j<N; j++) { printf("%s", mtz[j]); i++; } } void ordenar_nombres (char nombres[][25]) { int i,j; char aux[25]; for (i=0; i<N ;i++) { for(j=i+1; j<N ; j++) { if(strcmpbm(nombres[i] , nombres[j])>0) { strcpy(aux,nombres[i]); strcpy(nombres[i],nombres[j]); strcpy(nombres[j], aux); } } } } int strcmpbm(char nombre1[] , char nombre2[]) { int i,j; char aux1, aux2; for(i=0;i<M;i++) { if(nombre1[i]!='0') { if(nombre2[i]!='0') { if(es_mayuscula(nombre1[i])) { aux1=nombre1[i]; }
  • 8. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein else { aux1=nombre1[i]^32; } if(es_mayuscula(nombre2[i])) { aux2=nombre2[i]; } else { aux2=nombre2[i]^32; } if(aux1>aux2) { return 1; } else { if(aux1<aux2) return -1; } } else { return -1; } } } return 0; } int es_mayuscula (char h) { if(h>='A'&&h<'Z') return 1; else return 0; } Ejercicio 5: #include <stdio.h> #include <stdlib.h> #define N 5 void cargar (int [N][8]); void imprimir (int [N][8]); int main() { int mtz[N][8]; cargar(mtz);
  • 9. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein imprimir(mtz); return 0; } void cargar(int mtz[N][8]) { FILE * arch; int i=0; arch=fopen("puntos.csv","r"); while((!feof(arch))&&(i<N)) { fscanf(arch,"%d,%d,%d,%d,%d,%d,%d,%dn", &mtz[i][0], &mtz[i][1], &mtz[i][2], &mtz[i][3], &mtz[i][4], &mtz[i][5], &mtz[i][6], &mtz[i][7]); i++; } fclose(arch); } void imprimir (int mtz[N][8]) { int i,j; for(i=0;i<N;i++) { for(j=0;j<8;j++) { printf("|%d|", mtz[i][j]); } printf("n"); } } Ejercicio 6: #include <stdio.h> #include <stdlib.h> #define N 5 #define M 25 #define O 8 int main() { char nombres[N][M]; int numeros[N][O]; cargar_nombres(nombres); cargar_numeros(numeros); mostrar_tabla(nombres,numeros); return 0; } void cargar_nombres (char mtz[N][M]) { FILE * arch; int j=0; arch=fopen("Equipos.txt", "r");
  • 10. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein if(arch!=NULL) { while((!feof(arch))&&(j<N)) { fgets(mtz[j], M, arch); j++; } } } void cargar_numeros (int mtz[N][8]) { FILE * arch; int i=0; arch=fopen("puntos.csv","r"); while((!feof(arch))&&(i<N)) { fscanf(arch,"%d,%d,%d,%d,%d,%d,%d,%dn", &mtz[i][0], &mtz[i][1], &mtz[i][2], &mtz[i][3], &mtz[i][4], &mtz[i][5], &mtz[i][6], &mtz[i][7]); i++; } fclose(arch); } void mostrar_tabla(char nombres[N][M], int numeros[N][O]) { int i; printf("EquipottPTStPJtPGtPEtPPtGFtGCtDIFn"); printf("________________________________________________________________________ ________n"); for(i=0;i<N;i++) { printf("%stt%dt%dt%dt%dt%dt%dt%dt%dn", nombres[i], numeros[i][0], numeros[i][1], numeros[i][2], numeros[i][3], numeros[i][4], numeros[i][5], numeros[i][6], numeros[i][7]); } } Ejercicio 7: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { FILE * arch; int mtz[12][31]; srand(time(NULL)); arch=fopen("temperaturas.csv", "w"); cargar(mtz); imp_arch(arch,mtz); fclose(arch); return 0; }
  • 11. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein void cargar(int mtz[12][31]) { int i,j; for(i=0;i<12;i++) { for(j=0;j<31;j++) { mtz[i][j]=rand()%50 -5; } } } void imp_arch (FILE * arch, int mtz[12][31]) { int i,j; for(i=0;i<12;i++) { for(j=0;j<31;j++) { fprintf(arch,"%d", mtz[i][j]); if(j<30) fputc(',',arch); } fputc('n', arch); } } Ejercicio 8: (A)(B)(C): #include <stdio.h> #include <stdlib.h> double promedio_general(double mtz[12][31]); double maxima_absoluta(double mtz[12][31]); int main() { double mtz[12][31]; double mes[12]; double prom_general; double maxima; int i; cargar(mtz); prom_general=promedio_general(mtz); printf("Promedio General: %.2lfn", prom_general); medias_mensuales(mtz,mes); printf("nMedidas mensuales:n"); for(i=0;i<12;i++) printf("Promedio mes %d: %.2lfn", i+1, mes[i]);
  • 12. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein maxima=maxima_absoluta(mtz); printf("nMaxima Absoluta: %.2lfn", maxima); return 0; } void cargar(double mtz[12][31]) { FILE * arch; int i,j; arch=fopen("temperaturas.csv","r"); i=0; while ((!feof(arch))&&(i<12)) { for(j=0;j<31;j++) { fscanf(arch,"%lf", &mtz[i][j]); fgetc(arch); } i++; } fclose(arch); } /*a. double promedio_general(double[][12]), que calcula el promedio de temperatura de todo el año. */ double promedio_general(double mtz[12][31]) { int i,j; double prom=0; for(i=0;i<12;i++) { for(j=0;j<31;j++) prom+=mtz[i][j]; } prom/=(12*31); return prom; } /*b. void medias_mensuales(double[][12], double[]), que calcula el promedio de temperatura de cada mes y asigna dicho valor en el índice correspondiente del arreglo pasado como segundo parámetro.*/ void medias_mensuales(double mtz[][12], double mes[]) { int i,j; double prom=0; for(i=0;i<12;i++) { prom=0; for(j=0;j<31;j++) prom+=mtz[i][j]; mes[i]=prom/31; } } /*c. double maxima_absoluta(double[][12]), que retorna la máxima absoluta del año.*/ double maxima_absoluta(double mtz[12][31]) {
  • 13. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein double maxima=-100; int i,j; for(i=0;i<12;i++) { for(j=0;j<31;j++) { if(mtz[i][j]>maxima) maxima=mtz[i][j]; } } return maxima; } (D) #include <stdio.h> #include <stdlib.h> double promedio_general(double mtz[12][31], int limites[12]); double maxima_absoluta(double mtz[12][31], int limites[12]); int main() { double mtz[12][31]; double mes[12]; double prom_general; double maxima; int limites[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int i; cargar(mtz); prom_general=promedio_general(mtz, limites); printf("Promedio General: %.2lfn", prom_general); medias_mensuales(mtz,mes,limites); printf("nMedidas mensuales:n"); for(i=0;i<12;i++) printf("Promedio mes %d: %.2lfn", i+1, mes[i]); maxima=maxima_absoluta(mtz,limites); printf("nMaxima Absoluta: %.2lfn", maxima); return 0; } void cargar(double mtz[12][31]) { FILE * arch; int i,j; arch=fopen("temperaturas.csv","r"); i=0; while ((!feof(arch))&&(i<12)) { for(j=0;j<31;j++) { fscanf(arch,"%lf", &mtz[i][j]);
  • 14. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein fgetc(arch); } i++; } fclose(arch); } /*a. double promedio_general(double[][12]), que calcula el promedio de temperatura de todo el año. */ double promedio_general(double mtz[12][31], int limites[12]) { int i,j; double prom=0; for(i=0;i<12;i++) { for(j=0;j<limites[i];j++) prom+=mtz[i][j]; } prom/=(12*31); return prom; } /*b. void medias_mensuales(double[][12], double[]), que calcula el promedio de temperatura de cada mes y asigna dicho valor en el índice correspondiente del arreglo pasado como segundo parámetro.*/ void medias_mensuales(double mtz[][12], double mes[], int limites[12]) { int i,j; double prom=0; for(i=0;i<12;i++) { prom=0; for(j=0;j<limites[i];j++) prom+=mtz[i][j]; mes[i]=prom/limites[i]; } } /*c. double maxima_absoluta(double[][12]), que retorna la máxima absoluta del año.*/ double maxima_absoluta(double mtz[12][31], int limites[12]) { double maxima=-100; int i,j; for(i=0;i<12;i++) { for(j=0;j<limites[i];j++) { if(mtz[i][j]>maxima) maxima=mtz[i][j]; } } return maxima; }
  • 15. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein Ejercicio 9: #include <stdio.h> #include <stdlib.h> #include <time.h> #define M 2 #define C 2 #define A 2 #define P 2 double prom_mat(int , int [M][C][A][P]); double prom_alm(int , int, int [M][C][A][P]); double prom_com(int , int [M][C][A][P]); double prom_par(int , int, int, int [M][C][A][P]); int main() { int mt[M][C][A][P]; int a=0,b=0,c=0,d=0; int op; int aux; srand(time(NULL)); printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para Carga Aleatoria de Pruevan"); scanf("%d", &op); switch (op) { case 0: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ", (a+1),(b+1),(c+1),(d+1)); scanf("%d", &aux); mt[a][b][c][d]=aux; } } } } break; case 1: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) {
  • 16. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein mt[a][b][c][d]=rand()%10; } } } } while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1)) { printf("Ingrese el codigo de la materia:"); scanf("%d",&a); if(a!=-1) { printf("Ingrese el codigo de la comision:"); scanf("%d",&b); if(b!=-1) { printf("Ingrese el codigo del alumno:"); scanf("%d",&c); if(c!=-1) { printf("Ingrese el codigo del parcial:"); scanf("%d",&d); if(d!=-1) { printf("Ingrese la nota:"); scanf("%d", &aux); /*a--; b--; c--; d--; estos -- son necesarios si pensas que al ingresar datos el hombre cuando se refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */ mt[a][b][c][d]=aux; printf("n----------n"); } } } } } break; case 2: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } }
  • 17. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein } break; default: printf("!!!nOpcion Incorrectan"); break; } printf("n--------------------n"); op=0; while (aux!=6) { printf("nnMenu:n"); printf("1- Ver promedio de una materia (solicitará el codigo de la materia)n"); printf("2- Ver promedio de un alumno (solicitará la comision y el nro. del alumno)n"); printf("3- Ver promedio de una comision (solicitara la comision)n"); printf("4- Ver promedio de un parcial (solicitará la materia, la comisión y el parcial)n"); printf("5- Volver a cargar los datos (se sobreescribirán los datos existentes)n"); printf("6- Salirn"); scanf("%d",&aux); printf("n--------------------n"); switch (aux) { case 1: printf("n Ingrese la materia:"); scanf("%d", &a); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_mat(a,mt)); printf("n--------------------n"); break; case 2: printf("n Ingrese la comision:"); scanf("%d", &a); printf("n Ingrese el alumno:"); scanf("%d", &b); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_alm(a,b,mt)); printf("n--------------------n"); break; case 3: printf("n Ingrese la comision:"); scanf("%d", &a); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_com(a,mt)); printf("n--------------------n"); break; case 4: printf("n Ingrese la materia:"); scanf("%d", &a); printf("n Ingrese la comision:"); scanf("%d", &b); printf("n Ingrese el parcial:"); scanf("%d", &c); printf("n--------------------n"); printf("Promedio: %.2lf" , prom_par(a,b,c,mt)); printf("n--------------------n");
  • 18. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein break; case 5: //copy paste del codigo de arriba. printf("Seleccione la opcion de carga:n0) Para Carga Masivan1) Para Carga Selectivan2) Para Carga Aleatoria de Pruevan"); scanf("%d", &op); switch (op) { case 0: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { printf("Ingrese nota para Materia %d - Comision %d - Alumno %d - Parcial %d: ", (a+1),(b+1),(c+1),(d+1)); scanf("%d", &aux); mt[a][b][c][d]=aux; } } } } break; case 1: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } } } while((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!=-1)) { printf("Ingrese el codigo de la materia:"); scanf("%d",&a); if(a!=-1) { printf("Ingrese el codigo de la comision:"); scanf("%d",&b); if(b!=-1) { printf("Ingrese el codigo del alumno:"); scanf("%d",&c);
  • 19. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein if(c!=-1) { printf("Ingrese el codigo del parcial:"); scanf("%d",&d); if(d!=-1) { printf("Ingrese la nota:"); scanf("%d", &aux); /*a--; b--; c--; d--; estos -- son necesarios si pensas que al ingresar datos el hombre cuando se refiere a la primer materia (mt[0][x][x][x]) va a poner un 1 cuando en realidad deberia poner un 0. */ mt[a][b][c][d]=aux; printf("n----------n"); } } } } } break; case 2: for(a=0; a<M; a++) { for(b=0; b<C; b++) { for(c=0; c<A; c++) { for(d=0; d<P; d++) { mt[a][b][c][d]=rand()%10; } } } } break; default: printf("!!!nOpcion Incorrectan"); break; } break; case 6: break; default: printf("!!!nOpcion Incorrectan"); break; } } return 0; } double prom_mat(int i, int mt[M][C][A][P]) {
  • 20. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein int a,b,c; double sum=0; for(a=0; a<C; a++) { for(b=0; b<A; b++) { for(c=0; c<P; c++) { sum+=mt[i][a][b][c]; } } } return ((double)sum/(C*A*P)); } double prom_alm(int i, int j, int mt[M][C][A][P]) { int a,c; double sum=0; for(a=0; a<M; a++) { for(c=0; c<P; c++) { sum+=mt[a][i][j][c]; } } return ((double)sum/(M*P)); } double prom_com(int i, int mt[M][C][A][P]) { int a,b,c; double sum=0; for(a=0; a<M; a++) { for(b=0; b<A; b++) { for(c=0; c<P; c++) { sum+=mt[a][i][b][c]; } } } return ((double)sum/(M*A*P)); } double prom_par(int i, int j, int k, int mt[M][C][A][P]) { int a; double sum=0; for(a=0; a<A; a++) { sum+=mt[i][j][a][k]; } return ((double)sum/(A)); }
  • 21. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein Ejercicio 10: void mostrar_bin(char v) { int i; printf("nVariable en binairo:"); for(i=sizeof(char)*8;i>=0;i--) { if(v>=pow(2,i)) { v-=pow(2,i); printf("1"); } else printf("0"); } printf("n"); } Ejercicio 11: #include <stdio.h> #include <stdlib.h> int main() { char v=31; mostrar_bin(v); return 0; } void mostrar_bin(char v) { char mask=128; int i; printf("nVariable en binario:"); for(i=0;i<8;i++) { if((v&mask)==0) printf("0"); else printf("1"); v=v<<1; } printf("n"); } Ejercicio 12: #include <stdio.h> #include <stdlib.h> char shiftder(char v); int main() { char v=30; mostrar_bin(v);
  • 22. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein v=shiftder(v); mostrar_bin(v); return 0; } char shiftder(char v) { char mask=128; mask=~mask; return (v>>1)&mask; } void mostrar_bin(char v) { char mask=128; int i; printf("nVariable en binario:"); for(i=0;i<8;i++) { if((v&mask)==0) printf("0"); else printf("1"); v=v<<1; } printf("n"); } Ejercicio 13: #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { unsigned int v=128+32+16+8+4+2+1; contarunos(v); return 0; } void contarunos (unsigned int v) { unsigned int mask=pow(2,(sizeof(unsigned int)*8)-1); int i; int cont=0; for(i=0;i<sizeof(unsigned int)*8;i++) { if(!((mask&v)==0)) cont++; v=v<<1; } printf("La variable solicitada tiene %d '1s'.n", cont); }
  • 23. Ejercicios Practica 1 (NUEVA 2014) Informática II UCA | Resueltos por Alvin Jacobs Blydenstein Ejercicio 14: #include <stdio.h> #include <stdlib.h> unsigned int unir_chars(char a,char b,char c,char d); int main() { char a=15,b=30,c=64,d=1; unsigned int respuesta=unir_chars(a,b,c,d); printf("Uniendo las variables a=%d, b=%d, c=%d, d=%d, obtengo: %dn",a,b,c,d,respuesta); return 0; } unsigned int unir_chars(char a,char b,char c,char d) { unsigned int r=0; r=r|a; r=r<<(sizeof(char)*8); r=r|b; r=r<<(sizeof(char)*8); r=r|c; r=r<<(sizeof(char)*8); r=r|d; return r; } Ejercicio 15: #include <stdio.h> #include <stdlib.h> char cletra (char); int main() { char a='c'; printf("Letra original: %cn", a); a=cletra(a); printf("Letra luego de 'cletrar': %cn",a); return 0; } char cletra (char a) { unsigned char mask=32; return a^mask; }