Algoritmos y programas



Documentos relacionados
Introducción a la programación

Unidad 9. Entornos de Desarrollo

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

Introducción a la Informática

Soporte lógico de computadoras

MÓDULO 1: Sistemas de Cómputo

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

Entre los más conocidos editores con interfaz de desarrollo tenemos:

LENGUAJES DE PROGRAMACIÓN

Bloque II. Elementos del lenguaje de programación Java

Algoritmos y Programas OBJETIVOS

Instituto Tecnológico de Celaya

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Programación Orientada a Objetos

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Introducción a la Computación

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

TALLER DE CONOCIMIENTOS APRENDICES JORGE LEONARDO MAZA CARLOS DAVID ZAMBRANO JOSE G. RODRIGUEZ PROFESOR RONALD MARTELO

1 La Resolución de Problemas utilizando la Computadora

Tema 1: Computadores y Programas

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras.

Introducción a la Programación 11 O. Humberto Cervantes Maceda

7.1 Java vs.net, la lucha se acrecienta

UML, ejemplo sencillo sobre Modelado de un Proyecto

Tema 1 Fundamentos de Computación

TEMA 1: INTRODUCCIÓN

Fundamentos de la Programación

Figura 4.1 Clasificación de los lenguajes de bases de datos

Informática I para Bachillerato

Unidad III El lenguaje de programación C

4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005

Módulo 2. Inicio con Java

El Producto: Software

GUÍAS. Módulo de Diseño de software SABER PRO

Conceptos Básicos. Capítulo Informática

Tema 24. Apartados 1 al 2.2 inclusive INFORMÁTICA

EDITOR E INTÉRPRETE DE ALGORITMOS REPRESENTADOS EN DIAGRAMAS DE FLUJO 1 RESUMEN

Tema 2. Software. Informática (1º Ingeniería Civil)

CAPÍTULO II VISUAL BASIC 6. Visual Basic es uno de tantos lenguajes de programación; orientado a objetos, que

Programación de videjuegos

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Procesadores de lenguaje Tema 1: Introducción a los compiladores

Informática I para Bachillerato

DIAGRAMA DE CLASES EN UML

Informática 1 Grado en Matemáticas

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Generalidades Computacionales

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Capitulo V Administración de memoria

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

IIC Introducción a la Programación -

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Sesión 6.3: Historia de los Lenguajes de Programación. Dr. Alberto A. Del Barrio García

Curso 0 de Informática

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Curso de Doctorado: Tecnologías de Objetos

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

01 Introducción al lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

Introducción a Visual.Net

Lenguaje C++ Introducción 6. Introducción a la Computación Tc1001 Programación en Lenguaje C++

Unidad 9. Implementación. M.C. Martín Olguín

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

El proceso unificado en pocas palabras

Introducción a la Computación

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

construcción de programas Prof. Eliana Guzmán U.

FORMATO SUGERIDO DE PROGRAMA OPERATIVO PARA LA PLANEACIÓN DIDÁCTICA (Colegio de Ciencias y Humanidades)

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

ESTÁNDAR DE COMPETENCIA

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software

Metodología de la programación y desarrollo de software. Marta Zorrilla Universidad de Cantabria

Simulador Interactivo para Sistemas de Generación Distribuida Basados en Energías Renovables

Técnicas de Programación

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

Proceso de desarrollo del software modelo en cascada

Gestión más simple y eficaz de las filiales Implementación de una estrategia de ERP de dos niveles con SAP Business ByDesign

HISTORIA Y TIPOS DE LENGUAJE DE PROGRAMACIÓN

Lenguajes de Programación

El Ordenador. Pedro Alberto Carrasco Dominguez Adaptación: Fernando Pascual Morales

Ingeniería de Software

Programador en Plataforma Java y XML

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 5 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Introducción Programar es enseñar Iniciación a la programación Finalidad de este libro

CONFIGURACIÓN DE LA METODOLOGÍA OPENUP V1.0. Centro Ideoinformática

Transcripción:

Algoritmo Algoritmos y programas Secuencia ordenada de pasos que resuelve un problema concreto. Características - Corrección (sin errores). - Precisión (ausencia de ambigüedades). - Repetitividad (solución genérica de un problema dado). - Finitud (número finito de órdenes no implica finitud). - Eficiencia (temporal [tiempo necesario] y espacial [memoria utilizada]) Programa Implementación de un algoritmo en un lenguaje de programación Datos de entrada Programa Instrucciones Datos de salida Conjunto ordenado de instrucciones que se dan al ordenador indicándole las operaciones o tareas que ha de realizar para resolver un problema. Introducción a la Programación - 1 - Fernando Berzal

Lenguajes de programación Una instrucción es un conjunto de símbolos que representa una orden para el ordenador: la ejecución de una operación con datos. Las instrucciones se escriben en un lenguaje de programación: - Se forman con símbolos tomados de un determinado repertorio (componentes léxicos) - Se construyen siguiendo unas reglas precisas (sintaxis) Lenguaje máquina El único que entiende directamente la CPU del ordenador Depende del modelo de ordenador Repertorio de instrucciones reducido (operaciones muy elementales) Muy difícil programar en él (en binario, con cadenas de ceros y unos) Lenguaje ensamblador Equivalente al lenguaje máquina, cada línea de código se traduce en una instrucción para la máquina. Le asocia mnemónicos a las operaciones que entiende la CPU Repertorio de instrucciones reducido (operaciones muy elementales) Programas difíciles de entender Lenguajes de alto nivel Permiten que el programador exprese el procesamiento de datos de forma simbólica, sin tener en cuenta los detalles específicos de la máquina. Independientes del modelo de ordenador Proporcionan un mayor nivel de abstracción Introducción a la Programación - 2 - Fernando Berzal

Ejemplos de lenguajes de programación de alto nivel FORTRAN (FORmula TRANslation) 1957, IBM (John Backus) Orientado a la resolución de problemas científicos y técnicos COBOL (COmmon Business Oriented Language) 1959, Codasyl (Committee on Data System Languages) Aplicaciones comerciales de gestión LISP (LISt Processing) 1959, John McCarthy (MIT) Procesamiento de datos no numéricos (usado en IA) BASIC (Beginner s All-purpose Symbolic Instruction Code) 1964, John Kemeny & Thomas Kurtz (Darmouth College) Lenguaje interactivo para principiantes Simula 1967, Ole-Johan Dahl & Krysten Nygaard (Noruega) Primer lenguaje de programación orientada a objetos Pascal 1971, Niklaus Wirth Lenguaje estructurado diseñado para aprender a programar C 1972, Denis Ritchie (Bell Labs) Lenguaje pequeño, flexible y eficiente Smalltalk 1972, Alan Kay (Xerox PARC) Origen de los interfaces WIMP (Windows, Icons, Mouse & Pull-down menus) PROLOG (PROgramming in Logic) 1972, Alain Colmerauer (Universidad de Marsella) Basado en Lógica (usado en IA) Ada 1980, US Department of Defense Basado en Pascal, muy usado en aplicaciones militares Introducción a la Programación - 3 - Fernando Berzal

C++ 1983, Bjarne Stroustroup (AT&T Bell Labs) Extensión de C que permite la programación orientada a objetos Java 1995, Sun Microsystems Similar a C++, aunque más sencillo de aprender y usar. C# 2000, Microsoft Corporation Alternativa de Microsoft a Java, muy similar a éste Clasificación de los lenguajes de programación de alto nivel Lenguajes imperativos: Los programas indican al ordenador de forma inequívoca los pasos a seguir para la resolución de un problema. o Programación estructurada: La estructura del texto del programa debe auxiliarnos para entender la función que realiza: estrategia divide y vencerás (la resolución de un problema se divide en tareas y, éstas, en subtareas). Ejemplos: C, Pascal, Fortran... o Programación orientada a objetos: Estilo de programación que basa la estructura de un programa en módulos deducidos de los tipos de objetos que manipula (en lugar de basarse en las tareas que el sistema debe realizar). Ejemplos: Smalltalk, C++, Java, C#... Lenguajes declarativos (funcionales y lógicos): Los programas se implementan como conjuntos de funciones (o reglas lógicas) cuya evaluación nos dará el resultado deseado. Ejemplos: LISP, PROLOG... Introducción a la Programación - 4 - Fernando Berzal

Evolución de los lenguajes de programación: Lenguajes imperativos Introducción a la Programación - 5 - Fernando Berzal

Evolución de los lenguajes de programación: Lenguajes declarativos Introducción a la Programación - 6 - Fernando Berzal

Traductores Los traductores transforman programas escritos en un lenguaje de alto nivel en programas escritos en código máquina: Tipos de traductores Compiladores Generan un programa ejecutable a partir del código fuente Intérpretes Van analizando, traduciendo y ejecutando las instrucciones del programa una a una. No se traduce una instrucción hasta que la ejecución de la anterior haya finalizado. Herramientas de programación Editores, depuradores, profilers... IDEs (entornos integrados de desarrollo) Ejemplos Microsoft Visual Studio.NET Borland C++Builder/Delphi Eclipse Introducción a la Programación - 7 - Fernando Berzal

Eclipse, un IDE para Java (http://www.eclipse.org) Microsoft Visual Studio.NET, un IDE para la plataforma.net Introducción a la Programación - 8 - Fernando Berzal

Desarrollo de aplicaciones informáticas: Ciclo de vida del software El ciclo de vida de una aplicación comprende las siguientes etapas: Planificación Delimitación del ámbito del proyecto, estudio de viabilidad, análisis de riesgos, estimación de costos, planificación temporal y asignación de recursos. Análisis ( qué?): Elicitación de requisitos. Descripción clara y completa de qué es lo que se pretende, incluyendo la presentación de los resultados que se desean obtener (formato de las salidas) y la forma en que se va a utilizar la aplicación (interfaz de usuario) Diseño ( cómo?): Estudio de alternativas Diseño arquitectónico: Organización de los distintos módulos que compondrán la aplicación (diseño arquitectónico). Diseño detallado: Definición de los algoritmos necesarios para implementar la aplicación en lenguaje natural, mediante diagramas de flujo o en pseudocódigo [lenguaje algorítmico]. Implementación: Adquisición de componentes, creación de los módulos de la aplicación en un lenguaje de programación e integración de los recursos necesarios para que el sistema funcione. Depuración y pruebas: Comprobación del funcionamiento de la aplicación Pruebas de unidad y de integración, pruebas alfa, pruebas beta, test de aceptación. Verificación (si se está realizando lo que se pretendía) Validación (si se realiza lo correcto). Explotación: Uso y mantenimiento Mantenimiento correctivo: Corrección de defectos o errores. Mantenimiento adaptativo: Adaptación de la aplicación a nuevas circunstancias e inclusión de nuevas prestaciones. Introducción a la Programación - 9 - Fernando Berzal