jueves, 16 de agosto de 2007

EJERCICIOS

===================================================
Algunos Ejercicios Resueltos:
(Revisar los ejercicios con C++)

REVISA LA TAREA PARA EL 24 DE SEPT.

===================================================
Ex.10: (Algoritmo)
Tenemos 100 números
Cuántos son positivos?

Rp: (mientras / si)

Inicio
cont=0 ; //cont de nºs positivos
i=0; //cont de nºs leidos

Leer num;

mientras (i seamenorq 101)

{
si (num mayorq 0)
cont= cont+1 ;

sino
cont=cont ;

fin si

i=i+1 ;
Num = Num+1 ;

}
fin mientras

escribir cont;
detener pantalla;

fin proceso


===================================================
Ex.11: (Algoritmo)
Genera el algoritmo para calcular el salario neto de cada trabajador de la Empresa @.
Leer para cada registro: Nombre, Salario básico/hrs, Hrs trabajadas% de retención
Obtener: Promedio de los salarios netos de todos
Imprimir: Nombre / Retención en la fuente / Salario neto

Rp:

INICIO
CONT = 1 ;
SUMSN = 0 ;

LEA NOMBRE, SUELBH, NUMHOTR, PRETEN ;

HAGA MIENTRAS (Numhotr !=0)
SBRUTO = SUELBH * NUMHOTR ;
RETENCI = SBRUTO * PRETEN ;
SUELNET = SBRUTO - RETENCI ;
SUMSN = SUMSN+SUELNET ;

ESCRIBA NOMBRE, RETENCI, SUELNET ;

CONT = CONT+1 ;

LEA NOMBRE, SUELBH, NUMHOTR, PRETEN ;

FIN MIENTRAS

PROMSU = SUMS/CONT ;

ESCRIBA "EL PROMEDIO ES:" PROMSU ;

FIN

===================================================
Ex.12: (Algoritmo)
Genera el algoritmo para calcular el salario neto de 20 trabajadores de la Empresa A.
Leer para cada registro: Nombre, Salario básico/hrs, Hrs trabajadas, % de retención.
Imprimir: Nombre / Retención / Salario neto.

Rp:
INICIO
CONT = 1 ;

HAGA MIENTRAS (CONT menorq 20) ;

LEA NOMB, SUELBH, NUMHOTR, PRETENS ;
BRUTO = SUELBH * NUMHOTR ;
RETENCI = SBRUTO * PRETEN ;
SUELNET = SBRUTO - RETENCI ;

ESCRIBA "EL EMPLEADO=" NOMB ;
ESCRIBA "LA RETENCION ES=" RETENCI ;
ESCRIBA "SU SALARIO NETO ES=" SUELNET ;

CONT = CONT+1 ;

FIN MIENTRAS

FIN

===================================================

Ex.20: (if)
Ingresa un nº, si es par escribe NºPAR, sino escribe nº IMPAR.

Rp.:
/* Lea un nº e indique si es par o impar */

#include - stdio.h - /* poner parentesis correspondientes */
int main ()
{

int num,resto;

/* solicitar nº y se slata una línea*/
printf("Ingresar Número = \n");

/* se lee nº del teclado*/
scanf("%d", &num);
printf(" \n ");

/* preguntar por el resto del nº */
resto = num%2;
/* % = da el resto de la división */

/* consultar si el resto es o */
if(resto==0)
printf("El número es PAR \n");

else
printf("El número es IMPAR \n");

getch();

}

===================================================
Ex.21: (if)
Lea un nº e indique si multiplo de 5 y 7.

Rp.:
/* Nº multiplo de 5 y 7? */

#include int main ()

int num;
{

/* solicitar nº */
printf("Ingresar Número = \n");

/* se lee nº desde el teclado */
scanf("%d", &num);
printf(" \n ");

/* preguntar si es multiplo */
if((num%5==0)&&(num%7==0))
printf("El número es multiplo de 5 y 7 \n");

else
printf("El número NO es multiplo de 5 y 7 \n");

getch();

}

===================================================
Ex.22: /* Area de un Rectángulo */

#include stdio.h /*poner paréntesis*/

float area_rectangulo (float b, float a);
float entrada();

int main()
{

float b,h;

printf("\nBase del rectangulo =");
b= entrada();

printf("\nAltura del rectangulo =");
h=entrada();

printf("\Area : %.2f", area_rectangulo(b,h));

return 0;
}


Ex.23: Funciones
Factorial (n) = 1 si n=0
Factorial (n) = n*factorial(n-1) si n>0
Escriba la funcion factorial y un prgm q lo llame para varios valores de n

Rp:

#include stdio.h

float factorial (int x);

main()
{
float x,y,i;

printf ("dame 2 números \n");
scanf ("%f, %f", &x, &y);

for( i = x ; i menoroigualq y ; i++)
{
printf("%8.0f %s %8.0f \n" , i , "factorial" , factorial(i) );
}

}

==================================================
Ex.24.-

#define EULER 2.71828
const double pi = 3.14159;
double lcercle ( const double r )
{
return 2 * pi * r;
}


double EXP ( const double x )
{
return pow ( EULER, x );
}


double sinh ( const double x )
{
return (exp(x) - exp(-x)) / 2;
}

===================================================
/*Calculo de factoriales - iterativa y recursiva) */


#include

#define VALOR 5

#define FACT 120

int fact_i ( int v )
{
int r = 1, i = 0;

while ( i <= v ) { r = r * i; i = i + 1; } return r; } int fact_r ( int v ) { if ( v == 0 ) return 1; else return v * fact_r(v-1); } main() { int r, valor = VALOR; if ( (r = fact_i(valor)) != fact_r(valor) ) { printf("Codificación errónea!!.\n"); } else if ( r == FACT ) {

printf("Codificación correcta.\n");
}
else

{
printf("Algo falla!!.\n");
}

}

===================================================