Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 Ejercicios Varios de Algoritmos y Diagramas de Flujo
4 Ejercicios Varios de Algoritmos y Diagramas de Flujo
Un número capicúa o capicúa es aquel que al intercambiar sus valores nos da el mismo número; en este caso vamos a
descomponer el número obteniendo la unidad, decena y centena para luego intercambiar sus valores y compararlos
con el valor inicial.
Algoritmo numeroCapicua Ejm: 148 no es capicua
Definir Num, C1, R1, C2, R2 como Entero;
141 es capicua
Escribir "Ingresar un numero de 3 cifras y mostrar
si es capicua";
Escribir " ";
Escribir "Ingrese numero: ";
Leer Num;
C1<-(Num-(Num MOD 100)) / 100;
R1<- Num MOD 100;
C2<-(R1-(R1 MOD 10)) / 10;
R2<- R1 MOD 10;
Escribir " ";
Si Num = ((R2*100)+(C2*10)+C1) Entonces
Escribir "Numero es CAPICUA";
SiNo
Escribir "Numero NO CAPICUA";
FinSi
FinAlgoritmo
Diagrama de flujo.
2) Se lee el código del empleado, número de horas trabajadas, sueldo por hora. Calcular el pago neto considerando la siguiente tabla de
descuento:
Categoría = Bonificación:
A = 10%
B = 20%
C = 30%
D = 50% Algoritmo suldoTrabajador
Definir Categoria Como Entero;
Definir Sueldo, Bonificacion Como Real;
Escribir "Ingrese Sueldo Base: ";
Leer Sueldo;
Escribir "Ingrese su categoria: 1=A, 2=B, 3=C, 4=D";
Leer Categoria;
Segun Categoria Hacer
1:Bonificacion <- Sueldo * 0.1;
2:Bonificacion <- Sueldo * 0.2;
3:Bonificacion <- Sueldo * 0.3;
4:Bonificacion <- Sueldo * 0.5;
FinSegun
Escribir "Bonificacion:", Bonificacion;
Escribir "Neto a pagar:", Sueldo + Bonificacion;
FinAlgoritmo
Diagrama de flujo.
REPETIR PARA (FOR)
Se resolverán todos estos ejercicios con PSeInt - Estricto
5) Elaborar un programa que muestre el mayor de 10 números ingresados.
Algoritmo numMay
Definir Cont, mayor, num Como Entero;
mayor<-0;
Para Cont <- 1 Hasta 10 Con Paso 1 Hacer
Escribir "Ingrese Numero", Cont, ": ";
Leer num;
Si mayor < num Entonces
mayor <- num;
FinSi
FinPara
Escribir "El mayor es: ", mayor;
FinAlgoritmo
Diagrama de flujo.
6) Una empresa comercial registra el nombre, género y la cantidad de ventas realizado durante el mes de cada uno de sus N
empleados, se pide calcular el total de ventas realizadas por género durante el mes así con el porcentaje de mujeres que trabajan en la
corporación.
Algoritmo empComercial
Definir cont, ventas, empleados, tv_h, tv_m, muj Como Entero;
Definir nom, genero Como Caracter;
tv_h<-0;
tv_m<-0;
muj<-0;
Escribir Sin Saltar "CANTIDAD DE EMPLEADOS: ";
Leer empleados;
Para cont <- 1 Hasta empleados Con Paso 1 Hacer
Escribir "Empleado Nro", cont, "/",empleados;
Escribir Sin Saltar "Nombre: ";
Leer nom;
Escribir Sin Saltar "Genero(H/M): ";
Leer genero;
Escribir Sin Saltar "Ventas: ";
Leer ventas;
Escribir "";
//SI > < <= >= = cuando se compara = se declara ==
Si (genero=="H") Entonces
tv_h<-tv_h+ventas;
SiNo
tv_m<-tv_m+ventas;
muj<-muj+1;
FinSi
FinPara
Escribir "Total de venta de hombres: ", tv_h;
Escribir "Total de venta de mujeres: ", tv_m;
Escribir "";
Escribir "Porcentaje de mujeres: ", (muj*100)/empleados;
FinAlgoritmo
Diagrama de flujo.
REPETIR REPETIR HASTA - QUE
Se resolverán todos estos ejercicios con PSeInt - Estricto
7) Generar un número aleatorio del 1 al 9, el usuarios tiene 3 intentos para encontrar dicho número. Si acierta con el numero
imprimir el siguiente mensaje: ACERTÓ CON EL NÚMERO de lo contrario identificar si el número es mayor o menor.
Algoritmo sorteoNumeros
Definir int, x, num, obtenido Como Entero;
int <- 0;
x <- 1;
//Aleatorio no es una variable sino es una funcion que genera numeros aleatorios (n a m)
obtenido<-Aleatorio(1,9);
Repetir
Escribir Sin Saltar "Ingrese numero", x, ":";
Leer num;
//comparamos numero ingresados con el numero aleatorios, si es verdados entonces
Si(num==obtenido) Entonces
Escribir "----------------------";
Escribir "ACERTO CON EL NUMERO";
Escribir "----------------------";
int<-1;
SiNo
//el usuario inteno agrega 3 numeros pero no acerto con el numero aleatorio
Si (x == 3) Entonces
int<-1;
Escribir "NO ACERTO NINGUN NUMERO.";
SiNo
x <- x+1;
Si (num>obtenido) Entonces
Escribir "El numero ingresado es menor";
SiNo
Escribir "El numero es mayor";
FinSi
FinSi
FinSi
Algoritmo cincoCifras
Definir num Como Entero;
Repetir
Escribir "Ingrese un numero de 5 cifras:";
Leer num;
//verificar si no es un numero de 5 cifras
Si (No(num>=10000 y num <=99999))
Entonces
Escribir "Ingreso un numero que no
es de cinco cifras, Intente nuevamente";
FinSi
//verificar si es un numero de 5 cifras
Hasta Que num >=10000 y num <=99999;
Escribir "El numero de 5 cifras
ingresado fue: ", num;
FinAlgoritmo
REPETIR MIENTRAS (WHILE)
Se resolverán todos estos ejercicios con PSeInt - Estricto
9) Mostrar el total de compra. Se ingresa la cantidad y el precio de n compras, hasta que el cliente indique que NO más pedidos, al
finalizar mostrar el total de compra, IVA(IMPUESTO) y el total a pagar.
Algoritmo totalCompra
Definir cant Como Entero
Definir monto_compra,precio,IVA,total Como
Real
Definir continua Como Caracter
total <- 0
continua <- 'S'
// <> mientras algo sea distinto
Mientras continua<>'N' Hacer
Escribir 'Cantidad: ' Sin Saltar
monto_compra <- cant*precio
Leer cant
Escribir 'Precio $: ' Sin Saltar
Leer precio
total <- total+monto_compra
Escribir '¿Otra compra? (S/N): ' Sin
Saltar
Leer continua
Escribir ''
FinMientras
IVA <- total*0.18
Escribir 'TOTAL DE COMPRA $$$: ',total
Escribir 'IVA 18%: ',IVA
Escribir 'TOTAL A PAGAR: ',total+IVA
FinAlgoritmo
Diagrama de flujo.
10) Ingrese un numero entero y muestra el número de cifras que contiene.
Algoritmo numeroDeCifras
Definir num Como Entero;
Escribir Sin Saltar "INGRESE NUMERO: ";
Leer num
cifras(num)
FinAlgoritmo
SubProceso cifras(n)
Definir sw, cont Como Entero
Definir c Como Real
sw <- 0
cont <- 1
c <- 1
Si n < 10 Entonces
Escribir cont, " CIFRA";
SiNo
Mientras sw = 0 Hacer
Si n >= (cont*10) Entonces
cont <- cont * 10;
c <- c + 1
SiNo
sw <- 1;
FinSi
FinMientras
Escribir c, " CIFRAS";
FinSi
FinSubProceso
Thanks!
Any questions?
You can find me at:
Abel Raul Diaz Castillo
a.diaz@umss.edu.bo