Practica de Problemas # 2
1. ESTRUCTURA WHILE:
6. 8 Dígitos de 0 al 9
#include <stdio.h>
#include <stdlib.h>
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 <stdio.h>
#include <ctype.h>
#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 <stdio.h>
#include <stdlib.h>
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);
}
2. ESTRUCTURA FOR:
Problema - 171 (FOR)
/* Calcular la media de varias listas de numeros */
#include <stdio.h>
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 */
}
3. ESTRUCTURA DE COMA:
Problema 197-198
/* buscar un palindromo */
#include <stdio.h>
#include <ctype.h>
#define EOL ´\n´
#define VERDADERO 1
#define FALSO 0
main()
{
char letras[80];
int aux, cont, contr, indicador, bucle = VERDADERO;
/* bucle principal */
while (bucle) {
indicador = VERDADERO;
/* 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[12]) == ´N´)) break;
aux = cont - 1;
/* realizar la buasqueda */
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 palindromo\n\n");
else printf(" NO ES un palindromo\n\n");
}
4. ESTRUCTURA IF:
# include <stdio.h>
# include <stdlib.h>
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);
}
5. ESTRUCTURA DO WHILE:
/*convertir una línea de texto de minúscula a mayúscula*/
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#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");
}
6. ESTRUCTURA FOR (DEBERIA SER CONTINUA)
/*calcular la media de los numeros no negativos de una lista de n numeros*/
#include <stdio.h>
#include <stdlib.h>
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);
#include <stdio.h>
#include <stdlib.h>
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);
7. ESTRUCTURA SWITCH:
/*calcular la descripción utilizando uno de tres métodos diferentes*/
#include <stdio.h>
{
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*/