Ing. Johanna Macias Programación Contacto: [email protected] Twitter: @ingjmacias Blog Docente:...

26
INTRODUCCIÓN A LA PROGRAMACIÓN Ing. Johanna Macias Programación Contacto: [email protected] Twitter: @ ingjmacias Blog Docente: http://jmacias.wordpress.c om

Transcript of Ing. Johanna Macias Programación Contacto: [email protected] Twitter: @ingjmacias Blog Docente:...

Page 1: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

INTRODUCCIÓN A LA PROGRAMACIÓN

Ing. Johanna MaciasProgramación

Contacto:[email protected]: @ingjmaciasBlog Docente:http://jmacias.wordpress.com

Page 2: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

La unidad lógica del computador

Software Unidad lógica del computador Compuesto por sentencias,

instrucciones y código ejecutable Permite obtener los beneficios del

hardware del computador. Ordenan, procesan y transforman

datos en Información

Page 3: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Datos e Información Datos

Todo carácter, número, cadena, entre otros…

No tiene un significado específico por si mismo.

Es la entrada de cualquier computador

Información Es un conjunto de

Datos Por si mismo tiene un

significado lógico Es la salida de un

computador

Bolivar09

Avenida, Calle, Prócer, Moneda, Apellida, Nombre,

Lugar, Plaza, Banco, Urbanización,

Universidad, Museo

Número, calificación, medida, posición, fecha,

cantidad.

Urbanización Bolivar, número 9

Información de Dirección

Page 4: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Software de Sistema

Controla la comunicación entre el hardware

Sirve de puente entre el usuario y la máquina

Administra los recursos del computador

Provee herramientas para la administración del hardware al usuario

Gestiona los recursos y servicios del Software instalado

Está compuesto por: Bios: Sistema de gestión del

Hardware instalado en la tarjeta madre del computador. Permite la configuración de los elementos bases.

Controladores y Drivers: Programas que permiten la comunicación del Sistema Operativo con un nuevo hardware instalado, junto a la capacidad de administración.

Sistema Operativo: Software que controla, administra y gestiona los recursos del hardware y la comunicación con otras aplicaciones.

Page 5: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Software de Aplicación

Provee herramientas para facilitar una labor específica

Necesita el soporte del Software del Sistema para trabajar

Creados para realizar funciones especificas referentes a un tipo de trabajo.

Permite la creación de nuevos archivos, documentos o elementos almacenables.

Aplicación

BIOS

Page 6: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Tipos de Software de Aplicación

Creativo: Editores de imágenes, editores de multimedia, software de dibujo vectorial, software de grabación.

Seguridad: Antivirus, AntiSpyware , limpiadores de temporales, detector de fallas.

Utilidades: conversores, grabadores de DVD y CD, notas, calendarios, entre otros.

Ofimática: Editores de Textos, hojas de cálculos, presentación de diapositivas, calculadoras, agendas, servidores de correos.

Entretenimiento: Reproductor de DVD, de video, de audio, multimedia, juegos.

Comunicación: Navegadores web, mensajería instantánea, salas de chat, servicios de conectividad de red.

Page 7: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Tipos de Software

Software de Desarrollo

Software Web

Permite la creación de nuevos programas.

Trabaja en base a uno o más lenguajes de programación.

Cuenta con un Compilador o un Interprete.

Permite la creación, edición, testeo y ejecución de código fuentes.

Utilizados para crear nuevas aplicaciones.

Se ejecuta en un servidor en Red.

Puede ser accesible a través de Internet o Intranet.

Por lo general se cargar en un navegador Web

Provee servicios en webs para realizar actividades sin necesidad de movilizarse

Bandejas de correos, Banca Online, Comercio electrónico, programas online.

Page 8: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Distribución de programasSoftware Libre vs Propietario Software

Propietario Código encapsulado

y oculto al usuario Solo la empresa

tiene licencia para modificar su código

Distribución por medios comerciales

Licencias de uso y renovable

Software Libre Código Libre y

accesible para cualquier usuario

Cualquiera tiene la libertad de modificar a su gusto el código

Distribución por medio de copias y descargas libres.

Sin necesidad de pagos por licencias

Page 9: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Tipos de SoftwareGama de posibilidades

Page 10: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

¿Qué es un programa? Conjunto de Instrucciones Estas instrucciones son ejecutadas por el

computador Dependiendo de los datos, el procesa y entrega un

resultado.Conjunto de Instrucciones programadas que ejecuta el computador para entregar una serie de resultados

acorde a los datos de entrada

¿Qué es programar? El arte de resolver problemas utilizando las

herramientas del hardware y software del computador, dirigiendo y transcribiendo un conjunto de ordenes con el fin de transformar los datos.

Page 11: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Lenguajes de Programación Un lenguaje de programación es un conjunto

limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora.

Por medio de estas sentencias o líneas de código se desarrolla cualquier programa en el computador.

Posee sus propias reglas semántica y sintáctica.

Puede ser interpretado por programas específicos.

Page 12: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Sistemas de Numeración

Sistema Binario: Código conformado por 0 y 1. Las cifras se basan en estos dos caracteres y es el utilizado en la placa electrónica del computador.

Sistema Decimal: Código basado en 10 dígitos (0 al 9) y es el utilizado por la sociedad para describir cifras, fechas y números.

Sistema Octal: Basado en los dígitos del 0 al 7, permite una transformación más rápida del sistema binario al sistema decimal, para el uso de los computadores.

Sistema Hexadecimal: con un conjunto de números y letras (0 al 9 y del A al F), para minimización de grandes cifras numéricas en los sistemas de computos

Page 13: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Niveles de Lenguaje de Programación Lenguaje de Bajo Nivel:

Lenguaje de Máquina: Conformado por solo los dígitos 0 y 1, son los más rápidos de ejecutar, ya que no necesitan un interpretador para el hardware. Por medio de grandes líneas de código de 0 y 1 se da ordenes al hardware del sistema

Lenguaje Ensamblador: Esta por encima del lenguaje de maquina, esta vez incorporando cortas palabras abreviadas para comandos muy utilizados. Trabaja a su vez con el sistema Octal y Hexadecimal.

Page 14: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Niveles de Lenguaje de Programación Lenguaje de Medio Nivel

Este tipo de lenguaje ya incluye más comando y palabra fáciles de memorizar, para dar las ordenes al computador. Aunque todavía tienen acceso directo a la memoria, como el ensamblador.

Lenguaje de Alto Nivel Este lenguaje esta más guiado al

lenguaje humano, conteniendo palabras claves y comandos listos para utilizar, siguiendo la lógica del programador.

Page 15: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Niveles de Lenguajes

Lenguaje de Medio Nivel

Lenguaje Ensamblador

Lenguaje de Maquina

Page 16: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Compiladores e Interprete

Compiladores Traduce totalmente el programa a código

maquina. Se ejecuta el código mucho más rápido. Se identifican los errores rápidamente. Para depurar errores deben detenerse el

proceso y volver a ejecutar.

Interprete Ejecuta el código basado en el mismo lenguaje. Es un procesamiento más lento. Se puede depurar errores sin reiniciar la

ejecución. No crea un archivo externo con el código.

Page 17: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Proceso de compilación

Interpretación del código fuente

Evaluación Sintáctica (verificación que los símbolos y sentencias sean aceptables según las reglas)

Evaluación Semántica (verificación que el sentido de cada sentencia sea interpretable)

Conversión de los caracteres y símbolos al lenguaje de maquina.

Lenguaje de Medio Nivel

Lenguaje Ensamblador

Lenguaje de Maquina

Page 18: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Programación Imperativa

También llamada por procedimientos Se basa en variables que cambian de

estado Conjunto de instrucciones que le

indican al computador cómo realizar una tarea.

C = (5) + (6)C = 11

A= 5 ; B=6C= A + B

Page 19: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Programación Declarativa

No define como resolver el problema. Describe la problemática. La solución se realiza por parámetros

internos del lenguaje. No se diseña como llegar a la

solución Más que en el “como” se resuelve se

busca el “que” deseo obtener.

Page 20: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Programación Lógica

Une la programación Declarativa y Funcional.

Usa hipótesis lógica para crear el resultado

Usado en sistemas Expertos y control de procesos

Se prepara al computador para tomar decisiones en base a premisas lógicas

Page 21: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Programación Orientada a Objeto Se trata el problema basado al

proceso real Se basa en la codificación de Clases

y Objetos Los objetos son programados de

forma individual Estos Objetos pueden heredar

propiedades de sus clases u objetos superiores.

Page 22: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Herramientas para la construcción de programas Algoritmo: Pasos ordenados y

detallados que permiten la resolución de cualquier problema con su seguimiento. Es finito: Tiene un inicio y un final. Sus pasos son precisos y detallados. Tienen un orden lógico de ejecución. Lleva a un resultado. Puede ser ejecutado por cualquier

persona y llegar exactamente al mismo resultado.

Page 23: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Ejemplos de AlgoritmoAlgoritmo para enviar un correo

Algoritmo para dividir dos números

1. Entrar al servidor de correo

2. Ingresar el usuario y la contraseña

3. Presionar Iniciar sesión.

4. Si entró a la bandeja de entrada.

1. Presionar a la opción Enviar Correo.

2. Ingresar el correo electrónico, asunto y mensaje.

3. Presionar el botón enviar.4. Si se envió el correo:

1. Cerrar sesión.

5. Si no:1. Verificar los datos del correo.2. Volver al paso 3

5. Si no:1. Verificar los datos.2. Volver al paso 3

6. Fin

Pedir el primer número. Pedir el segundo número. Si el segundo número es

igual a 0: “No se puede realizar la

operación”

Si no: Dividir el primer número

con el segundo número. Mostrar resultado. Fin.

Page 24: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Diagramas de flujos.

Conjunto de simbología gráfica que permite la visualización de los pasos de un proceso para llegar al resultado.

Entre sus característica se encuentra que tienen un inicio y un fin de su construción.

Se realiza en base a un algoritmo. Permite ver los distintos caminos de un proceso en

base a las decisiones y condiciones. Permite la visualización sencilla del proceso y sus

posibles resultados. Gráficos que mantienen su significado a nivel universal

y en base a cualquier idioma.

Page 25: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Gráficos del Diagrama de Flujo

PROCESOS INICIO/FIN

ENTRADASSALIDAS

DECISIONES

Calculos, operaciones, declaraciones de variables y sentencias

Definir pedidas de datos e impresión de resultados Condiciones que se

deben cumplir o no

Definir el principio y el fin del programa

Definir la dirección del flujoUnir flechas de flujos a un punto.

Page 26: Ing. Johanna Macias Programación Contacto: ing.jmacias@gmail.com Twitter: @ingjmacias Blog Docente: .

Tipos de Diagrama de Flujo Formato vertical: En él, el flujo o la secuencia de las

operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.

Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda 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, aún 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.

Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.