SlideShare una empresa de Scribd logo
1 de 111
Descargar para leer sin conexión
BIENVENIDOS
ALGORITMOS DE PROGRAMACION
IESTPPA
PRESENTACION DE SILABO Y CRITERIOS DE
CALIFICACION
SISTEMA DE CALIFICACIÓN
- Calificación es de 0 a 20
- Nota de 10 -12 en toda la unidad académica ,examen de recuperación con jurado.
- 30% Teoría
- 70 % Practica
- Puntualidad
- Limpieza
- Ética
- Respeto
- Clase realizada, clase evaluada.
- Cualquier falta grave del estudiante será informada por escrito a la dirección.
- Al laboratorio de computo se ingresa sin mochila, guardar en los gabinetes.
- Celulares tono bajo(vibrador) en el mejor de los casos apagado.
PRESENTACION DE SILABO Y CRITERIOS DE
CALIFICACION
REQUISITOS DE APROBACIÓN :
- Asistencia mínima en un 70% a clases
- Contar con todas las entregas trabajos y evaluaciones
- Nota mínima aprobatoria 13. En todos los casos la fracción 0,5 o más se considera como
una unidad a favor del estudiante
- Proceso de recuperación:
Si el estudiante en la capacidad terminal de la unidad didáctica obtenga la nota
desaprobatoria entre diez (10) y doce (12), tienen derecho a participar en el
proceso de recuperación programado, este proceso se ejecutará en la última
semana del período académico. Si el estudiante después del proceso de
recuperación obtuviera nota menos de trece (13) repite la Unidad Didáctica
Que son los Algoritmos ?
• La palabra algoritmo se deriva de la traducción al latín de la palabra
árabe “alkhowarizmi” nombre de un matemático y astrónomo árabe que
escribió un tratado sobre manipulación de números y ecuaciones en el
siglo IX.
• Según la Real Academia Española nos dice que un algoritmo es :
Conjunto ordenado finito de operaciones que permite hallar la solución
de un problema.
• Conjunto de pasos precisos y que siguen un orden lógico, que se deben
realizar para solucionar un problema o cumplir un objetivo especifico.
• Ejemplo:
- Poner el agua hervir
- Servir el agua caliente en una taza
- Agregar las cucharadas de café que desee
- Agregar cantidad de azúcar de su preferencia
- Con una cuchara ,revolver los ingredientes hasta que estén completamente
disueltos.
Que son los Algoritmos ?
• Los algoritmos son independientes de los lenguajes de programación.
• En cada problema de algoritmo puede escribirse y luego ejecutarse en un lenguaje de
programación.
• El algoritmo es la infraestructura de cualquier solución , escrita en cualquier lenguaje de
programación.
• Antes de escribir un programa, se debe tener muy claro el algoritmo, es conocer a detalle
como funciona sin la computadora (el proceso a mano).
• Cualquier procedimiento de la vida cotidiana lo podemos ver como un algoritmo:
• Programar la lavadora.
• Programar el video para que grabe un programa específico.
• La construcción de un edificio.
• La realización de un programa computacional.
PROGRAMA:
Un programa es una serie de instrucciones ordenadas ,codificadas en un lenguaje de
programación que expresa un algoritmo y que puede ser ejecutado en un computador.
• Es traducir en un lenguaje de programación, las instrucciones de un algoritmo.
• Se debe entender la sintaxis de dicho lenguaje para poder traducir las instrucciones.
• Se debe respetar la estructura del lenguaje de programación para poder implementar el
algoritmo en él.
Que son los Algoritmos ?
Lenguajes de Programación:
- Es un conjunto de reglas y estándares para escribir un programa.
- Sirven para escribir programas que permitan la comunicación usuario/máquina.
- Son las herramientas con las cuales se pueden crear nuevas aplicaciones.
Los lenguajes de programación más utilizados a nivel mundial son Python, C, Java, C++ y C#. Así lo indica la última actualización del Índice
TIOBE,
https://www.tiobe.com/tiobe-index/
Tipos de Algoritmos
Cualitativos: son aquellos en los que se describen los pasos utilizando palabras, lo
ejecutan las personas.
Ejemplos:
- Cambiar el pañal a un bebe
- Cambiar un vidrio dañado
- Realizar un pure de papas
- Ir al cine
- Hacer un batido de melón
Cuantitativos : son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso , lo ejecuta la computadora.
Ejemplos
- Realizar las 4 operaciones aritméticas básicas entre 2 números enteros
- Obtener el área de un triángulo.
- Ingresar una edad y obtener como
resultado el año de nacimiento.
- Obtener el promedio de 3 números
naturales.
Caracteristicas de los Algoritmos
Esto quiere decir que cada acción que se
ejecuta deben estar claras, No hay lugar para
las ambigüedades.
Es decir ,que no importa las veces que se
ejecuta un determinado algoritmo, siempre
tiene que dar el mismo resultado.
Esto quiere decir que un proceso algorítmico
esta compuesto por un determinado numero
de pasos , que inician con una acción y
terminan con un resultado.
De acuerdo a su función tenemos :
.
Algoritmos de búsqueda : Se basa en encontrar un elemento determinado dentro de una lista
ingresada, el cual deberá cumplir ciertas condiciones.
Algoritmo de ordenamiento :
Refiere a los algoritmos donde todos los elementos que se ingresan llevan un orden, donde se le
asigna un orden léxico y numérico.
Algoritmo de encaminamiento: Refiere a los algoritmo que siguen una serie de pasos que se
mantienen encadenados para llegar a transmitir algo.
Partes de un algoritmo
Partes de un algoritmo
Representación del Algoritmo
Representación del Algoritmo
Los algoritmos pueden representarse de la siguiente manera :
- Pseudocodigo : Es una forma de expresar los distintos pasos que va a realizar un programa, de la forma
más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución
a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de
programación. El pseudocódigo no puede ejecutarse en un ordenador ya que entonces dejaría de ser
pseudocódigo, como su propio nombre indica, se trata de un código falso (pseudo = falso), es un código
escrito para que lo entienda el ser humano y no la máquina.
PSEUDOCODIGO “FALSO LENGUAJE”
El pseudocódigo es una forma de escribir los pasos que va a realizar
un programa de la forma más cercana al lenguaje de programación
que vamos a utilizar posteriormente.
Reglas para elaborar un Seudocódigo:
• Todo programa escrito en pseudocódigo empieza por la palabra “inicio (inicio del proceso)” y
termina con la palabra “fin de proceso”
• Cada instrucción se debe escribir en una línea.
• Para su descripción se utiliza una serie de palabras reservadas(identificadores predefinidos).
• Debe escribirse indentado(tabulando) para mostrar claramente las dependencias de unas
instrucciones del programa con respecto a otras,
• Cada una de las estructuras que definen un programa tendrá un punto de comienzo y uno de fin
• Se escribirá en minúscula ,excepto aquellos nombres que elija el programador (como NUM,
MAYOR,MENOR….etc) que irán en mayúsculas.
La Definición más formal : Es una forma de escribir los pasos que va a realizar un programa de
la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente.
Pseudocódigo
Cómo graficar un algoritmo
La forma de graficar algoritmos se conoce como diagramas de flujo, los cuales son diagramas
(esquemas geométricos, similares a los mapas conceptuales, pero en dónde se utilizan figuras
geométricas que tienen un significado). Los diagramas describen un proceso, sistemas o algoritmo, y
es una excelente forma de comprender como funciona un algoritmo. A continuación, te dejo un
ejemplo que determina según la calificación del alumno si está aprobado o no:
Simbología
Estructura :
Elementos en un Algoritmo
Datos: Los datos son representaciones que se manifiestan mediante
símbolos,signos,letras, números ,etc.
Constantes: se refiere a aquel valor que se mantiene igual durante todo el proceso
del algoritmo. Esto quiere decir que su valor no cambia, permanece idéntico durante el
tiempo que dure la ejecución del programa.
Variables: son valores que pueden cambiar durante el desarrollo del algoritmo. Es un
espacio reservado en memoria donde se va a alojar un dato y puede cambiar de valor
durante la ejecución del programa
Operadores(símbolos): un operador es un símbolo matemático que indica que debe
ser llevado a cabo una operación especifica, sobre un cierto numero,
Operadores en un Algoritmo
Tipo de operadores :
- Aritméticos : Permiten la realización de operaciones matemáticas con los valores
(Variables, Constante). Estos pueden ser utilizados con tipos de datos enteros o
reales, si ambos son enteros el resultado sera un valor entero; si alguno de ellos es
real dicho resultado también será real.
Operadores Relacionales: Los operadores relacionales son símbolos que se usan
para comparar dos valores. Si el resultado de la comparación es correcto la expresión
considerada es verdadera, en caso contrario es falsa.
Operadores Lógicos. Estos operadores se utilizan para establecer relaciones entre
valores lógicos. Estos valores pueden ser resultados de una expresión relacional.
Eficiencia: Podemos definir la eficiencia como la relación entre los recursos
utilizados en un proyecto y los logros conseguidos con el mismo. Se
entiende que la eficiencia se da cuando se utilizan menos recursos para
lograr un mismo objetivo.
Eficacia: La eficacia hace referencia a nuestra capacidad para lograr lo que
nos proponemos. Ejemplo: se es eficaz si nos hemos propuesto construir un
sistema en 8 meses y lo logramos. Fuimos eficaces, alcanzamos la meta
Pseudocódigo
El pseudocódigo: es una forma de expresar los distintos pasos que va a
realizar un programa, de la forma más parecida a un lenguaje de
programación
El pseudocódigo es una forma de escribir
los pasos que va a realizar un programa
de la forma más cercana al lenguaje de
programación que vamos a utilizar
posteriormente.
Es como un falso lenguaje, pero en
nuestro idioma, en el lenguaje humano y
en español
¿Cuál es la estructura básica de un
pseudocodigo?
Estructura de un algoritmo en pseudocódigo Comienza con la palabra clave Proceso
(o alternativamente Algoritmo , son sinónimos) seguida del nombre del programa. Le
sigue una secuencia (Estructura de control secuencial) de instrucciones. ... Finaliza con
la palabra FinProceso (o FinAlgoritmo )
¿Qué es un IDE en programación?
Un IDE es el entorno digital empleado para desarrollar cualquier tipo de software
cuyo objetivo es agilizar todo el proceso de diseño de software, ofreciendo un
servicio integral al programador.
La mayoría de los IDE permiten trabajar con diferentes lenguajes de programación y
distintos sistemas operativos, aunque hayan sido diseñados para ser empleados
específicamente en uno de ellos.
https://www.youtube.com/hashtag/pseint
PseInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas
en inglés) para PseudoCódigo, un lenguaje de programación imperativa simple y en
castellano.
Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su
interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en
PseudoCódigo.
Introducción a Pseint
Su objeto principal ha sido y siempre será centrar la atención de sus usuarios en los
conceptos fundamentales sin perder tiempo en los detalles de un lenguaje o uso de
un intérprete o compilador. En otras palabras, lo que se espera es que
pueda entenderse cómo actúa el programa, su lógica y procedimiento mucho antes
de aprender todos los detalles y exigencias que los lenguajes de programación
requieren.
OBJETIVO DE PSEINT
Características
Dentro de las características que posee este software educativo tenemos:
Este software presenta herramientas de edición para escribir algoritmos a través de:
•Lenguaje autocompletado.
•Ayudas emergentes.
•plantillas de comandos.
•Tiene la capacidad de soportar procedimientos y funciones.
•Indentado Inteligente.
•Se puede exportar a otros lenguajes.
•Se puede graficar y la creación y edición de diagramas de flujos.
•coloreado de sintaxis.
•Este software tiene un foro especial del programa.
•Además de ser un software de multiplataforma.
•Incluye ejemplos con diferentes niveles de dificultad.
•Determina y marca de manera clara los errores que se lleguen a encontrar.
INTERFAZ (IDE)
Tipos De Datos. Numéricos
El operador “mod” devuelve el residuo de una división, en algunos lenguajes
como Python se representa este operador con “%”.
Tenemos la variable n con el número cuatro.
n = 4
Después evaluamos si n que sabemos vale 4, al dividirlo entre 2 es igual a
cero, es decir estamos evaluando si el residuo de realizar esta división es igual
a cero. El residuo es lo que sobre de realizar la división, te pongo una imagen
para lo comprendas.
si n mod 2 == 0 Entonces
Gracias al Mod, podemos saber si un número es par o impar en
programación.
SISTEMAS : es un conjunto de elementos o componentes que interaccionan para alcanzar un
objetivo. Los elementos por si mismos y las relaciones entre ellos determinan como funciona el
sistema. Este tiene entradas , mecanismos de procesamiento ,salidas y retroalimentación.
El desempeño de un sistema puede medirse bajo dos formas :
Eficiencia: Podemos definir la eficiencia como la relación entre los recursos utilizados en un
proyecto y los logros conseguidos con el mismo. Se entiende que la eficiencia se da cuando se
utilizan menos recursos para lograr un mismo objetivo.
Eficacia: La eficacia hace referencia a nuestra capacidad para lograr lo que nos proponemos.
Ejemplo: se es eficaz si nos hemos propuesto construir un sistema en 8 meses y lo logramos.
Fuimos eficaces, alcanzamos la meta.
¿Qué es un sistema? Un sistema puede ser definido como un conjunto de partes
que interactúan unas con otras para funcionar finalmente como un todo. Las
distintas partes operan en conjunción para alcanzar los objetivos del sistema.
UML: Es un lenguaje unificado de modelaje.
Modelar: Diseñar aplicaciones de software antes de su implementación en proyectos
desarrollo de tamaño grande , realizar el diseño de software antes de su
implementación es de crucial importancia. ¿Por qué ?
Qué es un Diagrama de Flujo de Proceso o Flujograma
Un diagrama de flujo, o flujograma, es una representación gráfica de
un proceso. Cada paso del proceso se representa por un símbolo
diferente que contiene una breve descripción de la etapa de proceso.
Los símbolos gráficos del flujo del proceso están unidos entre sí con
flechas que indican la dirección de flujo del proceso.
Diagrama de Flujo y Gestión de Procesos: Beneficios
Las organizaciones constituyen sistemas de procesos. Por ello, es indispensable
identificar tanto los procesos como las relaciones que existen entre ellos.
Finalmente, han de ser documentados y mejorados continuamente.
Para el análisis de los procesos, y su documentación, es necesario diagramar el
flujo de actividades.
Así, los diagramas de flujo son imprescindibles para comprender cómo actúa un
proceso y determinar sus puntos de mejora.
En este sentido, son numerosos los beneficios que aporta el uso del diagrama de
flujo:
• Ofrece una visión transparente del proceso.
• Permite definir los límites de un proceso.
• Facilita la identificación de los clientes.
• Estimula el pensamiento analítico.
• Proporciona un método de comunicación más eficaz.
• Ayuda a establecer el valor agregado.
• Referencia para establecer mecanismos de control.
• Mejora tiempos y costes
los beneficios que aporta el uso del diagrama de
flujo:
Diagramación de Procesos
Las actividades de análisis y diagramación de procesos ayudan a la organización
a comprender cómo se están desarrollando sus procesos y actividades, al
tiempo que constituyen el primer paso para mejorar las prácticas
organizacionales.
Diagramar es establecer una representación visual de los procesos y
subprocesos, lo que permite obtener una información preliminar sobre la
amplitud de los mismos, sus tiempos y los de sus actividades.
UML: Es un lenguaje unificado de modelaje.
Modelar: Diseñar aplicaciones de software antes de su implementación en proyectos
desarrollo de tamaño grande , realizar el diseño de software antes de su
implementación es de crucial importancia. ¿Por qué ?
UML no es un lenguaje de programación, pero existen herramientas que
se pueden usar para generar código en diversos lenguajes usando los
diagramas UML.
El UML está compuesto por diversos elementos gráficos que se combinan para
conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para
combinar tales elementos. La finalidad de los diagramas es presentar diversas
perspectivas de un sistema, a las cuales se les conoce como modelo.
Lenguaje Unificado de Modelado (UML) Un lenguaje visual para especificar,
construir y documentar los artefactos de los sistemas
No todos comprendieron el problema y la necesidad del usuario y menos
comprendieron la solución.
UML y su función en el modelado y diseño orientados a objetos
Hay muchos paradigmas o modelos para la resolución de problemas en la
informática, que es el estudio de algoritmos y datos. Hay cuatro categorías de
modelos para la resolución de problemas: lenguajes imperativos, funcionales,
declarativos y orientados a objetos (OOP). En los lenguajes orientados a objetos,
los algoritmos se expresan definiendo 'objetos' y haciendo que los objetos
interactúen entre sí. Esos objetos son cosas que deben ser manipuladas y
existen en el mundo real. Pueden ser edificios, artefactos sobre un escritorio o
seres humanos.
Los lenguajes orientados a objetos dominan el mundo de la programación porque
modelan los objetos del mundo real. UML es una combinación de varias
notaciones orientadas a objetos: diseño orientado a objetos, técnica de modelado
de objetos e ingeniería de software orientada a objetos.
UML usa las fortalezas de estos tres enfoques para presentar una metodología
más uniforme que sea más sencilla de usar. UML representa buenas prácticas
para la construcción y documentación de diferentes aspectos del modelado de
sistemas de software y de negocios.
TIPOS DE DIAGRAMAS UML
UML usa elementos y los asocia de diferentes formas para formar diagramas que
representan aspectos estáticos o estructurales de un sistema, y diagramas de
comportamiento, que captan los aspectos dinámicos de un sistema.
1- Diagramas UML estructurales
2- Diagramas UML de comportamiento
• Diagramas UML de interacción
Diagrama de casos de uso UML
Propósitos:
El diagrama de casos de uso es utilizado durante la fase de análisis de un
proyecto para identificar la funcionalidad de un sistema
Este describe lo que un sistema hace las cosas, pero no la forma en que las hace.
Un caso de uso es un conjunto de eventos que ocurren cuando un “actor” usa un
sistema para completar un proceso.
Se representa a los usuarios y casos de uso, que intervienen en un desarrollo de
software.
Muestra la estructura del sistema, subsistema o componente utilizando clases con
sus características, restricciones y relaciones: asociaciones, generalizaciones,
dependencias, etc.
Ofrecen una visión general de los actores involucrados en un sistema, las diferentes
funciones que necesitan esos actores y cómo interactúan estas diferentes funciones
Como el tipo de diagrama UML más conocido, los diagramas de casos de uso ofrecen
una visión general de los actores involucrados en un sistema, las diferentes funciones
que necesitan esos actores
Un caso de uso es una lista de pasos que definen la interacción entre un actor (un humano que
interactúa con el sistema o un sistema externo) y el sistema propiamente dicho. Representan
las especificaciones de un caso de uso y modelan las unidades funcionales de un sistema. Estos
diagramas ayudan a los equipos de desarrollo a comprender los requisitos de su sistema,
incluida la función de la interacción humana en el mismo y las diferencias entre diversos casos
de uso. Un diagrama de caso de uso podría mostrar todos los casos de uso del sistema o solo
un grupo de casos de uso con una funcionalidad similar.
HERRAMIENTAS O PROGRAMAS PARA TRABAJAR CON UML
❖ Astah community: herramienta sencilla, adecuada para aprender. Se puede descargar una
versión gratuita en http://astah.net/editions/community. Astah (antes conocido como
Jude) también tiene una versión profesional.
❖ Rational Rose: conjunto de herramientas IBM usado por muchas empresas.
❖ Lucidchart: herramienta que permite crear muchos tipos de diagramas, entre ellos UML.
Puede probarse visitando https://www.lucidchart.com/pages/es/ejemplos/diagrama-UML
❖ Microsoft Visio: herramienta de Microsoft que permite la creación de muchos tipos de
diagramas, entre ellos diagramas UML.
❖ Otros: Erwin, Oracle Designer, EasyCASE, Power Designer, etc. Son herramientas que
incorporan muchas utilidades, entre ellas UML.
DIAGRAMAS DE COMPORTAMIENTO
Los diagramas casos de usos nos permite comprender esa composición macro de los
sistemas, suele suceder a pesar de haber tenido varias reuniones con el cliente para
definir el alcance del proyecto, muchas veces no queda completamente claro que es
lo que el software debe hacer, que funcionalidades debe incluir y que usuarios
exactamente van a interactuar con cada una de estas funcionalidades.
Por otra parte, debido que este es un diagrama que solo nos muestra los
componentes que conforman el sistema y no nos muestra el detalle de flujo del
proceso, como lo hace un diagrama de actividades , decimos que el diagrama de
casos de usos es un diagrama de alto nivel.
Se representa como un rectángulo y se coloca el nombre en la parte superior,
supongamos que vamos a construir un aplicativo para gestión de una bodega de una
empresa dedicada a la compra y venta de víveres ,el rectángulo delimita el alcance del
sistema, esto quiere decir , cualquier cosa que este dentro del rectángulo , ocurre
dentro del sistema y todo lo que este fuera es externo a el.
Es recomendable cuando coloquemos los casos uso en el rectángulo , estos deben
estar en el orden de ejecución del proceso , para una fácil lectura del diagrama, pues
recuerden que el objetivo de la creación de un diagrama de UML es facilitar la lectura y
compresión del software que vamos a crear, no volverla mas compleja su comprensión.
Los actores de apoyo son aquellos que proporcionan un servicio al sistema,
normalmente se trata de un sistema informático, ejemplo , la app tienda virtual
seria un sistema de apoyo , apoyaría al caso de uso “despacho”, proporcionaría la
bodega las ordenas de compra a despachar .
Un actor por definición esta utilizando nuestro sistema para lograr un objetivo, así
cada actor debe interactuar al menos con un de los casos de usos de nuestro
sistema y como se representamos esta interacción, lo hacemos mediante el uso de
las relaciones.
Estructura de Control y Selectivas (condiciónales y bucles)
Las estructuras de control en PSeint mediante la implementación de algoritmos. Este tipo de
estructuras nos permiten ejecutar y determinar la cantidad de veces que se deben ejecutar
una serie de instrucciones.
Las estructuras de control las podemos diferenciar en dos partes de acuerdo a la forma en
que operan:
•Condicionales: Si-Entonces y selección múltiple.
La estructura selectiva si entonces/sino permite que el flujo del diagrama se bifurque por dos
ramas diferentes en el punto de la toma de decisión(es). Si al evaluar la condición (o
condiciones) el resultado es verdadero, entonces se sigue por un camino específico y se
ejecuta(n) cierta(s) operación(es). SI el resultado es falso entonces se sigue por otro camino y
se ejecuta(n) otra(s) operación(es).
•Repetitivas: Mientras, Repetir y Para.
Selección simple:
• La estructura selectiva “si entonces” permite que el flujo del diagrama siga por un camino
especifico si se cumple una condición o conjunto de condiciones . Si al evaluar las
condiciones( o condiciones ) el resultado es verdadero , entonces se ejecuta (n) cierta(s)
operación(es) .Luego continuara con la secuencia normal del diagrama.
Ejemplo 1:
Construya un diagrama de flujo tal que dado como dato la cantidad de
artículos a comprar ,escriba “ Ir a Caja Rápida” en caso de que este numero
sea menor a 8 artículos.
Estructuras Condicionales : Uso del Si - Entonces – Sino
La secuencia de instrucciones ejecutadas por la instrucción: Si-Entonces-Sino depende
del valor de una condición lógica.
Esta instrucción evalúa en una primera instancia una expresión lógica en el condicional, el cual
puede retornar falso o verdadero. Si esta retorna verdadero se ejecutan las instrucciones del
entonces, en el caso de retornar falso se ejecutarán las instrucciones del Sino. Su sintaxis en
Pseint es la siguiente:
Si <condición>
Entonces
<instrucciones>
Sino
<instrucciones>
FinSi
La estructura general de una estructura selectiva
doble se representa de la siguiente manera:
Ejemplo 1:
Construya un diagrama de flujo que permita escribir la calificación de un alumno
en un examen , escriba” APROBADO” si su calificación es mayor igual que 13 y
“REPROBADO” en caso contrario.
Proceso : (algoritmo)
1. Inicio
2. Leer la Calificación del Alumno
3. Evaluar la Calificación si es mayor o igual a 13, imprimir “APROBADO”
4. Si la calificación no es mayor a 13 , imprimir “REPROBADO”
5. FIN
Estructura selectiva múltiple si múltiple
La estructura selectiva si múltiple permite que el flujo del diagrama se bifurque por varias
ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector.
Así si el selector toma el valor 1 se ejecutará la acción 1, si toma el valor 2 se ejecutará la
acción 2, si toma el valor N se realizará la acción N, y si toma un valor distinto de los valores
comprendidos entre 1 y N, se continuará con el flujo normal del diagrama realizándose la
acción N + 1.
“ESTRUCTURAS DE CONTROL PARA LA PROGRAMACIÓN: REPETITIVAS”
Para esta sección, es necesario tener en cuenta dos elementos de programación, que
ayudarán a la aplicación de las estructuras repetitivas, nos referimos al contador y al
acumulador.
El contador y el acumulador puede considerarlos como variables o espacio de
memoria inicializados en cero (imagínelos como repositorios vacíos), que van
modificando su valor según los datos que se le asignen.
La diferencia entre ambos es que el contador está siendo modificado con la misma
razón de valor (por ejemplo, se incrementa de uno en uno), mientras que el
acumulador no necesariamente tiene la misma razón de valor de cambio, es decir el
incremento se puede dar con un valor “x” cualquiera.
Sintaxis:
Ejemplo 01
En la siguiente figura, se muestra una representación gráfica de ambos, con los
respectivos valores asignados.
En matemáticas, la sucesión de Fibonacci (a veces mal llamada serie de
Fibonacci) es la sucesión infinita de números naturales.
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377… La sucesión comienza con los
números 0 y 1, y a partir de estos, cada elemento es la suma de los dos anteriores
Para ejemplificar el uso del contador y acumulador, solicitaremos hallar la suma y el
promedio de las cinco primeras notas.
ALGORITMOS DE PROGRAMACION (1).pdf

Más contenido relacionado

Similar a ALGORITMOS DE PROGRAMACION (1).pdf

unidad1_algoritmoyprograma.pdf
unidad1_algoritmoyprograma.pdfunidad1_algoritmoyprograma.pdf
unidad1_algoritmoyprograma.pdfjjmch
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientococomarin2
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación henser
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...JosAngelLaraMendoza
 
02 algoritmo clase
02 algoritmo clase02 algoritmo clase
02 algoritmo clasenelson0007
 
INTRODUCCIÓN ADSI - PARTE 1
INTRODUCCIÓN ADSI - PARTE 1INTRODUCCIÓN ADSI - PARTE 1
INTRODUCCIÓN ADSI - PARTE 1thefasp10
 
Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmoSergioERondon
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica IINoe Altamirano
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica iiNoe Altamirano
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...JovanyYGonzalezR
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 

Similar a ALGORITMOS DE PROGRAMACION (1).pdf (20)

unidad1_algoritmoyprograma.pdf
unidad1_algoritmoyprograma.pdfunidad1_algoritmoyprograma.pdf
unidad1_algoritmoyprograma.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Algoritmica terminado
Algoritmica terminadoAlgoritmica terminado
Algoritmica terminado
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
 
02 algoritmo clase
02 algoritmo clase02 algoritmo clase
02 algoritmo clase
 
INTRODUCCIÓN ADSI - PARTE 1
INTRODUCCIÓN ADSI - PARTE 1INTRODUCCIÓN ADSI - PARTE 1
INTRODUCCIÓN ADSI - PARTE 1
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmo
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica II
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
 
Examen Remedial
Examen RemedialExamen Remedial
Examen Remedial
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
ALGORITMOS y ejemplo en java.pptx
ALGORITMOS  y ejemplo en java.pptxALGORITMOS  y ejemplo en java.pptx
ALGORITMOS y ejemplo en java.pptx
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 

Último

Formulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxFormulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxAmerAlBarkawi
 
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxPPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxNeymaRojasperez1
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfMiguelGomez900779
 
PPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxPPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxDanmherJoelAlmironPu
 
Taller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLTaller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLAderMogollonLuna
 
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfwilangelfmendoza
 
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxTEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxGilbertoGutierrezRiv
 

Último (7)

Formulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptxFormulacion del modelo de Programacion Lineal - copia.pptx
Formulacion del modelo de Programacion Lineal - copia.pptx
 
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptxPPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
PPT SESION 5 ARTE Y CREATIVIDAD (1).pptx
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
 
PPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptxPPT obligaciones ambientales oefa minan.pptx
PPT obligaciones ambientales oefa minan.pptx
 
Taller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uMLTaller construcción de Prototipos Uno uML
Taller construcción de Prototipos Uno uML
 
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
 
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptxTEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
TEMA #1 EXPLOTACIONES PORCINAS EN VENEZUELA 1er tema.pptx
 

ALGORITMOS DE PROGRAMACION (1).pdf

  • 3. PRESENTACION DE SILABO Y CRITERIOS DE CALIFICACION SISTEMA DE CALIFICACIÓN - Calificación es de 0 a 20 - Nota de 10 -12 en toda la unidad académica ,examen de recuperación con jurado. - 30% Teoría - 70 % Practica - Puntualidad - Limpieza - Ética - Respeto - Clase realizada, clase evaluada. - Cualquier falta grave del estudiante será informada por escrito a la dirección. - Al laboratorio de computo se ingresa sin mochila, guardar en los gabinetes. - Celulares tono bajo(vibrador) en el mejor de los casos apagado.
  • 4. PRESENTACION DE SILABO Y CRITERIOS DE CALIFICACION REQUISITOS DE APROBACIÓN : - Asistencia mínima en un 70% a clases - Contar con todas las entregas trabajos y evaluaciones - Nota mínima aprobatoria 13. En todos los casos la fracción 0,5 o más se considera como una unidad a favor del estudiante - Proceso de recuperación: Si el estudiante en la capacidad terminal de la unidad didáctica obtenga la nota desaprobatoria entre diez (10) y doce (12), tienen derecho a participar en el proceso de recuperación programado, este proceso se ejecutará en la última semana del período académico. Si el estudiante después del proceso de recuperación obtuviera nota menos de trece (13) repite la Unidad Didáctica
  • 5. Que son los Algoritmos ? • La palabra algoritmo se deriva de la traducción al latín de la palabra árabe “alkhowarizmi” nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. • Según la Real Academia Española nos dice que un algoritmo es : Conjunto ordenado finito de operaciones que permite hallar la solución de un problema. • Conjunto de pasos precisos y que siguen un orden lógico, que se deben realizar para solucionar un problema o cumplir un objetivo especifico. • Ejemplo: - Poner el agua hervir - Servir el agua caliente en una taza - Agregar las cucharadas de café que desee - Agregar cantidad de azúcar de su preferencia - Con una cuchara ,revolver los ingredientes hasta que estén completamente disueltos.
  • 6.
  • 7. Que son los Algoritmos ? • Los algoritmos son independientes de los lenguajes de programación. • En cada problema de algoritmo puede escribirse y luego ejecutarse en un lenguaje de programación. • El algoritmo es la infraestructura de cualquier solución , escrita en cualquier lenguaje de programación. • Antes de escribir un programa, se debe tener muy claro el algoritmo, es conocer a detalle como funciona sin la computadora (el proceso a mano). • Cualquier procedimiento de la vida cotidiana lo podemos ver como un algoritmo: • Programar la lavadora. • Programar el video para que grabe un programa específico. • La construcción de un edificio. • La realización de un programa computacional. PROGRAMA: Un programa es una serie de instrucciones ordenadas ,codificadas en un lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador. • Es traducir en un lenguaje de programación, las instrucciones de un algoritmo. • Se debe entender la sintaxis de dicho lenguaje para poder traducir las instrucciones. • Se debe respetar la estructura del lenguaje de programación para poder implementar el algoritmo en él.
  • 8. Que son los Algoritmos ? Lenguajes de Programación: - Es un conjunto de reglas y estándares para escribir un programa. - Sirven para escribir programas que permitan la comunicación usuario/máquina. - Son las herramientas con las cuales se pueden crear nuevas aplicaciones. Los lenguajes de programación más utilizados a nivel mundial son Python, C, Java, C++ y C#. Así lo indica la última actualización del Índice TIOBE, https://www.tiobe.com/tiobe-index/
  • 9. Tipos de Algoritmos Cualitativos: son aquellos en los que se describen los pasos utilizando palabras, lo ejecutan las personas. Ejemplos: - Cambiar el pañal a un bebe - Cambiar un vidrio dañado - Realizar un pure de papas - Ir al cine - Hacer un batido de melón Cuantitativos : son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso , lo ejecuta la computadora. Ejemplos - Realizar las 4 operaciones aritméticas básicas entre 2 números enteros - Obtener el área de un triángulo. - Ingresar una edad y obtener como resultado el año de nacimiento. - Obtener el promedio de 3 números naturales.
  • 10. Caracteristicas de los Algoritmos Esto quiere decir que cada acción que se ejecuta deben estar claras, No hay lugar para las ambigüedades. Es decir ,que no importa las veces que se ejecuta un determinado algoritmo, siempre tiene que dar el mismo resultado. Esto quiere decir que un proceso algorítmico esta compuesto por un determinado numero de pasos , que inician con una acción y terminan con un resultado.
  • 11. De acuerdo a su función tenemos : . Algoritmos de búsqueda : Se basa en encontrar un elemento determinado dentro de una lista ingresada, el cual deberá cumplir ciertas condiciones. Algoritmo de ordenamiento : Refiere a los algoritmos donde todos los elementos que se ingresan llevan un orden, donde se le asigna un orden léxico y numérico. Algoritmo de encaminamiento: Refiere a los algoritmo que siguen una serie de pasos que se mantienen encadenados para llegar a transmitir algo.
  • 12. Partes de un algoritmo
  • 13. Partes de un algoritmo
  • 15. Representación del Algoritmo Los algoritmos pueden representarse de la siguiente manera : - Pseudocodigo : Es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación. El pseudocódigo no puede ejecutarse en un ordenador ya que entonces dejaría de ser pseudocódigo, como su propio nombre indica, se trata de un código falso (pseudo = falso), es un código escrito para que lo entienda el ser humano y no la máquina. PSEUDOCODIGO “FALSO LENGUAJE” El pseudocódigo es una forma de escribir los pasos que va a realizar un programa de la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente.
  • 16.
  • 17.
  • 18. Reglas para elaborar un Seudocódigo: • Todo programa escrito en pseudocódigo empieza por la palabra “inicio (inicio del proceso)” y termina con la palabra “fin de proceso” • Cada instrucción se debe escribir en una línea. • Para su descripción se utiliza una serie de palabras reservadas(identificadores predefinidos). • Debe escribirse indentado(tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otras, • Cada una de las estructuras que definen un programa tendrá un punto de comienzo y uno de fin • Se escribirá en minúscula ,excepto aquellos nombres que elija el programador (como NUM, MAYOR,MENOR….etc) que irán en mayúsculas.
  • 19. La Definición más formal : Es una forma de escribir los pasos que va a realizar un programa de la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente. Pseudocódigo
  • 20.
  • 21.
  • 22.
  • 23. Cómo graficar un algoritmo La forma de graficar algoritmos se conoce como diagramas de flujo, los cuales son diagramas (esquemas geométricos, similares a los mapas conceptuales, pero en dónde se utilizan figuras geométricas que tienen un significado). Los diagramas describen un proceso, sistemas o algoritmo, y es una excelente forma de comprender como funciona un algoritmo. A continuación, te dejo un ejemplo que determina según la calificación del alumno si está aprobado o no:
  • 26. Elementos en un Algoritmo Datos: Los datos son representaciones que se manifiestan mediante símbolos,signos,letras, números ,etc. Constantes: se refiere a aquel valor que se mantiene igual durante todo el proceso del algoritmo. Esto quiere decir que su valor no cambia, permanece idéntico durante el tiempo que dure la ejecución del programa. Variables: son valores que pueden cambiar durante el desarrollo del algoritmo. Es un espacio reservado en memoria donde se va a alojar un dato y puede cambiar de valor durante la ejecución del programa Operadores(símbolos): un operador es un símbolo matemático que indica que debe ser llevado a cabo una operación especifica, sobre un cierto numero,
  • 27. Operadores en un Algoritmo Tipo de operadores : - Aritméticos : Permiten la realización de operaciones matemáticas con los valores (Variables, Constante). Estos pueden ser utilizados con tipos de datos enteros o reales, si ambos son enteros el resultado sera un valor entero; si alguno de ellos es real dicho resultado también será real.
  • 28. Operadores Relacionales: Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa.
  • 29. Operadores Lógicos. Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultados de una expresión relacional.
  • 30. Eficiencia: Podemos definir la eficiencia como la relación entre los recursos utilizados en un proyecto y los logros conseguidos con el mismo. Se entiende que la eficiencia se da cuando se utilizan menos recursos para lograr un mismo objetivo. Eficacia: La eficacia hace referencia a nuestra capacidad para lograr lo que nos proponemos. Ejemplo: se es eficaz si nos hemos propuesto construir un sistema en 8 meses y lo logramos. Fuimos eficaces, alcanzamos la meta
  • 31. Pseudocódigo El pseudocódigo: es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación El pseudocódigo es una forma de escribir los pasos que va a realizar un programa de la forma más cercana al lenguaje de programación que vamos a utilizar posteriormente. Es como un falso lenguaje, pero en nuestro idioma, en el lenguaje humano y en español
  • 32. ¿Cuál es la estructura básica de un pseudocodigo? Estructura de un algoritmo en pseudocódigo Comienza con la palabra clave Proceso (o alternativamente Algoritmo , son sinónimos) seguida del nombre del programa. Le sigue una secuencia (Estructura de control secuencial) de instrucciones. ... Finaliza con la palabra FinProceso (o FinAlgoritmo )
  • 33. ¿Qué es un IDE en programación? Un IDE es el entorno digital empleado para desarrollar cualquier tipo de software cuyo objetivo es agilizar todo el proceso de diseño de software, ofreciendo un servicio integral al programador. La mayoría de los IDE permiten trabajar con diferentes lenguajes de programación y distintos sistemas operativos, aunque hayan sido diseñados para ser empleados específicamente en uno de ellos.
  • 35. PseInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) para PseudoCódigo, un lenguaje de programación imperativa simple y en castellano. Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en PseudoCódigo. Introducción a Pseint
  • 36. Su objeto principal ha sido y siempre será centrar la atención de sus usuarios en los conceptos fundamentales sin perder tiempo en los detalles de un lenguaje o uso de un intérprete o compilador. En otras palabras, lo que se espera es que pueda entenderse cómo actúa el programa, su lógica y procedimiento mucho antes de aprender todos los detalles y exigencias que los lenguajes de programación requieren. OBJETIVO DE PSEINT
  • 37. Características Dentro de las características que posee este software educativo tenemos: Este software presenta herramientas de edición para escribir algoritmos a través de: •Lenguaje autocompletado. •Ayudas emergentes. •plantillas de comandos. •Tiene la capacidad de soportar procedimientos y funciones. •Indentado Inteligente. •Se puede exportar a otros lenguajes. •Se puede graficar y la creación y edición de diagramas de flujos. •coloreado de sintaxis. •Este software tiene un foro especial del programa. •Además de ser un software de multiplataforma. •Incluye ejemplos con diferentes niveles de dificultad. •Determina y marca de manera clara los errores que se lleguen a encontrar.
  • 38.
  • 40.
  • 41. Tipos De Datos. Numéricos
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. El operador “mod” devuelve el residuo de una división, en algunos lenguajes como Python se representa este operador con “%”. Tenemos la variable n con el número cuatro. n = 4 Después evaluamos si n que sabemos vale 4, al dividirlo entre 2 es igual a cero, es decir estamos evaluando si el residuo de realizar esta división es igual a cero. El residuo es lo que sobre de realizar la división, te pongo una imagen para lo comprendas. si n mod 2 == 0 Entonces Gracias al Mod, podemos saber si un número es par o impar en programación.
  • 49.
  • 50.
  • 51.
  • 52. SISTEMAS : es un conjunto de elementos o componentes que interaccionan para alcanzar un objetivo. Los elementos por si mismos y las relaciones entre ellos determinan como funciona el sistema. Este tiene entradas , mecanismos de procesamiento ,salidas y retroalimentación. El desempeño de un sistema puede medirse bajo dos formas : Eficiencia: Podemos definir la eficiencia como la relación entre los recursos utilizados en un proyecto y los logros conseguidos con el mismo. Se entiende que la eficiencia se da cuando se utilizan menos recursos para lograr un mismo objetivo. Eficacia: La eficacia hace referencia a nuestra capacidad para lograr lo que nos proponemos. Ejemplo: se es eficaz si nos hemos propuesto construir un sistema en 8 meses y lo logramos. Fuimos eficaces, alcanzamos la meta. ¿Qué es un sistema? Un sistema puede ser definido como un conjunto de partes que interactúan unas con otras para funcionar finalmente como un todo. Las distintas partes operan en conjunción para alcanzar los objetivos del sistema.
  • 53. UML: Es un lenguaje unificado de modelaje. Modelar: Diseñar aplicaciones de software antes de su implementación en proyectos desarrollo de tamaño grande , realizar el diseño de software antes de su implementación es de crucial importancia. ¿Por qué ?
  • 54. Qué es un Diagrama de Flujo de Proceso o Flujograma Un diagrama de flujo, o flujograma, es una representación gráfica de un proceso. Cada paso del proceso se representa por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.
  • 55. Diagrama de Flujo y Gestión de Procesos: Beneficios Las organizaciones constituyen sistemas de procesos. Por ello, es indispensable identificar tanto los procesos como las relaciones que existen entre ellos. Finalmente, han de ser documentados y mejorados continuamente. Para el análisis de los procesos, y su documentación, es necesario diagramar el flujo de actividades. Así, los diagramas de flujo son imprescindibles para comprender cómo actúa un proceso y determinar sus puntos de mejora. En este sentido, son numerosos los beneficios que aporta el uso del diagrama de flujo:
  • 56. • Ofrece una visión transparente del proceso. • Permite definir los límites de un proceso. • Facilita la identificación de los clientes. • Estimula el pensamiento analítico. • Proporciona un método de comunicación más eficaz. • Ayuda a establecer el valor agregado. • Referencia para establecer mecanismos de control. • Mejora tiempos y costes los beneficios que aporta el uso del diagrama de flujo:
  • 57.
  • 58. Diagramación de Procesos Las actividades de análisis y diagramación de procesos ayudan a la organización a comprender cómo se están desarrollando sus procesos y actividades, al tiempo que constituyen el primer paso para mejorar las prácticas organizacionales.
  • 59. Diagramar es establecer una representación visual de los procesos y subprocesos, lo que permite obtener una información preliminar sobre la amplitud de los mismos, sus tiempos y los de sus actividades.
  • 60. UML: Es un lenguaje unificado de modelaje. Modelar: Diseñar aplicaciones de software antes de su implementación en proyectos desarrollo de tamaño grande , realizar el diseño de software antes de su implementación es de crucial importancia. ¿Por qué ?
  • 61. UML no es un lenguaje de programación, pero existen herramientas que se pueden usar para generar código en diversos lenguajes usando los diagramas UML.
  • 62. El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo.
  • 63. Lenguaje Unificado de Modelado (UML) Un lenguaje visual para especificar, construir y documentar los artefactos de los sistemas
  • 64.
  • 65. No todos comprendieron el problema y la necesidad del usuario y menos comprendieron la solución.
  • 66.
  • 67. UML y su función en el modelado y diseño orientados a objetos Hay muchos paradigmas o modelos para la resolución de problemas en la informática, que es el estudio de algoritmos y datos. Hay cuatro categorías de modelos para la resolución de problemas: lenguajes imperativos, funcionales, declarativos y orientados a objetos (OOP). En los lenguajes orientados a objetos, los algoritmos se expresan definiendo 'objetos' y haciendo que los objetos interactúen entre sí. Esos objetos son cosas que deben ser manipuladas y existen en el mundo real. Pueden ser edificios, artefactos sobre un escritorio o seres humanos. Los lenguajes orientados a objetos dominan el mundo de la programación porque modelan los objetos del mundo real. UML es una combinación de varias notaciones orientadas a objetos: diseño orientado a objetos, técnica de modelado de objetos e ingeniería de software orientada a objetos. UML usa las fortalezas de estos tres enfoques para presentar una metodología más uniforme que sea más sencilla de usar. UML representa buenas prácticas para la construcción y documentación de diferentes aspectos del modelado de sistemas de software y de negocios.
  • 68. TIPOS DE DIAGRAMAS UML UML usa elementos y los asocia de diferentes formas para formar diagramas que representan aspectos estáticos o estructurales de un sistema, y diagramas de comportamiento, que captan los aspectos dinámicos de un sistema. 1- Diagramas UML estructurales 2- Diagramas UML de comportamiento • Diagramas UML de interacción
  • 69.
  • 70.
  • 71.
  • 72. Diagrama de casos de uso UML Propósitos: El diagrama de casos de uso es utilizado durante la fase de análisis de un proyecto para identificar la funcionalidad de un sistema Este describe lo que un sistema hace las cosas, pero no la forma en que las hace. Un caso de uso es un conjunto de eventos que ocurren cuando un “actor” usa un sistema para completar un proceso. Se representa a los usuarios y casos de uso, que intervienen en un desarrollo de software. Muestra la estructura del sistema, subsistema o componente utilizando clases con sus características, restricciones y relaciones: asociaciones, generalizaciones, dependencias, etc. Ofrecen una visión general de los actores involucrados en un sistema, las diferentes funciones que necesitan esos actores y cómo interactúan estas diferentes funciones
  • 73. Como el tipo de diagrama UML más conocido, los diagramas de casos de uso ofrecen una visión general de los actores involucrados en un sistema, las diferentes funciones que necesitan esos actores Un caso de uso es una lista de pasos que definen la interacción entre un actor (un humano que interactúa con el sistema o un sistema externo) y el sistema propiamente dicho. Representan las especificaciones de un caso de uso y modelan las unidades funcionales de un sistema. Estos diagramas ayudan a los equipos de desarrollo a comprender los requisitos de su sistema, incluida la función de la interacción humana en el mismo y las diferencias entre diversos casos de uso. Un diagrama de caso de uso podría mostrar todos los casos de uso del sistema o solo un grupo de casos de uso con una funcionalidad similar.
  • 74.
  • 75. HERRAMIENTAS O PROGRAMAS PARA TRABAJAR CON UML ❖ Astah community: herramienta sencilla, adecuada para aprender. Se puede descargar una versión gratuita en http://astah.net/editions/community. Astah (antes conocido como Jude) también tiene una versión profesional. ❖ Rational Rose: conjunto de herramientas IBM usado por muchas empresas. ❖ Lucidchart: herramienta que permite crear muchos tipos de diagramas, entre ellos UML. Puede probarse visitando https://www.lucidchart.com/pages/es/ejemplos/diagrama-UML ❖ Microsoft Visio: herramienta de Microsoft que permite la creación de muchos tipos de diagramas, entre ellos diagramas UML. ❖ Otros: Erwin, Oracle Designer, EasyCASE, Power Designer, etc. Son herramientas que incorporan muchas utilidades, entre ellas UML.
  • 76. DIAGRAMAS DE COMPORTAMIENTO Los diagramas casos de usos nos permite comprender esa composición macro de los sistemas, suele suceder a pesar de haber tenido varias reuniones con el cliente para definir el alcance del proyecto, muchas veces no queda completamente claro que es lo que el software debe hacer, que funcionalidades debe incluir y que usuarios exactamente van a interactuar con cada una de estas funcionalidades.
  • 77. Por otra parte, debido que este es un diagrama que solo nos muestra los componentes que conforman el sistema y no nos muestra el detalle de flujo del proceso, como lo hace un diagrama de actividades , decimos que el diagrama de casos de usos es un diagrama de alto nivel.
  • 78.
  • 79.
  • 80.
  • 81. Se representa como un rectángulo y se coloca el nombre en la parte superior, supongamos que vamos a construir un aplicativo para gestión de una bodega de una empresa dedicada a la compra y venta de víveres ,el rectángulo delimita el alcance del sistema, esto quiere decir , cualquier cosa que este dentro del rectángulo , ocurre dentro del sistema y todo lo que este fuera es externo a el.
  • 82. Es recomendable cuando coloquemos los casos uso en el rectángulo , estos deben estar en el orden de ejecución del proceso , para una fácil lectura del diagrama, pues recuerden que el objetivo de la creación de un diagrama de UML es facilitar la lectura y compresión del software que vamos a crear, no volverla mas compleja su comprensión.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88. Los actores de apoyo son aquellos que proporcionan un servicio al sistema, normalmente se trata de un sistema informático, ejemplo , la app tienda virtual seria un sistema de apoyo , apoyaría al caso de uso “despacho”, proporcionaría la bodega las ordenas de compra a despachar .
  • 89. Un actor por definición esta utilizando nuestro sistema para lograr un objetivo, así cada actor debe interactuar al menos con un de los casos de usos de nuestro sistema y como se representamos esta interacción, lo hacemos mediante el uso de las relaciones.
  • 90.
  • 91. Estructura de Control y Selectivas (condiciónales y bucles) Las estructuras de control en PSeint mediante la implementación de algoritmos. Este tipo de estructuras nos permiten ejecutar y determinar la cantidad de veces que se deben ejecutar una serie de instrucciones. Las estructuras de control las podemos diferenciar en dos partes de acuerdo a la forma en que operan: •Condicionales: Si-Entonces y selección múltiple. La estructura selectiva si entonces/sino permite que el flujo del diagrama se bifurque por dos ramas diferentes en el punto de la toma de decisión(es). Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se sigue por un camino específico y se ejecuta(n) cierta(s) operación(es). SI el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s) operación(es). •Repetitivas: Mientras, Repetir y Para.
  • 92. Selección simple: • La estructura selectiva “si entonces” permite que el flujo del diagrama siga por un camino especifico si se cumple una condición o conjunto de condiciones . Si al evaluar las condiciones( o condiciones ) el resultado es verdadero , entonces se ejecuta (n) cierta(s) operación(es) .Luego continuara con la secuencia normal del diagrama.
  • 93. Ejemplo 1: Construya un diagrama de flujo tal que dado como dato la cantidad de artículos a comprar ,escriba “ Ir a Caja Rápida” en caso de que este numero sea menor a 8 artículos.
  • 94.
  • 95. Estructuras Condicionales : Uso del Si - Entonces – Sino La secuencia de instrucciones ejecutadas por la instrucción: Si-Entonces-Sino depende del valor de una condición lógica. Esta instrucción evalúa en una primera instancia una expresión lógica en el condicional, el cual puede retornar falso o verdadero. Si esta retorna verdadero se ejecutan las instrucciones del entonces, en el caso de retornar falso se ejecutarán las instrucciones del Sino. Su sintaxis en Pseint es la siguiente: Si <condición> Entonces <instrucciones> Sino <instrucciones> FinSi La estructura general de una estructura selectiva doble se representa de la siguiente manera:
  • 96. Ejemplo 1: Construya un diagrama de flujo que permita escribir la calificación de un alumno en un examen , escriba” APROBADO” si su calificación es mayor igual que 13 y “REPROBADO” en caso contrario.
  • 97. Proceso : (algoritmo) 1. Inicio 2. Leer la Calificación del Alumno 3. Evaluar la Calificación si es mayor o igual a 13, imprimir “APROBADO” 4. Si la calificación no es mayor a 13 , imprimir “REPROBADO” 5. FIN
  • 98.
  • 99.
  • 100. Estructura selectiva múltiple si múltiple La estructura selectiva si múltiple permite que el flujo del diagrama se bifurque por varias ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector. Así si el selector toma el valor 1 se ejecutará la acción 1, si toma el valor 2 se ejecutará la acción 2, si toma el valor N se realizará la acción N, y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuará con el flujo normal del diagrama realizándose la acción N + 1.
  • 101.
  • 102.
  • 103. “ESTRUCTURAS DE CONTROL PARA LA PROGRAMACIÓN: REPETITIVAS” Para esta sección, es necesario tener en cuenta dos elementos de programación, que ayudarán a la aplicación de las estructuras repetitivas, nos referimos al contador y al acumulador. El contador y el acumulador puede considerarlos como variables o espacio de memoria inicializados en cero (imagínelos como repositorios vacíos), que van modificando su valor según los datos que se le asignen. La diferencia entre ambos es que el contador está siendo modificado con la misma razón de valor (por ejemplo, se incrementa de uno en uno), mientras que el acumulador no necesariamente tiene la misma razón de valor de cambio, es decir el incremento se puede dar con un valor “x” cualquiera.
  • 105.
  • 107. En la siguiente figura, se muestra una representación gráfica de ambos, con los respectivos valores asignados.
  • 108. En matemáticas, la sucesión de Fibonacci (a veces mal llamada serie de Fibonacci) es la sucesión infinita de números naturales. 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377… La sucesión comienza con los números 0 y 1, y a partir de estos, cada elemento es la suma de los dos anteriores
  • 109.
  • 110. Para ejemplificar el uso del contador y acumulador, solicitaremos hallar la suma y el promedio de las cinco primeras notas.