1.- introducción a la programación.pdf
TRANSCRIPT
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º
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