Está en la página 1de 100

INTRODUCCIÓN A LOS

ALGORITMOS
MGTR. MAX A. JARA PAREDES
EL
PSEUDOCÓDIGO
¿AYUDA… PARA ENTENDER UN LENGUAJE?
HERRAMIENTA QUE DEFINE MEJOR EL PSEUDOCÓDIGO…

DFD
DFD (Diagrama de flujo de datos)
se inventaron a principios del
siglo XX. Se le atribuye a Frank
Gilbreth, de la Sociedad
Americana de Ingenieros
Mecánicos (ASME), quien lo
habría postulado en 1921 bajo el
nombre de “Proceso de gráficas,
primeros pasos para encontrar el
mejor modo”.
Fuente: https://humanidades.com/diagrama-flujo/#ixzz7ziIRk2Dj
DFD (Diagrama de flujo de datos) - Importancia
Un buen diagrama de flujo debe ser evidente, con poca ambigüedad
y debe “testearse” numerosas veces antes de empezar a
implementarse.
DFD (Diagrama de flujo de datos) - Simbología
Objetos a respetar cuando se arma un DFD…
DFD (Diagrama de flujo de datos) - Ejemplo
EJEMPLO: Comparativa del Pseudocódigo - DFD

Proceso: “…”
Disposición de materiales…
Paso 1…
Paso 2…
sub - Paso 2.1…
Paso 3…
Fin
DFD (Diagrama de flujo de datos) - Ejemplo
Taller:
Tener listo un par de hojas… si es posible con lapicero de colores o
similares…
DFD (Diagrama de flujo de datos) - Ejemplo
Proceso para freír un huevo… (Pseudocódigo gráfico)
DFD (Diagrama de flujo de datos) - Ejemplo
Proceso para freír un huevo… (Pseudocódigo descrito…)
Proceso: “freír un huevo”
materiales:
- Obtener un huevo
- Tener una cocina (a gas o artesanal)
- Tener una sartén
- Tener aceite, utensilios, platos

Deberá encenderse la hornilla…


CONTINUAMOS…?
DFD (Diagrama de flujo de datos) - Ejemplo
Proceso para obtener… Tabla de multiplicar de un número X
(ingresado como variable) hasta el 10
Proceso: “Tabla_Multiplicar”

FinProceso

CONTINUAMOS…?
DFD (Diagrama de flujo de datos) - Ejemplo
Proceso para obtener… ¿la longitud de una circunferencia?
Proceso: “long_Circun”

FinProceso

CONTINUAMOS…?
DFD (Diagrama de flujo de datos) - Ejemplo
Trabajando con programas
computacionales:
DFD (Diagrama de flujo de datos) – Estructuras
Mi primera aplicación con PseInt
DFD (Diagrama de flujo de datos) – Estructuras
Formalizando escritura… (programación)
CamelCase: Estilo de escritura que
se aplica a frases o palabras
compuestas. El nombre se debe a
que las mayúsculas a lo largo de
una palabra en CamelCase se
asemejan a las jorobas de un
camello

NOTA (opcional): Mantener la


estructuras silábicas en la unión de
palabras
DFD (Diagrama de flujo de datos) – Estructuras
Mi primera aplicación con PseInt
DFD (Diagrama de flujo de datos) – Estructuras
Mi primera aplicación con PseInt
DFD (Diagrama de flujo de datos) – Estructuras
Gestionando datos… (primera introducción a las variables)

<< VARIABLE >> <<TIPO DE DATO>>

https://www.youtube.com/watch?v=r5O35ZYTbjM
DFD (Diagrama de flujo de datos) – Estructuras
Gestionando datos… (forma adecuada de definir a una variables)
DFD (Diagrama de flujo de datos) – Estructuras
Gestionando datos… (Ingreso y muestra de datos de una variable)
DFD (Diagrama de flujo de datos) – Estructuras
Gestionando datos… (Ingreso y muestra de datos de una variable)

Y si a la variable nombre el asignamos un número??? y a edad una letra???


Operadores
matemáticos
Y lógicos
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores matemáticos y lógicos
Realizar las siguientes operaciones matemáticas:

Suma: “+”; ejemplo 5+8, 20+85, 1+2+3


Resta: “-”; ejemplo 5-8, 20-85, 1-2-3
Multiplicación: “*”; ejemplo 5*8, 20*85, 1*2*3
División: “/”; ejemplo 5/8, 20/85, 1/2/3
Potencia: “↑”; ejemplo 5/8, 20/85, 1/2/3
Modulo: “%”; ejemplo 5%8, 20%85, 1%2%3
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores matemáticos y lógicos
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- Errores de tipo (reales y enteros)
- Excepciones en base a procesos secuenciales
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- Errores de tipo (reales y enteros)
- Excepciones en base a procesos secuenciales
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- Errores de tipo (reales y enteros)
- Excepciones en base a procesos secuenciales

- Tener cuidado en caso de ingresar caracteres (caso coma “ , ”)


DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- ¿y si realizamos una operación matemática con varios tipos?

- Una variable ENTERA tiene resultados de tipo REAL


DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- ¿y si realizamos una operación matemática con varios tipos?

- Una variable REAL puede tener resultados de tipo ENTERO


DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de variables
- ¿y si realizamos una operación matemática con varios tipos?

- Una variable REAL puede tener resultados de tipo ENTERO, pero


si compromete un resultado REAL (por su def.) – FALLA!!!
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Manejo de operaciones
- Operaciones complementarias del programa PseInt:
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores basados en cadenas (caract.)
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 01: Realizar un algoritmo para calcular la suma de dos
números ingresados por teclado.
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 01: Realizar
un algoritmo para
calcular la suma de dos
números ingresados
por teclado.
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 02: Realizar un algoritmo que al ingresar grados Celsius (C)
este se convierta en grados Fahrenheit (F).
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 02: Realizar
un algoritmo que al
ingresar grados Celsius
(C) este se convierta
en grados Fahrenheit
(F).
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 03: Realizar un algoritmo para calcular el precio de un terreno
cuadrado o rectangular ingresando su largo, ancho y precio/m2.
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 03: Realizar un
algoritmo para calcular el
precio de un terreno
cuadrado o rectangular
ingresando su largo, ancho y
precio/m2.
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores - Ejercicios
Ejercicio 03-1: De la
respuesta al problema
anterior… como se podría
convertir el valor monetario
del terreno de unidades
numéricas a unidades
monetarias????
DFD (Diagrama de flujo de datos) – Estructuras
Estructura de un DFD: Operadores – Ejercicios (subimos nivel)
Ejercicio 03: Realizar un algoritmo para calcular la multiplicación de
dos números enteros ingresados por teclado y mostrar la cantidad de
dígitos que tiene su respuesta.

Ejercicio 04: Realizar un algoritmo que muestre por pantalla las


soluciones de una ecuación cuadrática.

Ejercicio 05: Obtener el total de segundos de un valor de tiempo


ingresado por teclado cuya forma de ingreso es HH:MM:SS
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble y múltiple
La condicional: Formada por una pregunta donde el resultado (sea
verdadero o falso) dispondrá 2 caminos a más, según la naturaleza del
problema…
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble y múltiple
Sub-condiciones: evaluada mediante operadores lógicos que tienen el
comportamiento de tablas de verdad…

Evaluación de cortocircuito: Un operador se evalúa hasta donde sea


necesario para determinar si la expresión entera es “V” o “F”, en algunos
casos es posible que no se lleguen a probar algunas partes.
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 01: Realizar un algoritmo para calcular el mayor de dos números
enteros leídos por teclado
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 01: Realizar un algoritmo para
calcular el mayor de dos números
enteros leídos por teclado
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 02: Del ejercicio anterior, se desea evaluar… no solo si es mayor
sino que sea el ingreso sus valores sean positivos como también la
condición de números iguales…
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 03: Algoritmo que lea por teclado 3 números y muestre por
pantalla el resultado: “IGUALES”, siempre y cuando la suma de cualquiera
de 2 de esos números es el tercero, caso contrario: “DESIGUALES”
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 03: Algoritmo que lea por teclado 3 números y muestre por
pantalla el resultado: “IGUALES”, siempre y cuando la suma de cualquiera
de 2 de esos números es el tercero, caso contrario: “DESIGUALES”
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo doble
Ejemplo 04: Algoritmo que determine si un alumno aprueba o reprueba
un curso, sabiendo que aprobara si su promedio de tres calificaciones es
mayor o igual a 10.5; reprueba en caso contrario, mostrando su resultado.
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo múltiple
Este tipo de condicional se basa en la evaluación “Según que…”
canalizando su comparación en varios caminos y realizando el flujo por el
que concuerde (aquí también debe controlarse le camino que no
concuerde con nadie…
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo múltiple
Ejemplo 05: Algoritmo que permita ingresar por teclado el número del día
laborable de la semana e imprimir su nombre…
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo múltiple
Ejemplo 05: Algoritmo que permita ingresar por teclado el número del día
laborable de la semana e imprimir su nombre…
DFD (Diagrama de flujo de datos) – Condicionales
Estructuras de control de flujo múltiple
Ejemplo 06: Algoritmo que permita clasificar la nota de un estudiante
según: 0 a 4: “Suspenso”; 5: “Aprobado”; 6: “Bien”; 7 a 8: Notable; 9 a 10:
“Sobresaliente”, caso contrario mostrar el mensaje: “Nota inválida”…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (bucles, ciclos o iteraciones)
Los DFDs pueden generar líneas que tengan un función en común y por
tanto repetitiva… que únicamente cambian con sus resultados…
Ejemplo: Algoritmo que
permita sumar “n”
veces un número
ingresado por teclado e
indicando las veces a
sumar…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (bucles, ciclos o iteraciones)
Anterior ejercicio: Definición de un número multiplicador, verdad?...
Ejemplo: Y como se podría realizar el “Algoritmo” que permita generar el
FACTORIAL de un número ingresado por teclado…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Para - For)
Repetidor controlado en base a 3 parámetros…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Para - For)
Repetidor controlado en
base a 3 parámetros…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Para - For)
Existen errores???
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Para - For)
PseInt: Programa realizado con C++…
Se deduce que obedece a la limitación de tipos de C++:
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Para - For)
Mejorar el algoritmo respetando las reglas de juego…
• Control de positivos y valores mayores a 0
• Control de valores de inicialización
• Control de tipos para respuestas de tamaño matemático grande
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Mientras - While)
Repetición que depende de una condición lógica… “V” continua, “F” detiene
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Mientras - While)
Ejemplo anterior: Y como se podría realizar el “Algoritmo” que permita
generar el FACTORIAL con este tipo de repetición…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Hacer Hasta – Do While)
Repetición que depende de una condición lógica… “V” para, “F” Continúa
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Hacer Hasta – Do While)
Ejemplo anterior: Y como se podría realizar el “Algoritmo” que permita
generar el FACTORIAL con este tipo de repetición…
DFD (Diagrama de flujo de datos) – Repeticiones
Estructuras de control (Ejercicios)
Ejercicio 01:

Ejercicio 02:
LOS LENGUAJES
DE PROGRAMACIÓN
Definición…
¿Por qué existen los lenguajes de Prog.?
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
Lenguajes de programación en la actualidad
¿Dónde programar…?
Un IDE, o también llamado Entorno de Desarrollo Integrado, es un programa
que nos ayuda en la tarea de programar de modo que facilita enormemente el
proceso de desarrollo y depuración de un software
¿Dónde programar…?
¿Dónde programar…?
¿Dónde programar…?
Programando con Java
Programando con Java
JAVA
…James Gosling, en el año
El lenguaje Java fue desarrollado en sus inicios por
1991. Inicialmente Java era conocido como Oak o Green.

La primera versión del lenguaje Java es publicada por Sun Microsystems en


1995. Y es en la versión del lenguaje JDK 1.0.2, cuando pasa a llamarse Java,
corría el año 1996.
Programando con Java
BUEN IDE PARA JAVA…
NetBeans es un entorno de desarrollo integrado libre (IDE), hecho
principalmente para el lenguaje de programación Java. Existe además un
número importante de módulos para extenderlo.
Programando con Java
INTEGRARSE CON SU
JDK…
Java Development Kit (JDK) es un software que provee herramientas de
desarrollo para la creación de programas en Java. Puede instalarse en una
computadora local o en una unidad de red.

Acceda a 'Inicio > Panel de Control’ > Categorías (ver ícono Java)
Programando con Java
PROGRAMANDO…
Proyectos con Apache NetBeans, integrando Java…

Verificando si Java está en funcionamiento…


- Desde un prompt ( Menú ejecutar > cmd.exe  Símbolo de sistema)
- Ingresar código: java -version
Programando con Java
Proyectos con Apache NetBeans, integrando Java…
- Creando un proyecto con Apache Netbeans…
Programando con Java
Arquetipos que integran a Java?...

Ant vs. Gradle vs. Maven


Apache Ant: mienta de línea de comandos basada en
Java que utiliza archivos XML para definir scripts de
compilación. Se usa principalmente para compilaciones
de Java, pero también se puede usar para el desarrollo
de C / C ++. 
Programando con Java
Arquetipos que integran a Java?...

Ant vs. Gradle vs. Maven


Maven: Sirvió para resolver los problemas que
enfrentan los scripts basados ​en Ant. Conservó los
archivos XML pero adoptó un enfoque diferente de
organización.
Programando con Java
Arquetipos que integran a Java?...

Ant vs. Gradle vs. Maven


Gradle: Combinó el poder de Ant y Maven. Lanzada en
2012. Ha tenido una rápida adopción. Google lo está
usando actualmente para el sistema operativo Android.
Programando con Java
Proyecto en Apache NetBeans con Java...
Programando con Java
Proyecto en Apache NetBeans con Java...
Programando con Java
Proyecto en Apache NetBeans con Java...
Programando con Java
Proyecto en Apache NetBeans con Java...
fin

También podría gustarte