Está en la página 1de 143

CONCEPTOS BÁSICOS EN

LA PROGRAMACIÓN

UNIDAD I

INGA. KAREN ANDREA JOM LÓPEZ


Máquina electrónica que procesa datos para convertirlos
en información útil.

¿QUÉ ES UNA
Colección de circuitos integrados y otros componentes
COMPUTADORA? relacionados que pueden ejecutarse con exactitud,
rapidez de acuerdo a lo que un usuario le indique o sea
ejecutado automáticamente por un programa

Sistema informático compuesto por hardware y software


Computadora Personal

Computadora Portátil
TIPOS DE
COMPUTADORAS
Netbook

Unidad central (mainframe)

• Potente, costosa y procesa datos a


gran escala
COMPONENTES
BÁSICOS DE UNA
COMPUTADORA
HARDWARE

• Esta palabra significa soporte físico. El hardware son elementos electrónicos


que trabajan conectados para proporcionar datos, y esos datos son
procesados gracias a las instrucciones que proporcionan los programas.

Es como una caja en la que se conectan una serie de dispositivos que


procesan información de entrada y de salida.
Placa madre (BIOS) permite sincronizar funciones
básicas

Procesador

Memoria Interna RAM (se mide en GB)

HARDWARE Memoria Interna ROM (se almacena la BIOS)


INTERNO
Placa de sonido

Dispositivo de almacenamiento secundario o disco duro

Placa de video
HARDWARE EXTERNO

• Almacenamiento secundario (USB, disco duro externo, CD-ROM)

• Dispositivos de entrada
• Teclado
• Mouse
• Micrófono
• Pantalla táctil,
• Lector de código de barras (es automático mediante un software)

• Dispositivos de salida
• Temporal (Pantalla)
• Permanente (impresora)

• Dispositivos periféricos
• Son considerados no esenciales por ejemplo cámara web, escáner, joystick
SOFTWARE • El software es la parte “no física” o intangible
de la computadora, que existe en forma de
códigos que contienen instrucciones para
que el hardware sepa qué hacer. Sin estos
programas, la mayoría de los dispositivos de
hardware no serían útiles. Hay dos tipos:
• Son los programas preinstalados en la
computadora, que permiten dar soporte a otros
programas instalados por el usuario. Algunos
ejemplos son los sistemas operativos (Windows,
SOFTWARE DE Mac OS, Linux, BIOS, etc.), los limpiadores de
SISTEMA disco, los antivirus, los controladores gráficos,
softwares de cifrado, entre otros.
• Son los programas que no tienen que ver con el
funcionamiento del equipo, sino que son
instalados por el usuario para realizar funciones
determinadas. Por ejemplo, hojas de cálculo
(Excel), procesadores de palabras (Word),
SOFTWARE DE programas de bases de datos(Access),
APLICACIÓN programas de diseño gráfico
(publisher), navegadores de internet (Chrome),
entre otros.
MODALIDADES DE ADQUISICIÓN DEL
SOFTWARE
Es el software que se desarrolla para
la venta y el uso puede ser para
cualquier empresa o usuario a quien

SOFTWARE le convenga por ejemplo un ERP, un


sistema contable Peach tree,

DESARROLLA
DO Se puede obtener de forma rápido
algunos con costos muy elevados
pero puede que no se adapte a las
necesidades del usuario
SOFTWARE • Este software permite que el usuario pueda
DESARROLLA realizar algunas de las tareas que necesita,
DO (SE PUEDE pero aun así no se presenta una adaptación
total.
MODIFICAR)
SOFTWARE
• Este software permite realizar únicamente lo
DESARROLLA que es necesario, lo cual permitiría una

DO A LA satisfacción total en el usuario, pero


lastimosamente su costo es alto
MEDIDA
LICENCIA DE SOFTWARE

• Es el permiso que se otorga al o los usuarios para el


uso del sistema, tiene un costo asociado y el software
está sujeto a derechos de autor,
TIPOS DE LICENCIAMIENTO
• Es quizá el modelo más tradicional de
distribución de aplicaciones, en la cual la
solución se comercializa como un activo, y
quien la adquiere tiene derecho a
beneficiarse de ella por el resto de su
LICENCIA
vida. Estas licencias adquisición excluyen
mantenimiento y las actualizaciones.
DE
ADQUISICIÓ
N PERPETUA
• Permiten el uso de un determinado
software en una sola máquina incluyendo
actualizaciones. Estas licencias se pueden
adquirir en conjunto o de forma aislada.

LICENCIA
DE USO
• También conocidas como ASP, por sus
siglas en inglés Application Service
Provider (o el proveedor de servicios de
aplicaciones). En este caso, el software no
se hospeda en las máquinas y servidores
de la empresa, que paga una cuota
mensual.

ALQUILER
• El SaaS (software como servicio) funciona
de una manera similar, pero no está
instalado localmente, y el pago depende
de la cantidad de usuarios activos en el
servicio.

SAAS
• Aquí, el usuario tiene libertad para copiar,
distribuir, modificar y estudiar el código
fuente del software. De esta manera, está
libre de adaptar la aplicación a sus
necesidades. Sin embargo, el hecho de ser
libre no significa necesariamente que el
software será gratuito.
SOFTWARE
LIBRE
El software open source (o de código

SOFTWARE
abierto) es una opción que tiende a
presentar los costos más competitivos por no
tener valores vinculados a su licencia.

LIBRE DE
CÓDIGO En este tipo de licencia, el cliente es libre de

FUENTE personalizar la solución de acuerdo a sus


necesidades y cambiar el código escrito por
terceros, sin embargo, los desarrolladores
pueden definir restricciones de uso – punto
que lo diferencia del software libre.
SOFTWARE • El software gratuito, a su vez, designa el que se

GRATUITO O puede distribuir y utilizar de forma gratuita, pero


no necesariamente proporciona su lógica de
FREEWARE personalización.
• Su empresa puede incluso crear un
software específico para satisfacer las
demandas internas, siendo propietaria de
la solución. Si se une a un socio para
dividir la carga y las ventajas del
desarrollo, el modelo de licencia aplicado
es el de co-sourcing.
AUTOFINANCIMI
ENTO
DEFINICIÓN Y
LENGUAJES DE
PROGRAMACIÓN
• En informática, se conoce como lenguaje de
programación a un programa destinado a la
construcción de otros programas
¿QUÉ ES UN informáticos. Su nombre se debe a que
comprende un lenguaje formal que está diseñado
LENGUAJE DE para organizar algoritmos y procesos lógicos que

PROGRAMACI serán luego llevados a cabo por un ordenador o


sistema informático, permitiendo controlar así su
ÓN? comportamiento físico, lógico y su comunicación
con el usuario humano.
CÓMO SE COMPONE EL LENGUAJE DE
PROGRAMACIÓN
• está compuesto por símbolos y reglas sintácticas y
semánticas, expresadas en forma de instrucciones y
relaciones lógicas, mediante las cuales se construye el
código fuente de una aplicación o pieza de software
determinado
TIPOS DE
LENGUAJE DE
PROGRAMACIÓN
• Se trata de lenguajes de programación que están
diseñados para un hardware específico y que por
LENGUAJE lo tanto no pueden migrar o exportarse a

DE BAJO otros computadores. Sacan el mayor provecho


posible al sistema para el que fueron diseñados,
NIVEL pero no aplican para ningún otro
• Se trata de lenguajes de programación que
aspiran a ser un lenguaje más universal, por lo
LENGUAJES que pueden emplearse indistintamente de la

DE ALTO arquitectura del hardware, es decir, en diversos


tipos de sistemas. Los hay de propósito general y
NIVEL de propósito específico.
• Este término no siempre es aceptado, que
propone lenguajes de programación que se
LENGUAJES ubican en un punto medio entre los dos

DE NIVEL anteriores: pues permite operaciones de alto


nivel y a la vez la gestión local de la arquitectura
MEDIO del sistema.
EJEMPLOS DE
LENGUAJES DE
PROGRAMACIÓN
• Su nombre proviene de las siglas
de Beginner’s All-
purpose Symbolic Instruction Code (Códig
o simbólico de instrucciones de propósito
general para principiantes), y es una
familia de lenguajes imperativos de alto
nivel, aparecidos por primera vez en 1964.
Su versión más actual es Visual Basic .NET.

BASIC
• Su nombre es un acrónimo
para Common Business-
Oriented Lenguage (Lenguaje común
orientado a los negocios) y se trata de un
lenguaje de programación universal
creado en 1959, orientado principalmente
a la informática de gestión, es decir,
empresarial.

COBOL
• Su nombre proviene
de The IBM Mathematical Formula Translati
ng System (El sistema de traducción de
fórmulas matemáticas de IBM), y es un
lenguaje de programación de alto nivel,
propósito general y de tipo imperativo,
diseñado para aplicaciones científicas y
de ingeniería.

FORTRAN
• Un lenguaje de programación de
propósito general, orientado a objetos,
cuyo espíritu se resume en las siglas
WORA: Written Once, Run Anywhere, es
decir: Escrito una vez, funciona en
cualquier parte. La idea era diseñar un
lenguaje universal empleando sintaxis
derivada de los lenguajes C y C++, pero
empleando menos utilidades de bajo nivel
que cualquiera de ambos.

JAVA
Traductores de
programación
Unidad I
Karen Andrea Jom López
Es un mediador entre dos entidades: emisoras y
receptoras, los mediadores enmascaran la
complejidad y la heterogeneidad de los lenguajes.

¿Qué es un Un traductor convierte un lenguaje de entrada


traductor? (código fuente) a una de salida (código objeto).

Un traductor puede ser

Compilador Intérprete
• Es un programa informático que traduce un
programa escrito en un lenguaje de
programación a otro lenguaje diferente.
Usualmente el segundo lenguaje es
lenguaje máquina, pero también puede ser
un código intermedio, pero también puede
ser un código intermedio (bytecode)

Compilador
Ejemplo
Tipos de Compiladores
Compiladores Cruzados

• Generan código para un sistema distinto


del que están funcionando.
Compiladores
Optimizadores

• Realizan cambios en el código para


mejorar su eficiencia pero manteniendo
la funcionalidad del programa original.
Compiladores de una sola pasada

• Generan el código
máquina a partir de una
única lectura del código
fuente.
Compiladores de varias pasadas
Necesitan leer el código fuente varias veces antes de poder producir el código máquina
Compiladores
JIT (Just In
Time)
Forman parte de un intérprete
y compilan partes del código
según se necesitan.
Proceso de
compilación
• En la fase de análisis léxico se leen los
caracteres del programa fuente y se
agrupan en cadenas que representan los
componentes léxicos. Cada componente
léxico es una secuencia lógicamente
coherente de caracteres relativa a un
identificador, una palabra reservada, un
operador o un carácter de puntuación.

Análisis
Léxico
Análisis sintáctico y Semántico

Sintáctico
• En esta fase, los componentes léxicos se agrupan en frases
gramaticales que el compilador utiliza para sintetizar la salida.

Semántico
La fase de análisis semántico se intenta detectar instrucciones que
tengan la estructura sintáctica correcta, pero que no tengan
significado para la operación implicada.
• Algunos compiladores generan una
representación intermedia explícita del
programa fuente, una vez que se han
realizado las fases de análisis. Se puede
considerar esta operación intermedia como

Generación
un subprograma para una máquina
abstracta.

de código
intermedio
• Optimización

Optimización • En esta fase se trata de mejorar el código


intermedio, de modo que resulte un código de
máquina más rápido de ejecutar.
de código y
Generación • Generación
• Esta constituye la fase final de un compilador. En
de código ella se genera el código objeto que por lo general
consiste en código en lenguaje máquina (código
relocalizable) o código en lenguaje ensamblador
• Una tabla de símbolos es una estructura de
datos que contiene un registro por cada
identificador. El registro incluye los campos
para los atributos del identificador. El
administrador de la tabla de símbolos se
encarga de manejar los accesos a la tabla
de símbolos, en cada una de las etapas de
compilación de un programa. Administrador
de la tabla de
Símbolos
Manejador de errores

• En cada fase del proceso de compilación es posibles encontrar errores. Es


conveniente que el tratamiento de los errores se haga de manera
centralizada a través de un manejador de errores. De esta forma podrán
controlarse más eficientemente los errores encontrados en cada una de las
fases de la compilación de un programa.
Intérprete
• Es un programa capaz de analizar y
ejecutar otros programas, escritos en un
lenguaje de alto nivel. Los intérpretes
sueles contraponerse a los compiladores.
• Los intérpretes se encargar de traducir un
programa desde su descripción en un
lenguaje de programación al código
máquina del sistema destino, los
compiladores solo hacen una traducción de
acuerdo a como se pida o cuando sea
necesario y no guardan el resultado de
dicha traducción.
• JavaScript, Basic, Lisp, Python son
lenguajes que son interpretados en vez de
¿Qué son los
compilados.
Intérpretes?
Intérpretes

• Los programas interpretados suelen ser más lentos que los compilados
debido a la necesidad de traducir el programa mientras se ejecuta, pero a
cambio son más flexibles como entornos de programación y depuración (lo
que se traduce, por ejemplo, en una mayor facilidad para reemplazar
partes enteras del programa o añadir módulos completamente nuevos), y
permiten ofrecer al programa interpretado un entorno no dependiente de
la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo
que se conoce comúnmente como máquina virtual).
Diferencia entre intérprete
y compilador
Algoritmos
Unidad II
Karen Andrea Jom López
Introducción

• Diariamente nos enfrentamos a problemas y como tal, estos exigen una


solución “ingeniosa”.
• No siempre la solución que generamos es la “óptima”.
• La manera de responder a una necesidad difiere de una persona a otra.
• Se hace necesaria una forma estándar de pensamiento que norme las
acciones que realizaremos.
Introducción

• Las mejores soluciones no son las más complejas; sino aquellas que son
funcionalmente ingeniosas.
• Para obtener soluciones ingeniosas debemos hallar la manera correcta de
llevar a cabo la misma y de forma repetitiva.
• Cuando hallamos la forma correcta de ejecutar una solución y la podemos
describir formalmente, de esta forma desarrollamos un Algoritmo.

• Algoritmos
Un algoritmo es un conjunto finito de
instrucciones o pasos que sirven para ejecutar
una tarea o resolver un problema.

Un conjunto de reglas bien definidas para la


solución de un problema en un número finito
de pasos.

Definición
Procedimiento lógico-matemático, aplicado
para resolver un problema.

Conjunto de instrucciones concretas y


detalladas mediante el cual se consigue una
acción determinada.
Definición

• De lo anterior deducimos que un algoritmo tiene las siguientes


características:
• Es Finito
• Es secuencial
• Es determinístico (que se consideran entradas y salidas)
En la programación

Establecer una secuencia de acciones que:

Puedan ser ejecutadas por el procesador

Realicen una determinada tarea

2. Fases:

• Resolución del problema propuesto (algoritmo)


• Adaptación del algoritmo al computador: codificar el algoritmo en un lenguaje de
programación.
Conceptos básicos

1. Acción: Etapa en la realización de un trabajo


2. Acción primitiva: Acción que el procesador puede ejecutar sin necesidad
de información adicional
3. Algoritmo: Secuencia ordenada de acciones primitivas que realizan un
trabajo o una tarea.
Ir al trabajo
•Levantarse
•Darse una ducha
Ejemplo •Vestirse
•Desayunar
•Tomar el bus, subirse al
carro
Ejemplo
Ejemplo
• Determinación de las primitivas de las que
Aspectos a partimos
• Lenguaje simbólico a utilizar para desarrollar
considerar para el algoritmo
escribir un • Representación de los datos
algoritmo • Establecer datos de entrada
• Establecer datos de salida
• Establecer las relaciones entre los datos de
entrada y los de salida
• Ser finito: El algoritmo debe acabar tras un número
finito de pasos
Condiciones • Estar bien definido: Todas las ejecuciones del
que debe algoritmo con los mismos datos de entrada deben
devolver los mismos datos de salida.
cumplir un
algoritmo
• Nota:
• Los algoritmos no son directamente interpretados
por una computadora, estos deben ser traducidos a
un lenguaje de programación
Lenguajes
algorítmicos
Los algoritmos pueden describirse
utilizando diversos lenguajes. Cada uno
de estos lenguajes permiten describir
Definición los pasos con mayor o menor detalle.
Lenguajes de
algoritmos La clasificación de los lenguajes para
algoritmos puede enunciarse de la
siguiente manera :
Lenguaje Natural

• Es aquél que describe en español, para nuestro caso, los pasos a seguir
utilizando un vocabulario cotidiano. Se le conoce como lenguaje
jerga cuando se utilizan términos especializados de una determinada
ciencia,
• Un ejemplo de algoritmo con Lenguaje Natural sería «Cómo
ver una película en Netflix«:
• INICIO
• Encender la televisión
• Abrir Netflix
• Buscar una película interesante
Ejemplo • Si la portada llama mi atención
• Leer la reseña
• Comprobar la valoración de otros usuarios
• Ver el trailer
• Si me parece bien, comenzar a verla
• Sino, volver al paso 4 de búsqueda
• Ajustar el volumen
• Disfrutar la película
• FIN
Lenguaje Diagrama de flujo

• Es aquél que se vale de diversos símbolos para representar las ideas o


acciones a desarrollar. Es útil para organizar las acciones o pasos de un
algoritmo pero requiere de etapas posteriores para implementarse en un
sistema de cómputo.
Ejemplo
Lenguaje natural de programación

• Son aquéllos que están orientados a la solución de problemas que se


definen de una manera precisa. Generalmente son aplicados para la
elaboración de fórmulas o métodos científicos.
• El lenguaje natural tiene las siguientes características :
1. Evita la ambigüedad (algo confuso que se puede interpretar de varias
maneras).
2. Son precisos y bien definidos.
3. Utilizan términos familiares al sentido común.
4. Elimina instrucciones innecesarias.
Private Sub Form1_Load(sender
As Object, e As EventArgs)
Handles MyBase.Load
MsgBox("Hola Mundo") End Sub
Ejemplo
Lenguaje de Programación de Algoritmos.

• Es aquél que se utiliza para introducir en la computadora un algoritmo


específico. Se les conoce también como Lenguaje de Programación.
Metodologías para la
solución de problemas
por medio de
computadoras
7 pasos importantes

1) DEFINICIÓN DEL 2) ANÁLISIS DEL 3) DISEÑO DEL 4) CODIFICACIÓN 5) PRUEBA Y


PROBLEMA PROBLEMA ALGORITMO DEPURACIÓN

6) 7)
DOCUMENTACIÓN MANTENIMIENTO
Definición del problema

• Esta fase está dada por el enunciado del problema, el cual requiere una
definición clara y precisa. Es importante que se conozca lo que se desea
que realice la computadora; mientras esto no se conozca del todo no tiene
mucho caso continuar con la siguiente etapa.
• Una vez que se ha comprendido lo que se desea de
la computadora, es necesario definir: Los datos de
entrada. Cuál es la información que se desea
producir (salida) Los métodos y fórmulas que se
Análisis del necesitan para procesar los datos. Una
recomendación muy practica es el que nos
problema pongamos en el lugar de la computadora y
analicemos que es lo que necesitamos que nos
ordenen y en que secuencia para producir los
resultados esperados.
Diseño del algoritmo

Las características de un buen algoritmo son:

1) Debe tener un punto particular


de inicio.

3) Debe ser general, es decir,


soportar la mayoría de las
2) Debe ser definido, no debe 4) Debe ser finito en tamaño y
variantes que se puedan
permitir dobles interpretaciones. tiempo de ejecución.
presentar en la definición del
problema.
• La codificación es la operación de
escribir la solución del problema
(de acuerdo a la lógica del diagrama
de flujo o pseudocódigo), en una
serie de instrucciones detalladas, en
un código reconocible por la
Codificación computadora, la serie de
instrucciones detalladas se le
conoce como código fuente, el cual
se escribe en un lenguaje de
programación o lenguaje de alto
nivel.
Prueba y Depuración

Los errores humanos dentro de la programación de computadoras son muchos y


aumentan considerablemente con la complejidad del problema. El proceso de identificar
y eliminar errores, para dar paso a una solución sin errores se le llama depuración.

La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la
solución, por ello se debe considerar con el mismo interés y entusiasmo.
Documentación
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o
diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve
para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).

1. Documentación Interna (Código


fuente)

2. Documentación Externa
(Algoritmo, diccionario de datos)

3. Manual de usuario
• Se lleva a cabo después de
terminado el programa, cuando se
detecta que es necesario hacer
algún cambio, ajuste o
Mantenimiento complementación al programa
para que siga trabajando de
manera correcta. Para poder
realizar este trabajo se requiere
que el programa este
correctamente documentado.
Entidades
primitivas para el
Desarrollo de
algoritmos
Los Datos

• Los datos son números, letras o símbolos que describen objetos,


condiciones o situaciones.
• Desde el punto de vista de la computación, los datos se representan como
pulsaciones o pulsos electrónicos a través de la combinación de circuitos
(denominados señal digital).
Tipos de
Datos
Tipos de datos simples

• Datos numéricos
Permiten representar valores escalares de forma numérica, esto incluye a los
números enteros y los reales. Este tipo de datos permiten realizar
operaciones aritméticas.

Ejemplo:
4, 5, 7, 97
2.33, 4.59, 5.0
Tipos de datos simples

• Lógicos o boleanos

Es aquel dato que sólo puede tomar uno de dos valores (verdadero o falso)
ya que representan el resultado de una comparación entre otros datos
(numéricos o alfanuméricos).

Ejemplo:
3>4, a=b, saldo=valor
Tipos de datos simples

• Datos Alfanuméricos (string):


Es una secuencia de caracteres alfanuméricos que permiten representar
valores identificables de forma descriptiva, esto incluye nombres de
personas, direcciones, etc. Este tipo de datos se representan encerrados en
comillas.
• Ejemplos:
“ león “, “Pabl03”
Tipos de operadores y
operandos
• Son los elementos que relacionan de forma
diferente, los valores de una o más variables
y/o constantes. Permiten manipular valores.
• Tipos de operadores
Operadores
1. Aritméticos
2. Relacionales
3. Lógicos
Operadores aritméticos

• Permiten la realización de operaciones matemáticas con los valores.


• Ejemplo:
• 12+5 = 17
Todas las expresiones entre paréntesis se evalúan primero. El paréntesis
mas interno se evalúa primero.

Prioridad de
Dentro de la misma expresión los operadores se evalúan en el siguiente
los orden:

operadores ^ Exponenciación
*, /, mod multiplicación,
división, modulo.
+, - suma y resta

aritméticos
Los operadores en una misma expresión con igual nivel de prioridad se
evalúan de izquierda a derecha.
Ejemplos
Ejemplos
Operadores
Lógicos
• Se utilizan para establecer
relaciones entre valores
lógicos (verdadero = true,
Falso = false)
• Pueden ser resultado de una
expresión relacional.
Expresiones

• Son combinaciones de constantes, variables, símbolos de


operación, paréntesis y nombres de funciones especiales.
• Una expresión consta de operadores y operandos
• Ejemplo:
• a +(b+3)/c, (10-(2+4)), (a<b) and (b<c)
Técnicas de diseño
Top Down

• También conocida como de arriba-abajo y consiste en


establecer una serie de niveles de mayor a menor complejidad
(arriba-abajo) que den solución al problema. Consiste en
efectuar una relación entre las etapas de la estructuración de
forma que una etapa jerárquica y su inmediato inferior se
relacionen mediante entradas y salidas de información.
Este diseño consiste en una serie de descomposiciones
sucesivas del problema inicial, que recibe el
refinamiento progresivo del repertorio de instrucciones
que van a formar parte del programa.
La utilización de la técnica de diseño Top-Down tiene
Top Down los siguientes objetivos básicos:
• Simplificación del problema y de los
subprogramas de cada descomposición.
• Las diferentes partes del problema pueden ser
programadas de modo independiente e incluso
por diferentes personas.
• El programa final queda estructurado en forma
de bloque o módulos lo que hace más sencilla su
lectura y mantenimiento.
Bottom Up

El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan


computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la
adquisición de paquetes de software para satisfacer el problema inmediato.

Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no
se solucionan hasta que la programación alcanza la fecha límite para la integración total del
sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios,
como para corregir aquellas delicadas interfaces, que en un principio, se ignoran.
Divide y Vencerás
• Tanto el ordenamiento por mezcla como el ordenamiento rápido
emplean un paradigma algorítmico común que se basa en la
recursividad. Este paradigma, divide y vencerás, separa un problema
en subproblemas que se parecen al problema original, de manera
recursiva resuelve los subproblemas y, por último, combina las
soluciones de los subproblemas para resolver el problema original.
• Tres partes importantes:
• Divide el problema en un número de
subproblemas que son instancias más
pequeñas del mismo problema.
• Vence los subproblemas al resolverlos de
manera recursiva. Si son los suficientemente
Divide y pequeños, resuelve los subproblemas como
casos base.
Vencerás • Combina las soluciones de los subproblemas
en la solución para el problema original.
Ejercicios Algoritmos
• compra de boletos para entrar al cine, de forma tradicional o
presencial
• Solicitud del DPI en línea
DIAGRAMAS DE
FLUJO
UNIDAD II
INGA. KAREN ANDREA JOM LÓPEZ
• Llamados también flujogramas

• Muestran los pasos a seguir para la solución de un

DIAGRAMAS problema, y se valen de símbolos estandarizados.


• Se aplican bajo los siguiente lineamientos
DE FLUJO • Un diagrama de flujo debe ser simple, claro y
general.
• Debe indicar claramente su inicio y fin.
DIAGRAMAS DE FLUJO

Las líneas de flujo deben ser rectas, verticales u horizontales.

El flujo del diagrama debe ir de arriba hacia abajo y/o


izquierda a derecha.

Cuando sea posible los símbolos deben dibujarse


proporcionalmente.

En general, no puede llegar más de una línea a un


símbolo
• Ofrece una descripción visual de las
actividades implicadas en un proceso
mostrando la relación secuencial entre ellas,
facilitando la rápida comprensión de cada
DIAGRAMA DE actividad y su relación con las demás.
FLUJO
TIPOS DE DIAGRAMAS
DE FLUJO
• En este el flujo o la secuencia de las operaciones, va de
arriba hacia abajo. Es una lista ordenada de las FORMATO
operaciones de un proceso con toda la información que se
considere necesaria, según su propósito
VERTICAL
EL FLUJO O LA

FORMATO SECUENCIA DE LAS


OPERACIONES SE

HORIZONTAL INDICAN
IZQUIERDA
DE
A
DERECHA
FORMATO PANORÁMICO

• El proceso entero está representado en una sola carta y puede apreciarse de una
sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión,
aun para personas no familiarizadas. Registra no solo en línea vertical, sino también
horizontal, distintas acciones simultáneas y la participación de más de un puesto o
departamento que el formato vertical no registra
• Describe el itinerario de ruta de una forma
o persona sobre el plano arquitectónico del
área de trabajo. El primero d ellos
flujogramas es eminentemente descriptivo,
FORMATO mientras que los utilizados son
ARQUITECTÓNICO fundamentalmente representativos.
VENTAJAS
Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El
cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo
reemplaza varias páginas de texto.

Permiten identificar los problemas y las oportunidades de mejora del proceso. Se


identifican los pasos redundantes, los flujos de los re-procesos, los conflictos de
autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión
Muestran las interfaces cliente-proveedor y las transacciones que en ellas
se realizan, facilitando a los empleados el análisis de las mismas.

Son una excelente herramienta para capacitar a los nuevos empleados y


también a los que desarrollan la tarea, cuando se realizan mejoras en el
proceso.
SIMBOLOS
COMIENZO O FINAL DE PROCESO

• En su interior situamos materiales, información o acciones para comenzar el


proceso o para mostrar el resultado en el final del mismo
• Nombramos un proceso independiente que
en algún momento aparece relacionado con
el proceso principal

CONEXIÓN
CON OTROS
PROCESOS
ACTIVIDAD
PARA REPRESENTAR PROCESOS Y PARA PLANTEAR
INSTRUCCIONES, COMO ASIGNACIÓN DE EXPRESIONES
• Situamos en su interior la información
necesaria para alimentar una actividad
(datos para realizarla)

INFORMACIÓN
DE APOYO
INDICAMOS PUNTOS EN
QUE SE TOMAN
DECISIÓN/BIFURCACIÓN DECISIONES: SÍ O NO,
ABIERTO O CERRADO
CONEXIONES DE PASOS O FLECHAS

• Muestran la dirección y sentido del flujo del proceso, conectando los símbolos.
• Se utiliza este símbolo para hacer referencia a la
DOCUMENTO generación o consulta de un documento específico en un
punto del proceso.
ENVÍO DE • Envía datos a la impresora
DATOS
MUESTRA DE MUESTRA DATOS EN

DATOS EL DISPLAY
REGLAS
Se debe evitar el cruce de líneas, si en algún momento se
quisiera separar el flujo del diagrama a otra página por
ejemplo se puede realizar esta operación utilizando los
conectores cuando sea estrictamente necesario.

REGLAS Todo texto escrito dentro de un símbolo debe ser legible,


preciso, evitando el uso de muchas palabras.

Solo los símbolos de decisión pueden y deben tener más


de una línea de flujo de salida.
REGLAS

Pueden escribirse de arriba hacia abajo, o de izquierda a derecha.

Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica
la dirección que fluye la información de procesos, se deben utilizar solamente líneas
de flujo horizontal o verticales ( nunca diagonales).

No deben quedar línea de flujo sin conectar

Todos los símbolos pueden tener más de una línea de entrada a excepción del símbolo final.
EJERCICIOS PRÁCTICOS
EJERCICIO 1

• Preparar una taza de Café


EJERCICIO 1

• Preparar una taza de Café

• ¿Es correcto?
EJERCICIO 2

• Dibuja un diagrama de flujo que describa las tareas más importantes que
tienes que realizar por las mañanas desde que te despiertas hasta que llegas
a la universidad. Debe haber entre 5 y 8 tareas.

• Daniel es el encargado de elaborar el informe trimestral de gerencia para la
empresa Unoart. En el informe de gerencia, se revisan los indicadores de gestión.

• Daniel con un tiempo de anterioridad a la reunión, debe revisar qué indicadores


se van a analizar en este trimestre.

• Luego debe solicitar la información con un tiempo prudente a la reunión, para


que los diferentes procesos consigan enviarle los datos necesarios para que él
pueda elaborar el informe. En ocasiones los procesos se olvidan de enviar los
indicadores o no lo envían de forma oportuna, para lo cual, Daniel habla con su
jefe inmediato para que sea él quien pida la información.
EJERCICIO 3 • Posteriormente, el plasma los datos en un archivo de Excel y de esta manera
genera los indicadores.

• Daniel revisa uno a uno los indicadores y los compara con los del mes anterior. Si
la variación de un indicador entre un mes y otro es mayor al 10%, solicita una
explicación ante este hecho.

• Daniel genera el informe en una presentación de power point.

• Finalmente, Daniel envía el informe a su jefe. Él se encargará de mostrarlo en la


reunión de gerencia.
SOLUCIÓN

También podría gustarte