Você está na página 1de 73

PRINCIPIOS DE ALGORITMOS

Fundamentos I: Tipos de datos, expresiones y Estructuras


secuenciales y selectivas (simples, doble, y multiples)

Expositor : John Zamora Cordova


Qué es un ALGORITMO ?
Un algoritmo es la secuencia de pasos
ordenados y finitos con los cuales se da
solución a un determinado problema
informático.

Ejemplo:
Como elaborar una boleta de pago
Como cambiar una llanta a un carro
Como ensamblar una computadora
Qué necesito para armar un
Algoritmo ?
Realizar operaciones matemáticas
básicas, tales como : Sumar, Restar,
Multiplicar y Dividir.

Lectura y Comprensión de Lectura, esto


servirá para poder entender y dar solución
a la proposición o problema que me
planteen.
Ej: Como elaborar una torta ?
PASOS:
1. Comprar los ingredientes
2. Mezclar los ingredientes y hacer la masa
3. Llevar la masa al horno por un tiempo “X”
4. Llegado el tiempo “X” saca la masa procesada
5. Decorar la masa procesada llamada ahora torta
6. Colocarle unos adornos a la torta
7. Cortar y repartir la torta
8. A disfrutar de la torta
Ej: Como cambiar una llanta ?
PASOS:

Elaborar su solución ?
Herramientas de un Algoritmo
OPERADORES ARITMETICOS

OPERADOR SIGNIFICADO
+ SUMAR
- RESTAR
* MULTIPLICAR
DIV DIVISION ENTERA
/ DIVISION REAL
MOD, % RESTO ARTIMETICO
↑, ^,** POTENCIACION
Herramientas de un Algoritmo
OPERADORES RELACIONALES

OPERADOR SIGNIFICADO
> MAYOR
< MENOR
>= MAYOR o IGUAL
<= MENOR o IGUAL
= IGUAL
<> DIFERENTE
Herramientas de un Algoritmo
OPERADORES LOGICOS
OPERADOR SIGNIFICADO
Y CONJUNCION
O DISYUNCION
NO NEGACION

Observe la tabla
Herramientas de un Algoritmo
OPERADORES DE ASIGNACION Y
AGRUPACION
OPERADOR SIGNIFICADO
← ASIGNAR
() AGRUPAR
Transformación de Expresiones

Expresión Matemática Expresión Algorítmica


2A
2A + 3B
(2A + 3B) / (2A)
[(5C x 6D) / (3E)] x 5A
[(2X + 3Y) x (5Y – 2X)]/2A
Qué es una variable ?
Es una entidad con nombre único en un
algoritmo y a la que se le puede asignar un valor
y luego realizar algún tipo de calculo o
comparación.
Las variables pueden asumir valores numéricos,
alfanuméricos y lógicos.
Existen 2 tipos de duración o ámbito de las
variables, estas son (GLOBAL Y LOCAL). Las
variables globales se pueden utilizar en
cualquier parte del Algoritmo y las variables
locales son dentro de un sub-programa
(Procedimiento o Función).
Formación del nombre de Variables
El nombre de una variable esta formada por una
colección de caracteres alfabéticos (‘A’..’Z’,’a’..’z’),
dígitos (‘0’..’9’) y por el carácter subrayado ( _ ).
El nombre de una variable siempre debe comenzar por
un carácter alfabético o por el carácter subrayado.
El nombre de una variable “NO DEBE” comenzar con un
digito.
El nombre de una variable no debe contener espacios en
blanco o caracteres especiales tales como (“, #, ., :, ;, %,
&, @, etc).
Asi: sueldo
sueldoBasico
sueldo_basico
El nombre de una variable no debe coincidir con una
palabra clave de un algoritmo (SI, SINO, MIENTRAS,
PARA, REPETIR, etc…)
Ejemplos
DECLARACION VALIDEZ
abc VALIDO
a123 VALIDO
1a2b NO VALIDO
_MiVariable VALIDO
Mi_Variable VALIDO
Mi_123456 VALIDO
_1_2_3 VALIDO
Mi@Variable NO VALIDO
Tipos de Datos
NUMERICOS
Entero
Real
ALFANUMERICOS
Carácter
Cadena
LOGICOS (Verdad o Falso)
Como se declaran las variables
Para declarar variables en un algoritmo se hace
uso de la siguiente sintaxis :

Tipo_Dato: Lista_variables
Ejemplo :
ENTERO: a, b, c
REAL: x, y, z
CARÁCTER: car1, car2
CADENA: texto1, texto2
LOGICO: estado, ok, done
Evaluación de Expresiones
SI LAS VARIABLES a, b, c y d CONTINEN LOS VALORES 10, 20,
30 Y 5 RESPECTIVAMENTE, EVALUAR :

EXPRESION RESULTADO

(a + b) DIV d

(a + b) MOD d

(a > b) Y (c < d)

NO (a > b) O ( c <> d)
Instrucciones de Entrada y Salida
de Información
Instrucción LEER : Se utiliza para ingresar un
valor y asignarselo a una variable del algoritmo.
Sintaxis : leer(vlista_variables)

Instrucción ESCRIBIR : Se utiliza para visualizar


el valor de una variable, constante, texto y
combinación de los mismos existentes en un
algoritmo.
Sintaxis : escribir(lista_variables)
Estructura básica de un
ALGORITMO
Algoritmo Nombre_Descriptivo
Variables
:
: Instrucciones
y/o
INICIO
Sentencias
:
:
FIN
Ejemplo : Ingrese un número entero, luego
súmele 2 unidades y visualícelo.
Algoritmo sumar a numero
variables
entero: n
INICIO
leer( n )
n←n+2
escribir( a )
FIN
Problema 2 : Ingrese un número entero,
luego halle su mitad y visualícelo.
Algoritmo mitad de numero
variables
entero: n
INICIO
leer(n)
n ← n DIV 2
escribir( n )
FIN
Problema 3 : Ingrese 2 números enteros y luego
calcule y visualice la suma, diferencia y producto de
los 2 números ingresados.
Algoritmo operaciones aritmeticas
variables
entero: a, b, suma, resta, producto
INICIO
leer( a, b )
suma ← a + b
resta ← a – b
producto ← a * b
escribir(“La Suma es:”, suma)
escribir( suma, resta, Producto)
FIN
Problema 4 : Ingresar un número entero
y luego calcular y visualizar su 5%.
Algoritmo calcular porcentaje
variables
entero: n
real: porcentaje
INICIO
leer( n )
porcentaje ← n * (5 / 100)
escribir( Porcentaje )
FIN
Problema 5 : Ingrese el precio y la cantidad
comprada de un producto, luego calcule y visualice
el total a pagar por la compra realizada.
Algoritmo total a pagar
variables
entero: cantidad
real: precio, total
INICIO
leer( cantidad, precio )
total ← cantidad * precio
escribir( total )
FIN
Problema 6 : Un tienda comercial ofrece a sus
clientes un descuento del 3% del total de venta,
calcular el total a pagar por una compra.
Algoritmo Descuento de compra
variables
real: Vcompra, descuento, total
INICIO
leer(Vcompra)
descuento ← Vcompra * 0.03
total ← Vcompra – descuento
escribir( total )
FIN
Problema 7 : Una empresa decide otorgar una bonificación
del 5% del haber básico por cada hijo a todos sus
trabajadores. Calcule el total a pagar a un trabajador.

Algoritmo pago con bonificacion


variables
entero: NroHijos
real: Hbasico, bonificacion, total
constante
valorBoni = 0.05
INICIO
leer(Hbasico, NroHijos)
bonificacion ← (Hbasico * valorBoni) * NroHijos
total ← Hbasico + bonificacion
escribir( total )
FIN
Problema 8 : Una tienda otorga un descuento del
2.5% por cada 5 productos adquiridos, calcular el
total a pagar por una compra.
Algoritmo Compra en oferta
variables
entero: cantidad
real: precio, VCompra, descuento, total, factorCompra
INICIO
leer( cantidad, precio )
Vcompra ← cantidad * precio
factorCompra ← (cantidad DIV 5) * 0.025
descuento ← Vcompra * factorCompra
total ← vCompra – descuento
escribir( total )
FIN
ESTRUCTURAS
CONDICIONALES
Los Programas se pueden escribir en base a
tres estructuras:

1.Secuenciales
2.Condicionales, y
3.Repetitivas

(las estructuras 2 y 3 evalúan expresiones


lógicas o condicionales)
Estructuras Condicionales
Las estructuras condicionales, me
permiten evaluar una expresión o
expresiones y según el resultado de esta
evaluación se procesan un grupo de
instrucciones y/o sentencias.
Las estructuras condicionales se clasifican
en :
Estructuras Selectivas
Estructuras Repetitivas
Estructuras Selectivas
Las estructuras selectivas permiten evaluar una
expresión o expresiones para luego procesar un grupo
de instrucciones y/o sentencias. Estas estructuras se
procesan solo 1 vez.
Las estructuras selectivas se clasifican en :
Condicional Simple (si / fin_si)
Condicional Doble (si / si_no / fin_si)
Condicional Anidada (Similar a Condicional Doble)
Condicional Múltiple (en_caso / fin_en_caso)
Condicional Simple
Se emplea para evaluar una expresión o
expresiones, si el resultado de esta evaluación
es un valor lógico verdadero (true), entonces se
procesaran un grupo de instrucciones o
sentencias.
Sintaxis :
SI ( Expresion<es> ) ENTONCES
Instrucciones : true
y/o
Sentencias :
FIN-SI
Ejemplo1 : Ingrese 2 números enteros y visualice el
mayor de los 2 números ingresados.

Algoritmo Numero mayor


var
entero: a, b, mayor
INICIO
leer( a, b)
mayor ← a
si( b > a ) entonces
mayor ← b
fin_si
escribir( mayor )
FIN
Ejemplo 2 : Ingrese un número entero, si es mayor
a 10 súmele 10 unidades y visualice el nuevo valor.

Algoritmo Suma condicional


variables
entero: n
INICIO
leer( n )
si( n > 10) entonces
n ← n + 10
fin_si
escribir( n )
FIN
Ejemplo 3 : Una tienda ofrece un descuento del 3% para un
producto en promoción, si el número de productos adquiridos
excede en 5. Calcular el total a pagar por cada compra.
Algoritmo Compra con descuento
variables
entero: cantidad
real: precio, Vcompra, descuento, total
constante
valorDesc = 0.03
INICIO
leer( cantidad, precio )
Vcompra ← cantidad * precio
si ( cantidad > 5 ) entonces
descuento ← Vcompra * valorDesc
fin_si
total ← Vcompra – descuento
escribir( total )
FIN
Ejemplo 4 : Ingrese un número entero y luego
visualice un mensaje indicando si el número
ingresado es “PAR” o “IMPAR”.
Algoritmo enteros pares e impares
variables
entero: n, resto
INICIO
leer( n )
resto ← n MOD 2
si ( resto = 0 ) entonces
escribir(“PAR”)
fin_si
si ( resto <> 0 ) entonces
escribir(“IMPAR”)
fin_si
FIN
Ejemplo 5 : Una empresa otorga un bonificación del
5% del haber básico a sus trabajadores que tienen
hijos, calcular el total a pagar por este concepto.
Algoritmo Bonificacion familiar
variables
entero: NroHijos
real: Hbasico, bonificacion, total
INICIO
leer(Hbasico, NroHijos)
bonificacion ← 0
si ( NroHijos > 0 ) entonces
bonificacion ← Hbasico * 0.05 *
NroHijos
fin_si
total ← Hbasico + bonificacion
escribir( total )
FIN
Condicional Doble
Se emplea para evaluar una expresión o
expresiones, si el resultado de esta evaluación
es un valor lógico verdadero (true), entonces se
procesaran un grupo de instrucciones o
sentencias, caso contrario (false) se procesara
otro grupo de instrucciones o sentencias.
Sintaxis :
SI ( Expresion<es> ) ENTONCES
Instrucciones
true
y/o :
Sentencias

SINO
Instrucciones
false
y/o
:
Sentencias

FIN-SI
Ejemplo 1 : Calcular el mayor valor de 2 números
enteros.

Algoritmo Entero mayor


variables
entero: a, b, mayor
INICIO
leer(a, b)
si( a > b ) entonces
mayor ← a
si_no
mayor ← b
fin_si
escribir(mayor)
FIN
Ejemplo 2 : Calcular el mayor valor de 3
números enteros.
Algoritmo Mayor de tres enteros
variables
entero: a, b, c, mayor
INICIO
leer(a, b, c)
si (a > b) Y ( a > c) entonces
mayor ← a
si_no
si (b > c) entonces
mayor ← b
si_no
mayor ← c
fin_si
fin-si
escribir(mayor)
FIN
Ejemplo 3 : Una tienda comercial ofrece un descuento del 3% del valor de
compra si el pago se efectua al contado, en caso el pago sea con tarjeta se le
recarga un 5% del valor de compra. Calcular el total a pagar por una compra.

Algoritmo Compra al contado


variables
real: Vcompra, descuento, recargo, total
caracter tipoPago //c,C de contado
INICIO
leer(Vcompra, tipoPago)
descuento ← 0 : recargo ← 0
si (tipoPago = ‘c’ ) O (tipoPago = ‘C’) entonces
descuento ← Vcompra * 0.03
si_no
recargo ← Vcompra * 0.05
fin_si
total ← Vcompra – descuento + recargo
escribir(total)
FIN
Ejemplo 4 : Ingrese un número entero, si es de 2 cifras
visualice la suma de sus cifras, caso contrario visualice su
doble.
Algoritmo Calculo de cifras
variables
entero: n, a, b
INICIO
leer( n )
si( n >= 10 ) Y ( n <= 99 ) entonces
a ← n DIV 10
b ← n MOD 10
escribir( a + b )
si_no
escribir( n * 2 )
fin_si
FIN
Ejemplo 5 : Ingrese un número entero de 3 cifras y luego
visualice un mensaje indicando si el número ingresado es
“CAPICUA” o “NO ES CAPICUA”.
Algoroitmo numero capicua
variables
entero: n, a, c
INICIO
leer( n )
si ( n >= 100) Y ( n <= 999 ) entonces
a ← n DIV 100
c ← ( n MOD 100) MOD 10
si ( a = c ) entonces
escribir(“CAPICUA”)
si_no
escribir(“NO ES CAPICUA”)
fin_si
fin_si
FIN
Ejemplo 6 : Ingrese un número entero, si es de 2 cifras
imprima el inverso del número ingresado, caso
contrario imprima su triple.

ALGORITMO Inverso y triple de enteros


variables
entero n, a, b
INICIO
leer( n )
si ( n >= 10 ) Y ( n <= 99 ) entonces
a ← n DIV 10
b← n MOD 10
escribir( (b * 10) + b )
si_no
escribir( n * 3 )
fin_si
FIN
Ejemplo 7 : Ingrese un número entero de 3 cifras y luego visualice el inverso
del número siempre y cuando la suma de sus cifras sea un número par.
ALGORITMO Inverso y suma de cifras de enteros
variables
entero: n, a, b, c, suma
INICIO
leer( n )
si (n > = 100) Y (N <= 999) entonces
a ← n DIV 100
b ← (n MOD 100) DIV 10
c ← (n MOD 100) MOD 10
suma ← a + b + c
si ( suma MOD 2 = 0 ) entonces
escribir( (C*100)+(B*10)+A)
fin-si
si_no
escribir(“EL NUMERO NO ES DE 3 CIFRAS”)
fin_si
FIN
Ejemplo 8 : Ingrese los coeficientes de una ecuación de 2do
grado y luego visualice un mensaje indicando de que tipo
son sus raíces.
ALGORITMO Ecuacion de segundo grado
VARIABLES
entero: a, b, c
real: discriminante
INICIO
leer( a, b, c )
discriminante ← (b * b) – (4 * a * c)
si (discriminante < 0 ) entonces
escribir(“Raíces Imaginarias”)
si_no
si (discriminante = 0) entonces
escribir(“Raíces Iguales”)
si_no
escribir(“Raíces Reales”)
fin_si
fin_si
FIN
PROBLEMAS PROPUESTOS
Problema 1 : Ingrese un número entero, si es de 4 cifras,
visualice un mensaje indicando si el número ingresado
es “CAPICUA” o “NO ES CAPICUA”.
Problema 2 : Ingrese un número entero, si es de 4 cifras,
visualice los números formados por las cifras extremas y
las cifras centrales.
Problema 3 : Calcule el total a pagar por una compra,
sabiendo que obtiene un descuento del 3% del valor de
la compra, si el número de productos adquiridos es
mayor a 5. Calcular y visualizar el descuento y total a
pagar por una compra.
Solución Problema 1:
Algoritmo Problema1
var
entero: n, a, b, c, d
INICIO
leer( n )
si( a >= 1000) Y (n <= 9999) entonces
a ← n DIV 1000
b ← (n MOD 1000) DIV 100
c ← ((n MOD 1000) MOD 100) DIV 10
d ← ((n MOD 1000) MOD 100) MOD 10
si( a = d) Y ( b = c ) entonces
escribir (“CAPICUA”)
si_no
escribir(“NO CAPICUA”)
fin_si
fin_si
FIN
Solución Problema 2:
Algoritmo Problema2
var
entero: n, a, b, c, d, m1, m2
INICIO
leer( n )
si( n >= 1000) Y (n <= 9999) entonces
a ← n DIV 1000
b ← (n MOD 1000) DIV 100
c ← ((n MOD 1000) MOD 100) DIV 10
d ← ((N MOD 1000) MOD 100) MOD 10
m1 ← (a * 10) + d
m2 ← (c * 10) + b
escribir ( m1, m2)
si_no
escribir(“Numero NO es de 4 CIFRAS”)
fin_si
FIN
Solución Problema 3:
Algoritmo Problema3
var
entero: nroProductos
real: valorCompra, precioUnidad,descuento, totalPagar
INICIO
leer(nroProductos, precioUnidad)
valorCompra ← nroProductos * precioUnidad
si ( nroProductos > 5 ) entonces
descuento ← valorCompra * 0.03
si_no
Descuento ← 0
fin_si
totalPagar ← valorCompra – descuento
escribir( descuento, totalPagar)
FIN
Condicional Anidada
Esta estructura se emplea cuando se requiere condicionar dentro de
otra condicional, es decir cuando dentro de una condicional simple o
doble existe otra condicional simple o doble.
Sintaxis :
SI ( Expresion<es> ) ENTONCES
SI (Expresion<es>) ENTONCES
:
SINO
:
FIN-SI
SINO
SI (Expresion<es>) ENTONCES
:
SINO
:
FIN-SI
FIN-SI
Ejemplo 1 : Ingrese un número entre 1 y 3, luego
visualice su equivalente en letras.
Algoritmo Ejemplo1
var
entero: n
INICIO
leer( n )
si( n = 1 ) entonces
escribir(“UNO”)
si_no
si( n = 2 ) entonces
escribir(“DOS”)
si_no
si( n = 3 ) entonces
escribir(“TRES”)
si_no
escribir(“NUMERO NO VALIDO”)
fin_si
fin_si
fin_si
FIN
Ejemplo 2 : Ingrese el puntaje obtenido por un postulante y luego
visualice a que carrera ingreso, según la siguiente tabla :

Puntaje Carrera
[ 70 – 90 > Contabilidad SI NO LOGRO
[ 90 – 100 > Administración INGRESO,
VISUALIZAR
[ 100 – 120 > Derecho CUANTOS
[ 120 – 150 > Ingeniería PUNTOS LE
[ 150 a más … Medicina FALTO

Ejemplo 3 : Ingrese el consumo de agua de un mes y calcule el visualice


el total a pagar, según la siguiente tabla :

Consumo Tarifa
[ 1 – 50 > 0.8
[ 50 – 100 > 1.5
[ 100 – 150 > 1.8
[ 150 – 200 > 2.0
[ 200 a más … 2.2
Algoritmo Ejemplo2
var
entero: puntaje
INICIO
leer( puntaje )
si (puntaje >= 70) Y (puntaje < 90) entonces
escribir(“Contabilidad”)
si_no
si (puntaje >= 90) Y (puntaje < 100) entonces
escribir (“Administración”)
si_no
si (puntaje >= 100) Y (puntaje < 120) entonces
escribir (“Derecho”)
si_no
si (puntaje >= 120) Y (puntaje < 150) entonces
escribir (“INGENIERIA”)
si_no
si (puntaje >= 150) entonces
escribir (“MEDICINA”)
si_no
escribir (“LE FALTO:”, 70-Puntaje)
fin_si
fin_si
fin_si
fin_si
fin_si
FIN
Algoritmo Ejemplo3
var
entero: consumo
real: tarifa, totalPagar
INICIO
leer( consumo )
si (consumo >= 1) Y (consumo < 50) entonces
tarifa ← 0.8
si_no
si (consumo >= 50) Y (consumo < 100) entonces
tarifa ← 1.5
si_no
si (consumo >= 100) Y (consumo < 150) entonces
tarifa ← 1.8
si_no
si (consumo >= 150) Y (consumo < 200) entonces
tarifa ← 2.0
si_no
tarifa ← 2.2
fin_si
fin_si
fin_si
fin_si
totalPagar ← consumo * tarifa
escribir ( totalPagar )
FIN
Ejemplo 4 : Ingrese el ciclo y turno a estudiar, luego calcule el total a
pagar según la siguiente tabla :
CICLO TURNO PENSION
1 M 850
1 N 800
2 M 750
2 N 700
3 - 10 M 650
3 - 10 N 600

Ejemplo 5 : Ingrese el estado civil y numero de hijos, luego calcule la


bonificación a pagar a un trabajador según la siguiente tabla :
Estado Hijos Bonificación
Civil (% Haber Básico)
S 0 2.50 %
S >0 2.75 %
C 0 2.80 %
C >0 3.00 %
V 0 2.50 %
V >0 2.75 %
D 0 2.50 %
D >0 3.00 %
Algoritmo Ejemplo4
var
real: pension
entero: ciclo
carácter: turno
INICIO
leer( ciclo, turno )
si (ciclo = 1) entonces
si (turno = ‘M’) entonces
pension ← 850
si_no
pension ← 800
fin_si
si_no
si (ciclo = 2) entonces
si (turno = ‘M’) entonces
pension ← 750
si_no
pension ← 700
fin_si
si_no
si (turno = ‘M’) entonces
pension ← 650
si_no
pension ← 600
fin_si
fin_si
fin_si
FIN
ALGORITMO Ejemplo5
var
real: HBasico, bonificacion, total
entero: nroHijos
carácter: estadoCivil
INICIO
leer( Hbasico, nroHijos, estadoCivil )
si (nroHijos > 0 ) entonces
si (estadoCivil = ‘S’) O (estadoCivil = ‘V’) entonces
bonificacion ← Hbasico * 0.0275
si_no
bonificacion ← Hbasico * 0.03
fin_si
si_no
si (estadoCivil = ‘S’) O (estadoCivil = ‘V’) O (estadoCivil = ‘D’) entonces
bonificacion ← Hbasico * 0.025
si_no
bonificacion ← Hbasico * 0.028
fin_si
fin_si
total ← Hbasico + bonificacion
escribir( total )
FIN
Condicional Múltiple
Se utiliza para evaluar una variable de tipo numérico
entero o carácter, con una lista de valores posibles, para
luego procesar un grupo de instrucciones y/o sentencias.
Simplifica el uso de condicionales anidadas.

Sintaxis :
CASO (Variable) HACER
Lista_1: Instrucciones_Sentencias
Lista_2: Instrucciones_Sentencias
:
Opcional
Lista_N: Instrucciones_Sentencias
OTRO CASO:
Instrucciones_Sentencias
FIN_CASO
Ejemplo 1 : Ingresar un número entre 1 y 5, y luego
visualizar su equivalente en letras.

Algoritmo Ejemplo1
var
entero: n
INICIO
leer( n )
CASO ( n ) HACER
1: escribir(“UNO”)
2: escribir(“DOS”)
3: escribir(“TRES”)
4: escribir(“CUATRO”)
5: escribir(“CINCO”)
OTRO_CASO : escribir(“# FUERA DE RANGO”)
FIN_CASO
FIN
Ejemplo 2 : Ingrese 2 números y una operación matemática
realizar (+,-,*,/), luego muestre el resultado de operar los 2
números.
Algoritmo Ejemplo2
variables
entero: a, b, resultado
caracter: operador
INICIO
leer (a, b, operador)
CASO ( operador ) HACER
‘+’ : Resultado ← A + B
‘-’ : Resultado ← A – B
‘*’ : Resultado ← A * B
‘/’ : si ( B <> 0 ) entonces
Resultado ← A DIV B
si_no
Resultado ← 0
fin_si
FIN_CASO
escribir( Resultado )
FIN
Ejemplo 3 : Ingrese número entero entre 1 y 99, luego
visualice su equivalente en romanos.
Algoritmo Ejemplo3
variables
entero: n, a, b
INICIO
leer( n )
si ( n >= 1) Y ( n <= 99 ) entonces
a ← n DIV 10 : b ← n MOD 10 //define decena-unidad
CASO ( a ) HACER //decenas
1: escribir(“X”)
2: escribir(“XX”)
:
9: escribir(“XC”)
FIN_CASO
CASO ( b ) HACER //unidades
1: escribir(“I”)
2: escribir(“II”)
:
9: escribir(“IX”)
FIN_CASO
fin_si
FIN
Ejemplo 4 : Calcular el total a pagar por una compra,
sabiendo que existe un recargo según tipo de tarjeta de
crédito con la que se paga la compra.
Tipo de Tarjeta Recargo
Visa Electron ( E ) 0%
VISA ( V ) 5%
MasterCard ( M ) 7%

Ejemplo 5 : Calcular el total a pagar por su consumo


telefónico, sabiendo que su renta básica es de S/. 50 (60
minutos libres), y que el cobro por minutos adicionales se
factura según la siguiente tabla.

Minutos Consumidos Costo x Minuto


< 60 – 100 ] 0.007
<100 – 200 ] 0.005
<200 – 400 ] 0.004
<400 – 500 ] 0.003
<500 – Más… 0.002
Algoritmo Ejemplo4
variables
caracter: tipoTarjeta
real: valorCompra, recargo, totalPagar
INICIO
leer (valorCompra, tipoTarjeta)
CASO ( TipoTarjeta ) HACER
‘E’ : recargo ← 0
‘V’ : recargo ← valorCompra * 0.05
‘M’ : recargo ← valorCompra * 0.07
FIN_CASO
totalPagar ← valorCompra + recargo
escribir( totalPagar )
FIN
Algoritmo Ejemplo5
Variables
entero: minutos
SOLO SE PUEDE
real: totalConsumo, rentaBasica UTILIZAR RANGO
DE VALORES EN LA
INICIO ESTRUCTURA
rentaBasica ← 50 CASO-SEA

leer( minutos )
CASO ( minutos ) HACER
1 .. 60 : totalConsumo ← 0
61 ..100 : totalConsumo ← (Minutos – 60 ) * 0.007
101..200 : totalConsumo ← (40 * 0.007) + (Minutos – 100) * 0.005
201..400 : totalConsumo ← (40 * 0.007) + (100 * 0.005 ) + (Minutos – 200) * 0.004
401..500 : totalConsumo ← (40 * 0.007) + (100 * 0.005 ) + (200 * 0.004)
+ (minutos – 100) * 0.003
OTRO_CASO :
totalConsumo ← (40 * 0.007) + (100 * 0.005 ) + (200 * 0.004) + (100 * 0.003)
+ (minutos – 500) * 0.002
FIN_CASO
totalConsumo ← totalConsumo + rentaBasica
escribir( totalConsumo )
FIN
EJERCICIOS
DE
REPASO
Problema 1 : Ingrese un número entero y si
es de 2 cifras, visualice su inverso.

Algoritmo problema1
var
entero: n, a, b
INICIO
leer( n )
si ( n >= 10) Y ( n <= 99 ) entonces
a ← n DIV 10
b ← n MOD 10
escribir( (b * 10) + a )
fin_si
FIN
Problema 2 : Ingrese 2 números enteros y
luego intercambie y visualice sus nuevos
valores.
Algoritmo problema2
var
entero: a, b, AUX
INICIO
leer( a, b )
AUX ← a
a←b
b ← AUX
escribir( a, b )
FIN
Problema 3 : Calcular el total a pagar por una compra,
sabiendo que obtiene un descuento del 5% del total de su
compra (El total de la compra incluye el IGV 19%).

Algoritmo problema3
var
real: Vcompra, descuento, total, totalCompra, impuesto
const IGV = 0.19
INICIO
LEER( Vcompra )
impuesto ← Vcompra * IGV
totalCompra ← Vcompra + impuesto
descuento ← totalCompra * 0.05
total ← totalCompra – descuento
escribir( total )
FIN
Problema 4 : En la última guerra del golfo persico, se
determino que de un pelotón “N” soldados, el 60% murieron,
determinar cuantos soldados sobrevivieron.

Algoritmo ejemplo4
var
entero: Nsoldados, N_sobrevive, N_muertos
INICIO
leer( Nsoldados )
N_muertos ← Nsoldados * 0.6
N_sobrevive ← Nsoldados – N_muertos
escribir( N_sobrevive )
FIN
Problema 5 : Una entidad bancaria ofrece a sus
clientes planes de cuentas con tasa de interés
según la siguiente tabla :

Plan de Cuenta Tasa de Interés Monto Mínimo


Plan “A” 0.07 % 1000
Plan “B” 0.08 % 1500
Plan “C” 0.09 % 2000
Plan “X” 0.10 % 2500
Elabore un algoritmo donde ingrese el Monto de
apertura, luego calcule y visualice el interés generado,
el plan al cual pertenece y el nuevo saldo.
Algoritmo problema5
var
real: monto, interes, saldo
cadena: plan
INICIO
leer( monto )
CASO ( monto ) HACER
1000..1499: interes ← monto * 0.007 : plan ← “Plan A”
1500..1999: interes ← monto * 0.008 : plan ← “Plan B”
2000..2499: interes ← monto * 0.009 : plan ← “Plan C”
OTRO_CASO:
si ( monto >= 2500) entonces
interes ← monto * 0.010 : plan ← “Plan X”
fin_si
FIN_CASO
saldo ← monto + interes
escribir( saldo, plan )
FIN
1ra Práctica de
ALGORITMICA
Pregunta 1 : Una tienda comercial ofrece a sus clientes un
descuento del 5% del total de compra si el número de
productos adquiridos excede en 5 unidades, (IGV : 19%).
Calcular y visualizar el descuento, IGV y total a pagar.

Pregunta 2 : Se desea calcular el total a pagar por


consumo de energía eléctrica, el pago se realiza según
la siguiente tabla:
Consumo (Kw) Costo por Kw

[ 100 – 150 > 0.65


[ 150 – 250 > 0.85
[ 250 – 350 > 1.05
[ 350 – Más… > 1.25

NOTA : El pago de consumo mínimo es de S/. 10 Soles.


PREGUNTAS ?

Você também pode gostar