viernes, 19 de agosto de 2011

PROGRAMAS EN C

PROBLEMA 1 (Página 228)
/* calcular el factorial de una cantidad entera */
# include
long int factorial (int n); /* promedio de funcion*/
main()
{
int n;
/* leer la cantidad entera*/
printf ("\nn = ");
scanf ("%d", &n);
/* calcular y visualizar el factorial*/
printf ("\nn! = &d", factorial (n));
}
long int factorial (int n)

/* calcular el factorial de n */
{
int i;
long int prod = 1;
if (n > 1)
for (i = 2; i <= n; ++i) prod *= i; system ("pause"); return (prod); } ------------------------------------------- PROBLEMA 2 (página 313)
/* reordenar un array unidimensional de enteros, de menor a mayo*/
#include
#define TAM 100
void reordenar (int n, int x[]);
main ()
{
int i, n, x [TAM];

/* leer el valor de n */
printf ("\n¿Cuantos numeros seran introducidos? ");
scanf("%d", &n);
printf("\n");

/* leer la lista de numeros */

for (i = 0; i < n; ++i) { printf ("i =%d x= ", i + 1); scanf ("%d", &x [i]); } /* reordenar todos los elementos del array */ reordenar (n, x); /* escribir la lista reordenada de numeros */ printf ("\n\nLista de numeros reordenada: \n\n"); for (i = 0; i < n; ++i) printf ("i = %d x= %d\n", i + 1, x [i]); system ("pause"); } void reordenar (int n, int x[]) /* reordenar la lista de numeros */ { int i, elem, temp; for (elem = 0; elem < n - 1; ++ elem) /* encontrar el menor del resto de los elementos */ for (i = elem + 1; i < n; ++i) if (x[i]< x[elem]) system ("pause"); { /* intercambiar los dos elementos */ temp = x [elem]; x[i]= temp; } system ("pause"); return; } ----------------------------------- PROBLEMA 3 (Página 495)
/* crear un archivo de datos que contiene registros de clientes */
#include
#include

# define verdadero 1
typedef struct
{
int mes;
int dia;
int anio;
}
fecha;
typedef struct
{
char nombre [80];
char calle [80];
char ciudad [80];
int num_cuenta; /* entero positivo */
int tipo_cuenta; /*A (Al dia), R (atrasada) o D (delincuente)*/
float anteriorsaldo; /* (cantidad no negativa)*/
float nuevosaldo; /* (cantidad no negativa)*/
float pago; /* (cantidad no negativa)*/
fecha ultimopago;
}
registro;
registro leerpantalla (registro cliente); /* proposito de funcion */
void escribirarchivo (registro cliente); /* proposito de funsion */
FILE *fpt; /* puntero a la estructura predefinida file*/
main()
{
int indicador = verdadero /* declaracion de variable*/
registro cliente; /* declaracion de variable de estructura */

/* abrir un archivo nuevo solo para escritura */
fpt = fopen ("registro.dat", "w");

/* introducir fecha y asignar valores iniciales */
printf ("SISTEMA DE FACTURACION DE CLIENTES - INICIALIZACION\n\n");
printf ("Introduzca la fecha actual (mm/dd/aaaa): ");
scanf ("&d/&d/&d/", &cliente.ultimo pago.mes,
&cliente.ultimo pago.dia,
&cliente.ultimo pago.año,
cliente.nuevo saldo = 0;
cliente.pago = 0;
cliente.tipo.cuenta = 'A';
/* bucle principal */
while (indicador)
{
/* Introducir el nombre del cliente y escribirlo en el archivo */
printf ("\nNombre (introducir \'FIN\' para terminar): ");
scanf (strcmp(cliente.nombre, "FIN") == 0)
break;
cliente = leer pantalla (cliente);
escribir archivo (cliente);
}
fclose(fpt);
}
registro leer pantalla (registro cliente) /* leer el resto de datos */
{
printf("calle: ");
scanf ("% [ˆ\n]", cliente.calle);
printf("ciudad: ");
scanf("% [ˆ\n]", cliente.ciudad);
printf("Numero de cuenta: ");
scanf("%d", &cliente.num_cuenta);
printf("Saldo actual: "):
scanf("%f", &cliente.aterior saldo);
return (cliente);
}
void escribir archivo (registro cliente) /* escribir el resto de los datos en el archivo */
{
fprintf(fpt, "%s\n", cliente.calle);
fprintf(fpt, "%s\n", cliente.ciudad);
fprintf(fpt, "%d\n", cliente.num_cuenta);
fprintf(fpt, "%c\n", cliente.tipo_cuenta);
fprintf(fpt, "%2f\n", cliente.anterior saldo);
fprintf(fpt, "%2f\n", cliente.nuevo saldo);
fprintf(fpt, "%2f\n", cliente.pago);
fprintf(fpt, "%d/%d/%d\n", cliente.ultimo pago.mes,cliente.ultimo pago.dia, cliente.ultimo pago.año);
return;
}

sábado, 13 de agosto de 2011

Estructura IF
# include
# include

main ()
{

int numero;
printf("Introduzca el valor del numero");
scanf ("%d", &numero );

if (numero > 0);
printf("El nùmero es mayor que 0");

system ("pause");
return(0);
}

Estructura While

6. 8 Dígitos de 0 al 9
#include
#include
main()
{
int digito = 0;

while (digito <= 9) { printf ("%d\n", digito); ++digito; } system("pause"); return(0); } 6.9 conversión de Minúscula y Mayúsculas #include
#include

#define EOL ´ \n´

main ()
{

char letras [80];
int aux, cont = 0;

/* leer el texto en minuscula */
while ((letras[cont] = getchar()) != EOL) ++cont;
aux = cont;
/*escribir el texto en mayuscula*/
cont = 0;
while (cont < aux)` { putchar(toupper(letras[cont])); ++cont; system("pause"); return(0); } } 6. 10 La Media de 6 Numeros #include
#include

main()

{
int n, cont = 1;
float x, media, suma = 0;

printf("¿cuantos numeros? ");
scanf("%d", &n);

while (cont <= n) { printf("x = "); scanf("%f" , &x); ++cont; } media = suma/n; printf("\nLa media es %f\n", media); system("pause"); return(0); } Estructura do while
/*convertir una línea de texto de minúscula a mayúscula*/
#include
#include
#include

#define EOL '\n'
main()
{
char letras[80];
int aux, cont = -1;

/* leer el texto en minúsculas */
printf ("Introduzca la palabra a cambiar a mayùscula");
do ++cont;
while ((letras[cont] = getchar()) != EOL);
aux = cont;
/* escribir el texto en mayúsculas */
cont = 0;
printf ("Su palabra en mayúscula es");
do {

getch();
putchar(toupper(letras[cont]));
++cont;
} while (cont < aux); return (0); system ("pause"); } Estructura (FOR)
/* Calcular la media de varias listas de numeros */

#include
main()
{
int n, cont, nlistas, contlista;
float x, media, suma;

/* leer el numero de listas */
printf ("¿Cuantas listas? ");
scanf ("%d", &nlistas);

/*bucle externo (procesar cada lista de numeros)*/
for (contlista = 1; contlista <= nlistas; ++contlista) { /*inicializar y leer el valor de n */ suma = 0; printf ("\nlista numero %d\n ¿Cuantos numeros? ", contlista); scanf ("%d", &n); /*leer los numeros */ for (cont = 1; cont <= n; ++cont) { printf ("x = "); scanf ("%f", &x); suma += x; } /* fin del bucle interno */ /* calcular la media y escribir la respuesta */ media = suma/n; printf ("\nLa media es %f\n", media); system("pause"); return(0); } /* fin del bucle externo */ } Estructura de for
/*calcular la media de los numeros no negativos de una lista de n numeros*/
#include
#include
main()
{
int n, cont , nmedia = 0;
float x, media, suma = 0;

/*inicializar y leer el valor de n */
printf (" ¿cuantos numeros? ");
scanf ( "%d" , &n);

/* leer los numeros */
for (cont = 1; cont <= n; ++cont) { printf("x = "); scanf("%f", &x); if (x < 0) continue; suma += x; ++nmedia; } /*calcular la media y escribir la respuesta */ media = suma/nmedia; printf("\nLa media es %f\n", media); system("pause"); return(0); Estructura COMA
/* buscar un palìndromo */

#include
#include

#define E0L ´\n´
#define verdadero 1
#define FALSO 0

main()
{
char letras [80];
int aux, cont, indicador, bucle = VERDADERO;

/* bucle principal */

while (bucle) {
Indicador = VERADDERO;

/* leer el texto */

printf("Introduce una palabra o frase debajo:\n");
for (cont = 0; (letras[cont] = getchar()) != EOL; ++cont)
;
if ((toupper(letras[0]) == ´F´) &&
(toupper(letras[1]) == ´I´) &&
(toupper(letras[2]) == ´N´)) break;
aux = cont - 1;

/* realizar la busqueda */

for ((cont = 0, contr = aux); cont <= aux/2; (++cont, --contr)) { if (letras[cont] != letras[contr]) { indicador = FALSO; break; } } /* escribir mensaje */ for (cont = 0; cont <= aux; ++cont) putchar(letras[cont]); if (indicador) printf (“ ES un palíndroma/n/n”); else printf (“ NO ES un palíndromo /n/n”); } } Estructura Switch
/*calcular la descripción utilizando uno de tres métodos diferentes*/
#include
main()
{
int n, anual, eleccion=0;
float val, aux, deprec;

while (eleccion!=4)
{
/*leer datos de entrada*/
printf("\nMétodo: (1-LR 2-BDD 3-SDA 4-Fin)");
scanf("%d", &eleccion);
if (eleccion>=1 && eleccion<=3)
{
printf("Valor original: ");
scanf("%f", &val);
printf("Número de años: ");
scanf("%d", &n);
}
switch (eleccion)
{
case 1: /*metodo de la linea recta*/
printf("\nMétodo de la linea recta\n\n ");
deprec = val/n;
for (anual = 1; anual <= n; ++anual)
{
val -=deprec;
printf("Fin de año %2d", anual);
printf(" Depreciación: %7.2f", deprec);
printf(" Valor actual: %8.2f\n", val);
}
break;
case 2: /*método de balance doblemente declinante*/
printf("\nMétodo de balance doblemente declinante\n\n");
for (anual = 1; anual <= n; ++anual)
{
deprec = 2*val/n;
val-= deprec;
printf("Fin de año %2d", anual);
printf(" Depreciación: %7.2f", deprec);
printf(" Valor actual: %8.2f\n", val);
}
break;
case 3: /*método de la suma de los digitos de los años*/
printf("\nMetodo de la suma de los digitos");
printf ("de los años\n\n");
aux = val;
for(anual = 1; anual <= n; ++anual)
{
deprec = (n-anual+1)*aux / (n*(n+1)/2);
val-= deprec;
printf("Fin de año %2d", anual);
printf(" Depreciación: %7.2f", deprec);
printf(" Valor actual: %8.2f\n", val);
}
break;
case 4: /*Fin de Calculos*/
printf("\nHasta luego y que tenga buen dia\n");
break;

default: /*generar mensaje de error*/
printf("\nEntrada de datos incorrecta");
printf("-repite por favor\n");
}/*fin de switc*/
}/*fin de while*/
system ("pause");
return (0);
}/*Fin del Programa*/

Ejemplos practicos de Lenguaje C

Ejemplos prácticos


I.PROBLEMA A

/* programa que imprime un mensaje */
#include

main()
{
printf("Bienvenido a la informatica");
system ("pause");
return (0);
}


II. PROBLEMA B
#define Mensaje "¡ Bienvenido a la informatica!"
#include
main()
{
printf("MENSAJE \n");
system("pause");
return (0);
}


III. PROBLEMA C
/*Programa para calcular área*/

#include

main()
{
float base, altura, area;
printf("Base: ");
scanf("%f",&base);
printf("Altura: ");
scanf("%f", &altura);
area =(base * altura) / 2;
printf("Area: %f \n", area);
system("pause");
return (0);
}


IV. PROBLEMA D
/*Programa para calcular salario neto*/
#include
main()
{
float bruto, impuesto, neto;

printf ("Salario bruto: ");
scanf ("%f", &bruto);
impuesto = 0.14* bruto;
neto = bruto - impuesto;
printf ("Impuestos: %.f\n", impuesto);
printf("Salario neto: %.2f\n", neto);
system("pause");
return (0);
}



V. PROBLEMA E
/*Programa que calcule un numero menor*/
#include
int menor (int a, int b);
main()
{
int a, b, min;
printf ("Introduzca el primer numero: ");
scanf ("%d", &a);
printf ("Introduzca el segundo numero: ");
scanf("%d", &b);
min = menor (a, b);
printf ("\nEl numero menor es: %d", min);
system("pause");
}
int menor (int a, int b)
{
if (a <= b) return (a); else return (b); } VI. PROBLEMA F
#include
int menor(int a, int b);
main()
{
int cont, n, a, b, min;
printf("¿Cuantos pares de numeros?");
scanf ("%d", &n);

for (cont = 1; cont <= n; ++cont) { printf ("\nIntroduzca el primer numero: "); scanf ("%d", &a); printf ("Introduzca el segundo numero: "); scanf ("%d", &b); min = menor(a, b); printf ("\nEl numero menor es: %d\n ", min); system("pause"); } } int menor (int a, int b) { if (a <= b) return (a); else return (b); } VII. PROBLEMA G
#include
int menor(int a, int b);
main()
{
int a, b, min;
printf (" PARA PARAR, Introducir 0 en cada numero\n");
printf ("\nIntroduzca el primer numero: ");
scanf ("%d", &a);
printf ("Intordusca el segundo numero: ");
scanf ("%d", &b);
while (a != 0 || b !=0)
{
min = menor (a, b);
printf ("\nEl numero menor es: %d\n", min);

printf ("\nIntoduzca el primer numero: ");
scanf ("%d", &a);
printf ("Intoduzca el segundo numero: ");
scanf ("%d", &b);
}
}
int menor (int a, int b)
{
if (a <= b) return (a); else return (b); } VIII. PROBLEMA H
#include
int menor(int a, int b);
main()

{
int n, i = 0;
int a [100], b [100], min [100];
printf (" Para Parar, introducir o en cada numero\n");
printf ("\nIntroduzca el primer numero: ");
scanf ("%d", &a [i]);
printf ("Introduzca el segundo numero: ");
scanf ("%d", &b [i]);

while (a[i] || b [i])
{
min [i]= menor (a[i], b[i]);

printf ("\nIntroduzca el primer numero: ");
scanf ("%d", &a [++i]);0
printf ("Introduzca el segundo numero: ");
scanf ("%d", &b [i]);
}
n = -- i;
printf ("\nRelacion de resultados \n\n");
for (i = 0; i<= n; ++i)
printf ("a = %d, b =%d, min =%d\n", a[i], b[i], min [i]);
}
int menor (int a, int b)
{
if (a<= b)
return (a);
else
return (b);
}

viernes, 29 de julio de 2011

Estructura For

/* Calcular la media de varias listas de numeros */

#include
main()
{
int n, cont, nlistas, contlista;
float x, media, suma;

/* leer el numero de listas */
printf ("¿Cuantas listas? ");
scanf ("%d", &nlistas);

/*bucle externo (procesar cada lista de numeros)*/
for (contlista = 1; contlista <= nlistas; ++contlista)

{
/*inicializar y leer el valor de n */
suma = 0;
printf ("\nlista numero %d\n ¿Cuantos numeros? ", contlista);
scanf ("%d", &n);

/*leer los numeros */
for (cont = 1; cont <= n; ++cont)
{
printf ("x = ");
scanf ("%f", &x);
suma += x;

}
/* fin del bucle interno */
/* calcular la media y escribir la respuesta */
media = suma/n;
printf ("\nLa media es %f\n", media);
system("pause");
return(0);

}
/* fin del bucle externo */


}