Está en la página 1de 22

Tema 4 Ejercicios varios de

Algoritmos y Diagramas de flujo

Ing. Abel Raúl Díaz Castillo


CONDICIONALES - SI (IF)
Se resolverán todos estos ejercicios con PSeInt - Estricto
1) Diseñe un algoritmo que lea un número de tres cifras y determine si es o no capicúa.

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:

Algoritmo calculoSueldo Sueldo Base = Descuento


Definir hrs Como Entero
Definir desc,suehr,sueldo Como Real Menor 500 = 0
Definir codigo Como Caracter Entre 501 y 1000 = 2%
desc <- 0
sueldo <- 0
Entre 1001 y 4000 = 8%
Escribir 'Codigo: ' Entre 4001 y 8000 = 15%
Leer codigo Mayor a 8000 = 30%
Escribir 'Horas trabajadas: '
Leer hrs
Escribir 'Sueldo x hora: '
Leer suehr
// en el caso especifico de un entero y un numero real ambos pueden ser operados (numeros)
sueldo <- hrs*suehr
Si (sueldo<=500) Entonces
desc <- 0
SiNo
Si (sueldo>=501 Y sueldo<=1000) Entonces
desc <- 0.02
SiNo
Si (sueldo>=1001 Y sueldo<=4000) Entonces
desc <- 0.08
SiNo
Si (sueldo>=4001 Y sueldo<=8000) Entonces
desc <- 0.15
SiNo
desc <- 0.30
FinSi
FinSi
FinSi
FinSi
Escribir ''
Escribir 'Trabajador: ',codigo
Escribir 'Sueldo base : $',sueldo
Escribir 'Descuento del ',desc,'%:$',(sueldo*desc)
Escribir 'Pago Neto : $',sueldo-(sueldo*desc)
FinAlgoritmo
Diagrama de flujo.
SELECCIÓN - SEGÚN (SWITCH)
Se resolverán todos estos ejercicios con PSeInt - Estricto
3) Se pide ingresar 3 notas y calcular el promedio de un alumno, mostrar el nivel del alumnos según su promedio:
00 – 10 = Malo.
11 – 13 = Regular.
Algoritmo notasSegun 14 – 16 = Bueno.
Definir N1, N2, N3, Prom Como 17 – 20 = Muy bueno.
Entero;
Escribir "Ingrese Nota 1: ";
Leer N1;
Escribir "Ingrese Nota 2: ";
Leer N2;
Escribir "Ingrese Nota 3: ";
Leer N3;
Prom<-redon((N1+N2+N3)/3);
Segun Prom Hacer
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10:
Escribir "Malo";
11, 12, 13: Escribir "Regular";
14, 15, 16: Escribir "Bueno";
17, 18, 19, 20: Escribir "Muy
bueno";
FinSegun
FinAlgoritmo
Diagrama de flujo.
4) Se pide ingresar el sueldo de un trabajador y su categoría, dependiendo de la categoría se le dará una bonificación en el neto a pagar.

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

Hasta Que int == 1;


Escribir "El numero aleatorio de 1 al 9 secreto es: ", obtenido;
FinAlgoritmo
Diagrama de flujo.
8) Algoritmo para validar que un usuario ingrese un número positivo de 5 cifras.

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

También podría gustarte

  • Registro de Llamadas
    Registro de Llamadas
    Documento18 páginas
    Registro de Llamadas
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Registro de Entrevistas
    Registro de Entrevistas
    Documento3 páginas
    Registro de Entrevistas
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Ejercicios de Pseint
    Ejercicios de Pseint
    Documento4 páginas
    Ejercicios de Pseint
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Problemas de Destilación
    Problemas de Destilación
    Documento20 páginas
    Problemas de Destilación
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • 2 Conceptos Básicos de Programación.
    2 Conceptos Básicos de Programación.
    Documento63 páginas
    2 Conceptos Básicos de Programación.
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Detector de Gas
    Detector de Gas
    Documento2 páginas
    Detector de Gas
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Examen
    Examen
    Documento31 páginas
    Examen
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Informe #11
    Informe #11
    Documento10 páginas
    Informe #11
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • 4 Psicologia
    4 Psicologia
    Documento1 página
    4 Psicologia
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Circuitos de Corriente Alterna (C.A)
    Circuitos de Corriente Alterna (C.A)
    Documento12 páginas
    Circuitos de Corriente Alterna (C.A)
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Capitulo 16
    Capitulo 16
    Documento5 páginas
    Capitulo 16
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Capitulo 17
    Capitulo 17
    Documento5 páginas
    Capitulo 17
    Dasha Escalera Torrico
    Aún no hay calificaciones
  • Informe 11
    Informe 11
    Documento10 páginas
    Informe 11
    Dasha Escalera Torrico
    Aún no hay calificaciones