1.- introducción a la programación.pdf

53
Programación Teresa Valtueña DAM 1º Tema 1 Introducción a la programación

Upload: desechable

Post on 20-Oct-2015

56 views

Category:

Documents


2 download

TRANSCRIPT

Programación Teresa ValtueñaDAM 1º

Tema 1

Introducción a la programación

Programación Teresa ValtueñaDAM 1º

Evolución de los lenguajes de programación

Aparecieron para comunicarnos con el ordenador

Se basaron en el lenguaje máquina (1 y 0)

Era muy fácil equivocarse y había que conocer el funcionamiento de la máquina al más bajo nivel

Dio lugar a que aparecieran los lenguajes simbólicos

Programación Teresa ValtueñaDAM 1º

Lenguaje ensamblador

Daban un nombre (mnemónico) a cada tipo de instrucción y cada dirección (etiqueta).

Era específico de cada arquitectura

Ejemplo de un programa:

mov al, 0x61

que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al'.

Programación Teresa ValtueñaDAM 1º

Lenguajes de alto nivel

Aparecieron en los 50 y 60s con el desarrollo de los algoritmos y el aumento de poder del hardware

Empezaron a utilizar los ordenadores científicos de otras ramas, a los que les era muy difícil entender el ensamblador

El primer compilador fue de FORTRAN (FORmulaTRANslation)

Programación Teresa ValtueñaDAM 1º

Ventajas de los lenguajes de alto nivel

Mayor abstracción

Facilitan la programación

Aumentan la productividad

Son los compiladores los que se encargan de traducir al lenguaje máquina

Programación Teresa ValtueñaDAM 1º

Inconvenientes

Necesitan traducciones del lenguaje fuente a un ejecutable que entienda la máquina

No aprovechan tanto los recursos internos de la máquina

Ocupan más memoria

Programación Teresa ValtueñaDAM 1º

De bajo nivel: lenguaje máquina

De nivel medio: lenguaje ensamblador

De alto nivel: lenguajes como Cobol, Pascal, Visual Basic, ...

Hay lenguajes que están en 2, como por ejemplo C

Clasificación de los lenguajes

Programación Teresa ValtueñaDAM 1º

Definiciones

Programa: conjunto de instrucciones que indican a la computadora la secuencia de pasos para resolver un problema

Algoritmo: conjunto de instrucciones que realizan una tarea específica

Código fuente: código escrito en algún lenguaje de alto nivel

Compilador: genera un código listo para ejecutar por la máquina

Intérprete: va ejecutando el código línea a línea y realizando comprobaciones

Programación Teresa ValtueñaDAM 1º

Algunos lenguajes de alto nivel

FORTRAN

COBOL

BASIC

VISUAL BASIC

PASCAL

C

.......

Programación Teresa ValtueñaDAM 1º

FORTRAN

Fue definido en el año 1955 por IMB

Es el más antiguo de todos

Está especializado en aplicaciones técnicas y científicas

Muy potente en los cálculos matemáticos

Limitado en las aplicaciones de gestión, manejo de archivos, tratamiento de cadenas y edición de informes

Programación Teresa ValtueñaDAM 1º

COBOL

COmmon Business Oriented Languaje

Era el lenguaje más utilizado en las aplicaciones de gestión

Fue creado en 1960, patrocinado por el departamento de defensa de Estados Unidos para disponer de un lenguaje universal para aplicaciones comerciales

Programación Teresa ValtueñaDAM 1º

BASIC

Fue diseñado en 1965 por dos profesores para proporcionar a los principiantes un lenguaje fácil de aprender

Beginner’s All-purpose Symbolic Instruction Code

Muy fácil de usar, simple de entender y fácil de traducir

Programación Teresa ValtueñaDAM 1º

VISUAL BASIC

Apareció en mayo de 1991

Produce rápida y efectivamente aplicaciones Windows

Proporciona un ambiente íntegramente visual utilizando un editor, un compilador y un debugger.

Programación Teresa ValtueñaDAM 1º

PASCAL

Fue creado por un matemático suizo en 1970

Su nombre proviene del filósofo y matemático francés Blaise Pascal

Fue el primer gran lenguaje creado después de haber sido diseminados los conceptos de la programación estructurada

Programación Teresa ValtueñaDAM 1º

C

Fue creado en 1972

Se quería conseguir un lenguaje que fuera independiente de la máquina, con el que escribir el lenguaje UNIX

Su uso luego se ha extendido para programas técnico-científicos, bases de datos, proceso de textos, ...

Programación Teresa ValtueñaDAM 1º

ADA

Ultimo intento para obtener un único lenguaje para cualquier tipo de aplicación

Compilación separada, tipos abstractos de datos, programación concurrente y estructurada, ...

Como inconveniente su gran extensión, inflexible e ineficiente

Programación Teresa ValtueñaDAM 1º

LISP

List Processing

Orientado a la generación de listas

Desarrollado en 1960

Es un lenguaje interpretado, donde cada expresión es una lista de llamadas a funciones

Programación Teresa ValtueñaDAM 1º

DELPHI

Desarrollado en 1995

Basado en el objeto del lenguaje Pascal, incluye herramientas de programación visual y genera programas ejecutables (.exe)

Incluye un sistema de bases de datos Borland que permite acceder a dBase, ODBC

También utiliza controles de Visual Basic

Programación Teresa ValtueñaDAM 1º

JAVA

Crea programas seguros, portátiles, orientados a objetos interactivos, para mejorar el intercambio de información a través de internet.

Su desarrollo ha sido vertiginoso

Ventajas: simple y poderoso, robusto, seguro, orientado a objetos, interactivo, independiente del hardware, interpretado y rápido, fácil de aprender, ...

Programación Teresa ValtueñaDAM 1º

JAVASCRIPT

Es un lenguaje diseñado para ejecutarlo en internet, para liberar al servidor de ejecutar todo, se ejecuta en el cliente.

Puede realizar cálculos simples, formatear texto, validar un formulario, html dinámico, ...

Programación Teresa ValtueñaDAM 1º

HTML

Hyper Text Markup Language

Sistema de marcas para enlazar texto, sonido y gráficos dentro de un mismo documento

Es la forma de manejar y presentar información en la red

Programación Teresa ValtueñaDAM 1º

PERL

Lenguaje especializado en el procesamiento de textos

Particularmente en extraer y validar las respuestas a cuestionarios incluidos en páginas web

Programación Teresa ValtueñaDAM 1º

PHP

Lenguaje que se acopla a HTML para definir procedimientos que debe realizar el servidor web: procesar un formulario, enviar o extraer datos de una base de datos, ...

Programación Teresa ValtueñaDAM 1º

SQL

Lenguaje desarrollado para facilitar la consulta de bases de datos, acotando progresivamente la búsqueda

Indicas qué quieres obtener más que cómo hacerlo

Existen numerosas aplicaciones de administración de bases de datos que recurren al SQL (Oracle)

Programación Teresa ValtueñaDAM 1º

ASP

Active Server Pages

Lenguaje basado en Visual Basic para ejecutarse en un servidor web

Es interpretado

Se mezcla con código HTML para generar páginas web

Programación Teresa ValtueñaDAM 1º

POWER BUILDER

Se utiliza para desarrollo de aplicaciones para un ambiente cliente/servidor de Windows

Soporta varias bases de datos (Oracle, DB2)

Programación Teresa ValtueñaDAM 1º

Programación

Es la proyección, planificación y ejecución de una tarea o proceso

Describir lo que hace una computadora para resolver un problema concreto utilizando un determinado lenguaje

Programación Teresa ValtueñaDAM 1º

Programa

Es una secuencia de instrucciones que indican las acciones que han de ser ejecutadas por una computadora

Conjunto de instrucciones en un lenguaje determinado que define un algoritmo

El objetivo es obtener unos resultados o datos de salida a partir de unos datos de entrada

Programación Teresa ValtueñaDAM 1º

Programa

Se estructura en 3 partes:

Entrada de datos: se pide al usuario información

Proceso o algoritmo: se resuelve el problema con los datos de entrada

Salida de datos: mostramos los resultados

Programación Teresa ValtueñaDAM 1º

Programa

Hay que describir lo siguiente:

Datos: hay que indicar variables, constantes, tablas, archivos y demás estructuras de datos que intervienen en el programa

Algoritmo: operaciones que tiene que realizar el procesador en el mismo orden en que se escriben

Programación Teresa ValtueñaDAM 1º

Programa

Según el orden de ejecución se divide en:

Lineales: se ejecuta una instrucción tras otra, en el orden al de lectura

No lineales: se realizan saltos que nos mandan de unas instrucciones a otras

Programación Teresa ValtueñaDAM 1º

Características de un programa

Legibilidad: debe ser claro y sencillo para facilitar su lectura y comprensión

Fiabilidad: debe estar libre de errores

Portabilidad: debe permitir su codificación en distintos lenguajes e instalación en distintos sistemas

Modificabilidad: debe facilitar su mantenimiento

Eficiencia: debe aprovechar al máximo los recursos del ordenador, minimizando la memoria y el tiempo de proceso

Programación Teresa ValtueñaDAM 1º

Fases de elaboración de una aplicación informática Se basa en un concepto llamado ciclo de vida que establece

una serie de etapas o fases que hay que seguir secuencialmente y de manera ordenada para desarrollar un producto de software

Estas fases son:

Análisis

Diseño

Codificación

Explotación

Mantenimiento

Programación Teresa ValtueñaDAM 1º

Análisis Comprender y definir el problema

Definir los procesos y estructuras de datos que se van a emplear

Si hay ambigüedades desarrollar prototipos

Se utilizan:

Diagramas de flujos de datos: comportamiento del sistema mediante representaciones gráficas

Modelos de datos: estructuras de datos y sus características

Diccionario de datos: describir todos los objetos utilizados en los gráficos y modelos

Definición de los interfaces de usuario: determinan la información, manejo de entradas y salidas de datos

Al final debemos obtener un documento con las especificaciones de la aplicación

Programación Teresa ValtueñaDAM 1º

Diseño

Se detalla y precisa la solución, teniendo en cuenta los recursos físicos del sistema: tipo de ordenador, periféricos comunicaciones, ... Y los recursos lógicos como el sistema operativo, bases de datos, ...

Al final de esta etapa se obtiene como documentación el cuaderno de carga

Programación Teresa ValtueñaDAM 1º

Codificación

Es la traducción de la solución obtenida a un determinado lenguaje de programación basándose en el cuaderno de carga

También se deben realizar pruebas:

Unitarias: se comprueba cada módulo

Interconexión: se comprueba el conjunto de los módulos que forma un programa

Integración: se comprueba el conjunto de programas, es decir, el funcionamiento de todo el sistema

Programación Teresa ValtueñaDAM 1º

Explotación

Se implantan los programas en donde van a funcionar normalmente

Actividades que se pueden realizar:

Instalación de los programas

Pruebas globales de aceptación del sistema

Conversión de la información del sistema anterior al nuevo

Eliminación del sistema anterior

Programación Teresa ValtueñaDAM 1º

Mantenimiento

Se realizan las consideraciones para solucionar errores y deficiencias, pudiendo reiniciarse el ciclo de vida

Puede ser:

Correctivo: puede estar incluido desde el principio

Adaptativo: modificaciones debido a cambios en el entorno físico y lógico donde están implantados

Perfectivo: mejora de la aplicación por propuestas de los usuarios finales

Los dos últimos reinician el ciclo de vida, debiendo proceder de nuevo al desarrollo de cada fase

Programación Teresa ValtueñaDAM 1º

Técnicas de programación

Convencional

Estructurada

Modular

Orientada a objetos

Programación Teresa ValtueñaDAM 1º

Convencional

Fue el comienzo de la programación

No sigue un método de programación riguroso

Problemas:

Programas muy rígidos

Muchos errores productivos

Modificaciones difíciles de hacer

Programación Teresa ValtueñaDAM 1º

Estructurada

Se aborda la aplicación desde el problema principal hasta los problemas más particulares en los que se pueda dividir

Programas de fácil interpretación y mantenimiento

Minimiza los errores humanos

Programación Teresa ValtueñaDAM 1º

Modular

Se divide el problema en módulos, existe el módulo raíz que relaciona todos los demás

Ventajas:

Fácil comprensión del problema

Fácil modificación y verificación

Reutilización de módulos ya hechos

Clasificación: módulo raíz, subraíz, de entrada, de proceso, de salida

Programación Teresa ValtueñaDAM 1º

Orientada a objetos

Define los programas en términos de “clases de objetos”, objetos que son entidades que combinan: Estado: datos

Comportamiento: procedimientos o métodos

Identidad: propiedad que lo diferencia del resto

Un programa es un conjunto de esos objetos

Programas más fáciles de escribir, mantener y reutilizar

Lenguajes: C#, C++, Java, Delphi, VB.NET

Programación Teresa ValtueñaDAM 1º

Orientada a objetos

Ventajas: Protección de la información

Encapsulamiento de los datos y su procedimiento

Rápido desarrollo

Fácil mantenimiento

Un objeto contiene la información (atributos) que lo define e identifica frente a otros iguales o distintos, dispone de mecanismos de interacción (métodos) para comunicarse con otros objetos. Es todo una unidad, datos y métodos

Programación Teresa ValtueñaDAM 1º

Definiciones

Clase: define las propiedades y el comportamiento de untipo de objeto concreto. La instanciación es la creación deun objeto con esas propiedades y comportamiento.

Objeto: es la instancia de una clase y está formado por unconjunto de propiedades o atributos (datos) y decomportamiento o funcionalidad ("métodos").

Propiedad o atributo: contenedor de un tipo de datosasociados a un objeto (o a una clase de objetos)

Método: algoritmo asociado a un objeto (o a una clase deobjetos)

Programación Teresa ValtueñaDAM 1º

Definiciones

Evento: un suceso en el sistema o del objeto y provoca laejecución de un método

Estado interno: es una propiedad invisible de los objetos,que puede ser únicamente accedida y alterada por unmétodo del objeto, y que se utiliza para indicar distintassituaciones posibles para el objeto (o clase de objetos).

Programación Teresa ValtueñaDAM 1º

Ejemplo práctico

Mantenimiento de un centro médico.

Programación Teresa ValtueñaDAM 1º

Compilación

Proceso de traducción de un código fuente (escrito en un lenguaje de programación de alto nivel) a lenguaje máquina

Es el framework el que se encarga de todo en .net

Programación Teresa ValtueñaDAM 1º

Ensamblado (assembly)

Biblioteca de código parcialmente compilado

Puede venir de uno o varios ficheros

Se pueden añadir ensamblados ya desarrollados

Programación Teresa ValtueñaDAM 1º

Espacio de nombres (namespace)

Es una forma lógica de agrupar clases, funciones, tipos de datos, ..., que están relacionadas entre sí.

Ejemplo: Microsoft.VisualBasic

Para acceder a un namespace accederemos al ensamblado que lo contiene

Un namespace puede estar divididos en varios ensamblados y un ensamblado puede contener varios namespaces

Programación Teresa ValtueñaDAM 1º

Librería de clases base

Es común a todos los lenguajes de programación .NET

Clases consistentes:

Organizadas con espacios de nombres (namespaces)

Son extensibles

Son seguras

Programación Teresa ValtueñaDAM 1º

.NET Class Library

System System.Collections System.Configuration System.Data System.Diagnostics System.DirectoryServic

es System.Drawing System.EnterpriseServi

ces System.Globalization System.IO System.Management System.Messaging

System.Net System.Reflection System.Resources System.Runtime System.Security System.ServiceProcess System.Text System.Threading System.Timers System.Web System.Windows System.XML

Proporciona clases para todo tipo de operaciones

Programación Teresa ValtueñaDAM 1º

Errores

Tipos:

De compilación: olvidar escribir un ;

De ejecución: operaciones no permitidas, abrir un fichero que no existe

De lógica: por obtención de resultados no correctos