Sei sulla pagina 1di 100

ALGORITMICA

MODULO I
TEMAS:
- Fundamentos de programación
- Sentencias asignación, E/S y de control.
- Técnicas para diseñar Algoritimos.
. Diagrama de Flujo
. Seudocódigo
- Ejemplos de aplicación.
TIEMPO ESTIMADO: Semana1 – Semana 4

Expositor /instructor: Ing. Rolando Rojas Gallo


MAIL rrojas@ulasamericas.edu.pe.
AGENDA
- DEFINICION DE ALGORITMO
- HERRAMIENTAS DE UN ALGORITMO
- QUE NECESITO PARA ARMAR UN ALGORITMO
- SENTENCIAS ASIGNACION,LECTURA/ESCRITURA Y DE CONTROL
- ALGORITMO , PROGRAMA Y LENGUAJES DE PROGRAMACION
- PROCESO DE EDICION,COMPILACION Y EJECUCION DE PROGRAMA
- EJEMPLOS ALGORITMO – PROGRAMA JAVA
- ALGORITMO SUS PROPIEDADES
- TECNICAS PARA EL DISEÑO DE ALGORITMOS
. Seudocódigo
. Diagramas de flujo
.. Diagramas de sistemas/bloques
.. Diagramas de lógica
- Definición de Seudocódigo
- Estructura de un Seudocódigo
- Ejemplos de Aplicación
QUE ES UN ALGORITMO ?
Un algoritmo es la secuencia de pasos
ordenados y finitos, necesarios para
describir las operaciones con los cuales
se da solución a un determinado
problema.
TIPOS:
- Cualitativos: son aquellos en los que se
describen los pasos utilizando lenguaje
natural.
- Cuantitativos: son aquellos en los que se
utilizan cálculos numéricos para definir los
pasos del proceso.
ESTRUCTURA DE UN ALGORITMO
NOMBRE EL ALGORITMO
DECLARACION DE VARIABLES:
Se declaran las variables que van a
intervenir en el algoritmo.
INICIO
ENTRADA : son los datos a procesar.

PROCESO : ejecutar los cálculos.

SALIDA : displayar los resultados.


FIN
Estructura básica de un ALGORITMO

ALGORITMO Nombre_Descriptivo
VARIABLES
:
Instrucciones
INICIO
y/o
: Sentencias
:
FIN
Nota : Instrucción/sentencia es un mandato o accion a ejecutarse en
un algoritmo o programa, se pueden codificar varias
instrucciones en una linea separados por coma (,)
Ejemplo X ← X +1 , S ← S + DATO
Qué necesito para armar un
Algoritmo ?
Realizar operaciones matemáticas
básicas, tales como : Sumar, Restar,
Multiplicar y Dividir.
Operadores de relación(>,<,>=,<=,=,¬)
Operadores lógicos(AND,OR,NOT)
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: LEER 3 NUMEROS Y CALCULAR EL MAYOR
ALGORITMO MAYOR
INICIO
VARIABLES ENTERAS A,B,C,MAX
/* ENTRADA */
LEER(A,B,C)
/* PROCESO */
SI ( A > B ) ENTONCES MAX  A
SINO MAX B
FIN-SI
IF (C > MAYOR) ENTONCES MAX  C
FIN-SI
/* RESULTADOS */
ESCRIBIR(A,B,C,MAX)
FIN
Herramientas de un Algoritmo
OPERADORES ARITMETICOS

OPERADOR SIGNIFICADO
+ SUMAR
- RESTAR
* MULTIPLICAR
DIV DIVISION ENTERA
/ DIVISION REAL
MOD, % RESTO ARTIMETICO
↑ POTENCIACION
EJEMPLO DE UN SEUDOCODIGO
ALGORITMO MENOR
ENTORNO
VARIABLES ENTERAS (A,B,C,MENOR).
INICIO
LEER(A,B,C) /* Entrada */
/* Proceso */
SI(A < B) ENTONCES MENOR = A SINO MENOR = B
FIN-SI
SI ( C < MENOR) ENTONCES MENOR <-- C
FIN-SI
ESCRIBIR(A,B,C,MENOR) /* Resultados */
FIN
FIN-MENOR
Herramientas de un Algoritmo
OPERADORES RELACIONALES

OPERADOR SIGNIFICADO
> MAYOR
< MENOR
>= MAYOR o IGUAL
<= MENOR o IGUAL
= IGUAL
<> DIFERENTE
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
IDENTIFICADORES

Un identificador es un nombre que se asigna a


los distintos elementos de un algoritmo, como
puede ser variables,constantes,tablas,etc.

Ejemplos:

Variables enteras : A,B,MAXIMO


Constante : TITULO = ´ EJEMPLO´
Nombre de Tablas : CLIENTES,TARIFAS.
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 cálculo 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 “JAMAS” debe comenzar con
un digito.

El nombre de una variable no debe contener espacios en


blanco o caracteres especiales tales como (“, #, $, %, &,
@, etc).

El nombre de una variable no debe coincidir con una


palabra clave de un algoritmo (SI, SINO, MIENTRAS,
PARA, REPETIR, etc…)
QUE ES UNA CONSTANTE

Es una entidad con nombre único en un


algoritmo y a la que se le puede asignar un
valor fijo o constante en un algoritmo.
Ejemplos
a = 20 , nom = "JOSE", apellido="PEREZ"
b = 30
s=a+b
x = nom + a (Concatenacion)
nonape = nom + apellido
Tipos de Datos
NUMERICOS
Entero
Real
ALFANUMERICOS
Carácter
Cadena
LOGICOS (Verdad o Falso)
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
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)
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, SW, Done
INSTRUCCIÓN DE ASIGNACION

INSTRUCION/SENTENCIA DE ASIGNACION (←) : se


utiliza para asignar un valor a una variable o constante

Sintaxis:
VARIABLE/CONSTANTE ← Valor o Expresion
Ejemplo:
MAX ← DATO
SUMA ←0
SUMA ← SUMA + DATO
CABECERA ← ‘ LISTA DE REGISTROS’
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(Lista_Variables)
Ejemplo LEER(A,B,C)
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)
Ejemplo ESCRIBIR(A,B,C)
PROGRAMA
Un programa es una representación de un
algoritmo, apropiado para su ejecución en un
computador.
Programa también se define como una serie de
instrucciones o sentencias perfectamente
legibles por el computador, ordenadas
secuencialmente que le dice al computador que
debe hacer en un lenguaje que es entendible por
la máquina (lenguaje de programación).
Entendiéndose por instrucción al componente
elemental de un programa, que indica al
computador una acción elemental a ejecutar.
PROGRAMA
La definición de un programa es igual a de
un algoritmo, con la diferencia, de que el
programa, en vez de usar un lenguaje
humano, usa un lenguaje de programación
El programa es una relación:
Hombre-Máquina
El Algoritmo es una relación:
Hombre-Hombre
PROCESO EDITAR , COMPILAR Y EJECUTAR
UN PROGRAMA.
1 DEFINICION DEL PROBLEMA
2 ANALISIS PROBLEMA Y GENERAR EL ALGORITMO
3 CODIFICAR (EDITAR) EL ALGORITMO EN UN LENGUAJE DE
PROGRAMACION
4 COMPILAR EL PROGRAMA
5 SI EXISTEN ERRORES DE SYNTAXIS IR AL PASO 3 PARA HACER
LA CORRECIONES RESPECTIVAS SINO SE GENERA EL
PROGRAMA OBJETO (EJECUTABLE) IR AL PASO 6
6 EJECUTAR EL PROGRAMA PARA OBTENER LOS RESULTADOS
DESEADOS
NOTA : Si no se obtienen los resultados deseados, verificar el algoritmo y
hacer los cambios respectivos
LENGUAJES DE PROGRAMACION
Se utiliza para poder comunicarse con el
computador . Esta comunicación es escrita
y se realiza de acuerdo al problema a
desarrollar.
Los lenguajes de programación se pueden
clasificar en:
- Bajo nivel (Lenguaje de máquina).
- Alto nivel (Orientados el usuario ejemplo
lenguaje C, Java, etc)
RELACION ENTRE
PROBLEMA-ALGORITMO-PROGRAMA

Ejemplo:
PROBLEMA:
Leer tres números enteros y calcular el
mayor .
Para la solución de este problema hay que
desarrollar un conjunto de pasos o
acciones (algoritmo) para leer tres
números por teclado y luego calcular el
mayor de ellos.
ALGORITMO MAXIMO
INICIO
VARIABLES ENTERAS A,B,C,MAYOR
LEER (A,B,C)
Si( A > B) ENTONCES MAYOR = A
SINO MAYOR = B
FIN-SI
SI(C >MAYOR)ENTONCES MAYOR = C
FIN-SI
IMPRIMIR(A,B,C,MAYOR)
FIN
PROGRAMA CODIFICADO EN JAVA
PROBLEMA : LEER DOS NUMEROS Y CALCULAR SU SUMA
RELACION ALGORITIMO - PROGRAMA

PROGRAMA EN JAVA
ALGORITMO
/** PRGRAMA : demo02.java **/
AGORITMO SUMITA import java.util.Scanner ; /* Para poder utilizar Scanner */
DEFINCION DE VARIABLES public class demo02
ENTERAS a,b,s {
public static void main(String[] args)
INICIO {
LEER (a) /* Crear un objeto tecla, que permita leer valores desde la entrada standard (teclado) */
Scanner tecla = new Scanner(System.in);
LEER (b)
int a,b,s ; /* Define las variables enteras a ,b, s */
s < -- a + b /* ENTRADA */
ESCRIBIR(a,b,s) System.out.println("ingrese el primer dato:");
a = tecla.nextInt(); // Al objeto tecla se le aplica el metodo netInt() leer un valor entero
FIN
System.out.println("ingrese el segundo dato:");
FIN SUMITA b = tecla.nextInt();
/* PROCESO */
s=a+b;
/* SALIDA */
System.out.println(" a = "+a+ " B= "+b+" suma ="+s);
}
}
PROBLEMA : LEER DOS NUMEROS Y CALCULAR SU SUMA
RELACION ALGORITIMO - PROGRAMA

ALGORITMO PROGRAMA EN C++


#include <iostream.h>
AGORITMO SUMITA
void main( )
DEFINCION DE VARIABLES
ENTERAS a,b,s {

INICIO int a,b,s;


LEER (a) cout<<“Ingresar primer dato :”;
LEER (b) cin>> a;
s < -- a + b cout<<“Ingresar segundo dato :”;
ESCRIBIR(a,b,s) cin>> b;
FIN a = a + b;
FIN SUMITA
cout<<“a= ”<<a<<“b= ”<<b<<“suma= ”<<s<<endl;
}
ESTRUCTURA DE UN PROYECTO EN JAVA

Ejemplo:
C  MIS PROYECTOS
Proy01
calculos ---- > Paquete(Carpeta)
calculos01
calculos02
estadistica
estadisca01
estadisca02
entradasalida
entrada01
entrada02
NOTA: HAY CREAR UNA CARPETA DONDE SE ALMACENEN MIS
PROYECTOS (EJEMPLO CARPETA PROYECTOS)
PROBLEMA LEER DOS NUMEROS ENTEROS
Y CALCULAR EL MAYOR

SEUDOCODIGO PROGRAMA mayor.java


AGORITMO MAYOR Import java.util.Scanner; // PARA PODER UTILIZAR SCANNER
INICIO public class mayor
{
DEFINCION DE VARIABLES public static void main(String[] args)
{
VARIABLES ENTERAS a,b,max Scanner tecla = new Scanner(System.in);
INICIO int a,b,max;
System.out.print("INGRESE 1er NUMERO:");
LEER (a,b) a = tecla.nextInt();
Si( a > b) ENTONCES max = a System.out.print("INGRESE 2do NUMERO:");
b = tecla.nextInt();
SINO max = b if ( a > b)
max = a;
FIN-SI else
ESCRIBIR(a,b,c,max) max = b;
System.out.println("EL MAYOR VALOR ENTRE "+a+" y "+b+",ES:"+max);
FIN }
FIN-MAYOR }

NOTA:
NOMBRE DEL PROGRAMA (mayor) DEBE SER IGUAL
AL NOMNBRE DE LA CLASS (mayor)
PROBLEMA:LEER UN NUMERO ENTERO Y CALCULE EL
NUMERO DE DIGITOS DE DICHO NUMERO

SEUDOCODIGO PROGRAMA
Import java.util.Scanner; // Lectura por Teclado
ALGORITMO PROG01
public class Prog01
VARIABLES {
ENTERAS n,n1, cd, q, digito public static void main(String[ ] args)
INICIO {
LEER(n) int n,n1,cd, q,digito;
n1 < -- n Scanner tecla = new Scanner(System.in);
cd < -- 0 System.out.println(“INGRESE UN NUMERO ENTERO: “);
MIENTRAS ( n > 0) HACER n = tecla.nextInt() ;
q < -- n/10 n1 = n;
digito < -- n – q*10 d = 0;
cd < -- cd + 1 while ( n > 0)
{
n < -- q
q = n / 10;
FIN-MIENTRAS digito = (n – q*10);
ESCRIBIR (n1,cd) cd = cd + 1 ;
FIN n = q;
}
System.out.println(“Numero =“ +n1+” Nro de digitos=“+cd);
}
}
Algoritmo Programa Código C++

Inicio #include <iostream.h>


void main( )
Variables enteras nc,neto,pago
{
Escribir (“Ingresar número de réditos”)
int nc,neto,pago;
Leer (nc) cout<<“Ingresar número de créditos”;
neto nc * 60 cin>> nh;
pago neto + 300 neto = nc * 60;
pago = neto + 300;

Escribir (“Mi pago a realizar es pago) cout<<“Mi pago a realizar es:”<<pago<<endl;


}
Fin
PROPIEDADES DE LOS ALGORITMOS

Un algoritmo se define como el conjunto de pasos para resolver un


problema por tanto debe ser:
FINITO: acabará en un número determinado y razonable de pasos.
DEFINIBLE : cada paso se definirá de forma precisa(ausencia de
ambigüiedad)
DEFINICIONES DE ENTRADA/SALIDA : las entradas son las
partidas de datos presentados al algoritmo. Un algoritmo tiene o no
entradas ,las entradas deben ser del tipo para el cual se ha
diseñado el algoritmo. Las salidas son partidas de datos
presentadas al mundo exterior como el resultado.Un algoritmo
debe producir al menos una salida.
EFECTIVO: las instrucciones de un algoritmo son acciones que
lleven a cabo tareas que sean capaces de ejecutarse.
DEFINICION DE ALCANCE: un algoritmo se aplica a un problema
o clase de problemas determinados especificos; el rango de las
entradas se tiene que definir previamente; el rango determina la
generalidad del algoritmo
TECNICAS PARA EL DISEÑO DE ALGORITMOS

Para diseñar un algoritmo nos podemos


ayudar de una serie de técnicas, que
ayudarán a describir el comportamiento del
mismo de una forma precisa y
genérica, para luego poder codificarlo en
un lenguaje de programación
Las dos técnicas utilizadas comúnmente
para diseñar algoritmos son el
PSEUDOCODIGO y el DIAGRAMA DE
FLUJO, aunque existen otras que se
centran en diferentes aspectos del
algoritmo.
PSEUDOCODIGO

El PSEUDOCODIGO es una herramienta


utilizada en programación para resolver
problemas usando un lenguaje común,
independiente de cualquier lenguaje de
programación .Permite expresar el flujo de
ejecución de las acciones de una manera clara y
sin ambigüedades, pero usando el lenguaje
natural en lugar de lenguaje gráfico. Se puede
considerar como un paso intermedio, casi final,
entre la solución de un problema y su
codificación en un lenguaje de programación. Es
un primer borrador, dado que el pseudocódigo
tiene que traducirse posteriormente a un
lenguaje de programación.
ESTRUCTURA DE UN SEUDOCODIGO
NOMBRE DEL ALGORITMO
ENTORNO
Declaración variables,constantes,tablas,etc
que vayan a utilizar para resolver el
algoritmo en cuestión
INICIO
Instrucción1
Instrucción2
……
FIN
FIN-ALGORITMO
Estructura básica de un
ALGORITMO
ALGORITMO Nombre_Descriptivo
VARIABLES
:
: Instrucciones
y/o
INICIO
Sentencias
:
:
FIN
INSTRUCCIÓN DE ASIGNACION
INSTRUCION/SENTENCIA DE ASIGNACION (←) : se
utiliza para asignar un valor a una variable o constante
Sintaxis:
VARIABLE/CONSTANTE ← : Valor o Expresion
Ejemplo:
MAX ← DATO
SUMA ← 0
SUMA ← SUMA + DATO
CABECRA ← ‘ LISTA DE REGISTROS’
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(Lista_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)
Ejemplo : Ingrese un número entero, luego
súmele 2 unidades y visualícelo.
ALGORITMO Ejemplo
VARIABLES
ENTERO A
INICIO
LEER( A )
A← A + 2
ESCRIBIR( A )
FIN
Problema 2 : Ingrese un número entero,
luego halle su mitad y visualícelo.
ALGORITMO Ejemplo2
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 Ejemplo3
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 Ejemplo4
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 Ejemplo5
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 Ejemplo6
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 Ejemplo7
VARIABLES
ENTERO NroHijos
REAL Hbasico, Bonificacion, Total
INICIO
LEER(Hbasico, NroHijos)
Bonificacion ← (Hbasico * 0.05) * 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.
ALGORITMICA Ejemplo8
VARIABLES
ENTERO Cantidad
REAL Precio, VCompra, Descuento, Total, Factor
INICIO
LEER( Cantidad, Precio )
Vcompra ← Cantidad * Precio
Factor ← (Cantidad DIV 5) * 0.025
Descuento ← Vcompra * Factor
Total ← vCompra – Descuento
ESCRIBIR( Total )
FIN
ESTRUCTURAS
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 / SINO / 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 Ejemplo1
VARIABLES
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
mayor a 10 sumele 10 unidades y visualice el
nuevo valor.
ALGORITMO Ejemplo2
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% del valor
de compra, si el número de producto adquiridos excede en
5. Calcular el total a pagar por una compra.

ALGORITMO Ejemplo3
VARIABLES
ENTERO Cantidad
REAL Precio, Vcompra, Descuento, Total
INICIO
LEER( Cantidad, Precio )
Vcompra ← Cantidad * Precio
Descuento ← 0
SI ( Cantidad > 5 ) ENTONCES
Descuento ← Vcompra * 0.03
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 Ejemplo4
VARIABLES
ENTERO N
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 solo a sus trabajadores que tienen hijos,
calcular el total a pagar a un trabajador.

ALGORITMO Ejemplo5
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 Ejemplo1
VARIABLES
ENTERO A, B, Mayor
INICIO
LEER(A, B)
SI( A > B )ENTONCES
Mayor ← A
SINO
Mayor ← B
FIN-SI
ESCRIBIR(Mayor)
FIN
Ejemplo 2 : Calcular el mayor valor de 3
números enteros.
ALGORITMICA Ejemplo2
VARIABLES
ENTERO A, B, C, MAYOR
INICIO
LEER(A, B, C)
SI (A > B) Y ( A > C) ENTONCES
MAYOR ← A
SINO
SI (B > C) ENTONCES
MAYOR ← B
SINO
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 Ejemplo3
VARIABLES
REAL Vcompra, Descuento, Recargo, Total
CARÁCTER TipoPago
INICIO
LEER(Vcompra, TipoPago)
Descuento ← 0 : Recargo ← 0
SI (TipoPago = ‘C’ ) ENTONCES
Descuento ← Vcompra * 0.03
SINO
Recargo ← Vcompra * 0.05
FIN-SI
Total ← Vcompra – Descuento + Recargo
ESCRIBIR(Total)
FIN
Ejemplo 4 : Ingrese un número entero, si es 2 cifras
visualice la suma de sus cifras, caso contrario visualice su
doble.
ALGORITMO Ejemplo4
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 )
SINO
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”.
ALGORITMICA Ejemplo5
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”)
SINO
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 Ejemplo6
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) + A )
SINO
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 Ejemplo7
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
SINO
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 Ejemplo8
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”)
SINO
SI (Discriminante = 0) ENTONCES
ESCRIBIR(“Raíces Iguales”)
SINO
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
VARIABLES
ENTERO N, A, B, C, D
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
SI( A = D) Y ( B = C )ENTONCES
ESCRIBIR(“CAPICUA”)
SINO
ESCRIBIR(“NO CAPICUA”)
FIN-SI
FIN-SI
FIN
Solución Problema 2:
ALGORITMO Problema2
VARIABLES
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)
SINO
ESCRIBIR(“NUMERO NO ES DE 4 CIFRAS”)
FIN-SI
FIN
Solución Problema 3:
ALGORITMO Problema3
VARIABLES
ENTERO NroProductos
REAL ValorCompra, PrecioUnidad,Descuento, TotalPagar
INICIO
LEER(NroProductos, PrecioUnidad)
ValorCompra ← NroProductos * PrecioUnidad
SI ( NroProductos > 5 ) ENTONCES
Descuento ← ValorCompra * 0.03
SINO
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
VARIABLES
ENTERO N
INICIO
LEER( N )
SI( N = 1 )ENTONCES
ESCRIBIR(“UNO”)
SINO
SI( N = 2 )ENTONCES
ESCRIBIR(“DOS”)
SINO
SI( N = 3 )ENTONCES
ESCRIBIR(“TRES”)
SINO
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 INGRESO,
[ 90 – 100 > Administración VISUALIZAR
[ 100 – 120 > Derecho CUANTOS
[ 120 – 150 > Ingeniería PUNTOS LE
FALTO
[ 150 a más … Medicina

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
VARIABLES
ENTERO Puntaje
INICIO
LEER( Puntaje )
SI (Puntaje >= 70) Y (Puntaje < 90) ENTONCES
ESCRIBIR(“Contabilidad”)
SINO
SI (Puntaje >= 90) Y (Puntaje < 100) ENTONCES
ESCRIBIR(“Administración”)
SINO
SI (Puntaje >= 100) Y (Puntaje < 120) ENTONCES
ESCRIBIR(“Derecho”)
SINO
SI (Puntaje >= 120) Y (Puntaje < 150) ENTONCES
ESCRIBIR(“INGENIERIA”)
SINO
SI (Puntaje >= 150) ENTONCES
ESCRIBIR(“MEDICINA”)
SINO
ESCRIBIR(“LE FALTO:”, 70-Puntaje)
FIN-SI
FIN-SI
FIN-SI
FIN-SI
FIN-SI
FIN
ALGORITMO Ejemplo3
VARIABLES
ENTERO Consumo
REAL Tarifa, TotalPagar
INICIO
LEER( Consumo )
SI (Consumo >= 1) Y (Consumo < 50) ENTONCES
Tarifa ← 0.8
SINO
SI (Consumo >= 50) Y (Consumo < 100) ENTONCES
Tarifa ← 1.5
SINO
SI (Consumo >= 100) Y (Consumo < 150) ENTONCES
Tarifa ← 1.8
SINO
SI (Consumo >= 150) Y (Consumo < 200) ENTONCES
Tarifa ← 2.0
SINO
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
VARIABLES
REAL Pension
ENTERO Ciclo
CARÁCTER Turno
INICIO
LEER( Ciclo, Turno )
SI (Ciclo = 1) ENTONCES
SI (Turno = ‘M’) ENTONCES
Pension ← 850
SINO
Pension ← 800
FIN-SI
SINO
SI (Ciclo = 2) ENTONCES
SI (Turno = ‘M’) ENTONCES
Pension ← 750
SINO
Pension ← 700
FIN-SI
SINO
SI (Turno = ‘M’) ENTONCES
Pension ← 650
SINO
Pension ← 600
FIN-SI
FIN-SI
FIN-SI
FIN
ALGORITMO Ejemplo5
VARIABLES
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
SINO
Bonificacion ← Hbasico * 0.03
FIN-SI
SINO
SI (EstadoCivil = ‘S’) O (EstadoCivil = ‘V’) O (EstadoCivil = ‘D’) ENTONCES
Bonificacion ← Hbasico * 0.025
SINO
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.
Clarifica el uso de condicionales anidadas.
Sintaxis :
CASO (Variable) SEA
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
VARIABLES
ENTERO N
INICIO
LEER( N )
CASO ( N ) SEA
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
CARÁCTER Operador
INICIO
LEER (A, B, Operador)
CASO ( Operador ) SEA
‘+’ : Resultado ← A + B
‘-’ : Resultado ← A – B
‘*’ : Resultado ← A * B
‘/’ : SI( B <> 0 )ENTONCES
Resultado ← A DIV B
SINO
Resultado ← 0
FIN-SI
FIN-CASO
ESCRIBIR( Resultado )
FIN
Ejemplo 3 : Ingrese número 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
CASO ( A ) SEA
1: ESCRIBIR(“X”)
2: ESCRIBIR(“XX”)
:
9: ESCRIBIR(“XC”)
FIN-CASO
CASO ( B ) SEA
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
CARÁCTER TipoTarjeta
REAL ValorCompra, Recargo, TotalPagar
INICIO
LEER (ValorCompra, TipoTarjeta)
CASO ( TipoTarjeta ) SEA
‘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
REAL TotalConsumo, RentaBasica SOLO SE PUEDE
UTILIZAR RANGO
INICIO DE VALORES EN LA
RentaBasica ← 50 ESTRUCTURA
CASO-SEA
LEER( Minutos )
CASO ( Minutos ) SEA
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
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) + A )
FIN-SI
FIN
Problema 2 : Ingrese 2 números enteros y
luego intercambie y visualice sus nuevos
valores.
ALGORITMO problema2
VARIABLES
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
VARIABLES
REAL Vcompra, Descuento, Total, TotalCompra, IGV
INICIO
LEER( Vcompra )
IGV ← Vcompra * 0.19
TotalCompra ← Vcompra + IGV
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
VARIABLES
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
VARIABLES
REAL Monto,Interes,Saldo
CADENA Plan
INICIO
LEER( Monto )
CASO( Monto )SEA
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.


CIERRE SESION DE CLASE
CONCLUSIONES , PREGUNTAS ?

Potrebbero piacerti anche