Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LA PROGRAMACIÓN
UNIDAD I
¿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
Computadora Portátil
TIPOS DE
COMPUTADORAS
Netbook
Procesador
Placa de video
HARDWARE EXTERNO
• 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
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
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
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.
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 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
• 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
• 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.
Definición
Procedimiento lógico-matemático, aplicado
para resolver un problema.
2. Fases:
• 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
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
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).
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
• 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
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
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
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.
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.
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).
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
• ¿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 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.