Sei sulla pagina 1di 4

Curso: Fundamentos de programación Ciclo: 2018-1

Profesor: Hilmar Hinojosa Lazo Horarios: H383 – H388

Clase 13
Ejercicio 1

Elaborar un programa que permita ingresar un entero positivo y que halle su dígito menor y el promedio de
sus dígitos. La solución debe ser implementada de acuerdo al siguiente diagrama de módulos.

Procesar
número

Ingresar Calcular
Hallar dígito
entero promedio de
menor
positivo dígitos

Algoritmo en pseudocódigo Programa en lenguaje C

#include <stdio.h>

Funcion n <- ingresarEnteroPositivo() int ingresarEnteroPositivo()


Hacer {
Escribir "Ingrese un entero positivo: " int n;
Leer n do
Mientras Que n < 1 {
Fin Funcion printf( "Ingrese un entero positivo: " );
scanf( "%d", &n );
} while ( n < 1 );
return n;
}

Funcion digmenor <- hallarDigitoMenor( n ) int hallarDigitoMenor( int n )


digmenor <- 10 {
Mientras n <> 0 Hacer int dig, digmenor;
dig <- n % 10 digmenor = 10;
Si dig < digmenor Entonces while ( n != 0 )
digmenor <- dig {
Fin Si dig = n % 10;
n <- trunc ( n / 10 ) if ( dig < digmenor )
Fin Mientras digmenor = dig;
Fin Funcion n = n / 10;
}
return digmenor;
}

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ 1


Curso: Fundamentos de programación Ciclo: 2018-1
Profesor: Hilmar Hinojosa Lazo Horarios: H383 – H388

Funcion promdig <- calcularPromedioDigitos( n ) float calcularPromedioDigitos( int n )


cantdig <- 0 {
sumadig <- 0 int dig, cantdig, sumadig;
Mientras n <> 0 hacer float promdig;
dig <- n % 10 cantdig = 0;
cantdig <- cantdig + 1 sumadig = 0;
sumadig <- sumadig + dig while ( n != 0 )
n <- trunc ( n / 10 ) {
Fin Mientras dig = n % 10;
promdig <- sumadig / cantdig cantdig = cantdig + 1;
Fin Funcion sumadig = sumadig + dig;
n = n / 10;
}
promdig = 1.0 * sumadig / cantdig;
return promdig;
}

Algoritmo procesarNumero void main()


num <- ingresarEnteroPositivo() {
digitoMenor <- hallarDigitoMenor( num ) int num, digitoMenor;
promDigitos <- calcularPromedioDigitos( num ) float promDigitos;
Escribir "El dígito menor es ", digitoMenor num = ingresarEnteroPositivo();
Escribir "El promedio de dígitos es ", digitoMenor = hallarDigitoMenor( num );
promDigitos promDigitos = calcularPromedioDigitos( num );
Fin Algoritmo printf( "El digito menor es %d\n",
digitoMenor );
printf( "El promedio de digitos es %.2f\n",
promDigitos );
}

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ 2


Curso: Fundamentos de programación Ciclo: 2018-1
Profesor: Hilmar Hinojosa Lazo Horarios: H383 – H388

Ejercicio 2

Elaborar un programa que permita ingresar un entero de custro dígitos y que muestre todos sus divisores. La
solución debe ser implementada de acuerdo al siguiente diagrama de módulos.

Procesar
número

Ingresar
Mostrar
número de
divisores
cuatro dígitos

Algoritmo en pseudocódigo Programa en lenguaje C

#include <stdio.h>

Funcion n <- ingresarNumeroCuatroDigitos() int ingresarNumeroCuatroDigitos()


Hacer {
Escribir "Ingrese número de 4 dígitos: " int n;
Leer n do
Mientras Que n < 1000 O n > 9999 {
Fin Funcion printf( "Ingrese número de 4 dígitos: " );
scanf( "%d", &n );
} while ( n < 1000 || n > 9999 );
return n;
}

Funcion r <- mostrarDivisores( n ) void mostrarDivisores( int n )


Escribir "Divisores de ", n {
i <- 1 int i;
Mientras i<= n/2 Hacer printf ( "Divisores de %d\n", n );
Si n % i = 0 Entonces i = 1;
Escribir i while ( i <= n/2 )
FinSi {
i <- i + 1 if ( n % i == 0 )
Fin Mientras printf ( "%d\n", i );
Escribir n i = i + 1;
r <- 0 }
Fin Funcion printf( "%d", n );
}

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ 3


Curso: Fundamentos de programación Ciclo: 2018-1
Profesor: Hilmar Hinojosa Lazo Horarios: H383 – H388

Algoritmo procesarNumero void main()


num <- ingresarNumeroCuatroDigitos() {
nada <- mostrarDivisores( num ) int num;
Fin Algoritmo num = ingresarNumeroCuatroDigitos();
mostrarDivisores( num );
}

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ 4

Potrebbero piacerti anche