12.185 cursos gratis
8.396.679 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Algoritmos y lenguaje C

Autor: Abraham Sopla Maslucán
Curso:
9,21/10 (15 opiniones) |36357 alumnos|Fecha publicación: 13/01/2006
Envía un mensaje al autor

Capítulo 15:

 bucles while III

Ejercicio 36

ex se puede expresar como la siguiente serie infinita.

                      bucles while III
Si se considera 1 como el término 0, x como el primer término,   como el segundo término,  como el tercer término, etc; entonces el término n es igual al término n-1 multiplicado por  . Haga el algoritmo para un programa basado en esta serie para encontrar una aproximación a  . El programa debe parar cuando el último término sumando sea menor de 0.0001. Compruebe el programa para   y compare con el valor de la función que devuelve este valor ( ) en cualquier lenguaje de programación.

Algoritmo
Inicio
Declare t, a, n, e, x
Leer x
n 2
t x
e 1+x
mientras t>0000.1 hacer
 t t*(x/n)
 e e+t
         n n+1
fin mientras
imprimir x, e
Fin

Variables
t : valor del término
n : posición del término
e : acumulador de t
x : valor del exponente ingresado

Programa
#include<stdio.h>
main(void)
{float n, t,e;
float x;
printf("ingrese el valor de x.. ");
scanf("%f",&x);
n=2;
t=x;
e=1+x;
while(t>0000.1)
 {
 t=t*(x/n);
 e=e+t;
         n=n+1;
 }
printf(" \n e a la %f es = %lf", x,e);
}

Ejercicio 37

Escriba el algoritmo para un programa que cuente el número de cifras de un entero de entrada hasta 32000. Así para una entrada de 583 la salida debe ser "3 cifras", asegúrese que el programa funcione para 1 y 10. Para cero la salida debe ser "UNA CIFRA". El programa no debe cerrarse hasta ingresar el número 0.

Algoritmo
Inicio
Declare x
Mientras x<32000 y x<>0 hacer
Leer x
 Si x>=0 y x<10 entonces imprimir x, "TIENE 1 CIFRA" Fin si
Si x>9 y x<100 entonces imprimir x, "TIENE 2 CIFRAS" Fin si
Si x>99 y x<1000 entonces imprimir x,  "TIENE 3 CIFRAS" Fin si
 Si x>999 y x< 10000 entonces imprimir x, "TIENE 4 CIFRAS" Fin si
 Si x>9999 y x<=32000 entonces imprimir "TIENE 5 CIFRAS" Fin si
Fin mientras
Fin

Variables
x : valor ingresado

Programa
#include<stdio.h>
main(void)
{
int x;
printf("PULSE 0 PARA TERMINAR Y OTRO NÚMERO PARA CONTINUAR");
while(x<32000 && x!=0)
 {printf("\n ingrese un número   ");
 scanf("%d",&x);
 if(x>=0 && x<=9) printf("%d TIENE 1 CIFRA",x);
 else if(x>=10 && x<=99) printf("%d TIENE 2 CIFRAS",x);
 else if(x>=100 && x<=999) printf("%d TIENE 3 CIFRAS",x);
 else if(x>=1000 && x<=9999) printf("%d TIENE 4 CIFRAS",x);
 else if(x>=10000 && x<=32000) printf("%d TIENE 5 CIFRAS",x);
 }
}

Ejercicio 38

Escriba el algoritmo para un programa en el que se pida al usuario ingresar 10 números enteros impares para sumarlos. Elabore el programa de manera que no se arruine si el usuario escribe algunos enteros pares. El programa debe salir del ciclo e imprimir la suma sólo cuando se hayan ingresado los 10 enteros impares.

Algoritmo
Inicio
Declare x, suma, c
Mientras e(c<10)
 Leer x
 si x modulo 2 <>0 entonces
  suma suma+x
          c c+1
 fin si
Fin mientras
imprimir suma
Fin

Variables
x :  valor ingresado
suma : acumulador de los valores de x
c : contador de números impares.

Programa
#include<stdio.h>
int x,suma,c;
main(void)
{
printf("INGRESE 10 NÚMEROS IMPARES \n");
while(c<10)
 {printf("ingrese un número   ");
 scanf("%d",&x);
 if(x%2!=0)
 {suma=suma+x;
        c=c+1;}
 }
 printf("la suma es %d ",suma);
}

Ejercicio 39

Hacer un algoritmo para un programa que imprima todos los números primos entre 2 números ingresados por el teclado.
 Ejemplo: primer número = 5
   Último número =15
   Resultado  =5, 7, 11, 13
Algoritmo
Inicio
Declare i, n1, n2, j
Leer n1, n2
Desde i=n1 hasta i<=n2 hacer
j 2
mientras i modulo j <>0 hacer
           j=j+1
  Si i=j entonces imprimir i
  Fin si
 Fin mientras
Fin Desde
Fin

Variables
i : contador, número primo
j : contador
n1 : primer numero del rango
n2 : segundo numero del rango

Programa
#include<stdio.h>
main(void)
{
int i,n1,n2,j;
printf("ingrese el primer número ");
scanf("%d",&n1);
printf("ingrese el segundo número ");
scanf("%d",&n2);
for(i=n1;i<=n2;i++)
{j=2;
while(i%j!=0)
           {
                 j=j+1;
   if(i==j) printf(" %d ",i);
 }
}
}

Comentario: Los i son los números  primos, entre n1 y n2.

Capítulo siguiente - Funciones y procedimientos
Capítulo anterior - Bucles while II

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Algoritmos y lenguaje C


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Algoritmos en QBASIC. Manual
Este manual de QBASIC es una colección linkografica y bibliográfica sobre el uso... [26/10/09]
12.730  
2. Introducción al lenguaje Pascal
Pascal es un lenguaje de alto nivel y de propósito general (es aplicable a un gran... [01/03/06]
40.127  
3. Introducción al lenguaje HTML
¿Te interesa entrar al mundo de la programación web ? ¡Entonces este curso de... [14/04/11]
739
Curso con video

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Te interesa? ¡Te enviamos gratis las novedades de Programación!