Tema1
Upcoming SlideShare
Loading in...5
×
 

Tema1

on

  • 2,009 views

Algoritmos y programas

Algoritmos y programas

Statistics

Views

Total Views
2,009
Views on SlideShare
1,984
Embed Views
25

Actions

Likes
1
Downloads
102
Comments
0

1 Embed 25

http://www.slideshare.net 25

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tema1 Tema1 Presentation Transcript

  • Tema 1 Algoritmos y Programas Programación básica Profesora: Magdalena Aguilar-Álvarez
  • Algoritmo Universidad Hispanoamericana Programación básica 1 del latín, dixit algorithmus y del matemático persa kenvorrio) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema 3 Método para resolver un problema, mediante la combinación de pasos que se realizan en determinado orden de forma precisa 2 Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución
  • Programa Universidad Hispanoamericana Programación básica 1 secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema 3
    • técnicas de programación
    • programación estructurada
    • programación modular
    • programación orientada a objetos (POO)
    • programación declarativa
    2 suelen subdividirse en partes menores (módulos), así la complejidad algorítmica de cada una de las partes sea menor que la del programa completo View slide
  • Pseudocódigo
    • Pseudocódigo = falso lenguaje
    • serie de palabras léxicas y gramaticales referidos a los lenguajes de programación
    • sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del lenguaje coloquial
    • permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica , se utiliza en las fases de análisis o diseño de Software , o en el estudio de un algoritmo .
    • Forma parte de las distintas herramientas de la ingeniería de software .
    • Es, netamente, lenguaje de tipo informático.
    • Ejemplos:
        • asigne a x el valor de y x := y
    Universidad Hispanoamericana Programación básica View slide
  • Lenguaje de programación Universidad Hispanoamericana Programación básica 1 conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones 3 permite al programador especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y las acciones debe tomar bajo una variada gama de circunstancias. 2 Es utilizado para controlar el comportamiento físico y lógico de una máquina
  • Clasificación de los lenguajes de programación
    • Según su nivel de abstracción
    • Lenguajes de bajo nivel
    • se acercan al funcionamiento de una computadora
    • El lenguaje de más bajo nivel por excelencia es el código máquina
    • A éste le sigue el lenguaje ensamblador , ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
    • Ejemplo:
    • ;Lenguaje ensamblador, sintaxis Intel para procesadores x86
    • mov eax,1;mueve a al registro eax el valor 1
    • xor ebx, ebx ;pone en 0 el registro
    • ebxint 80h; llama a la interrupción 80h (80h = 128 sistema decimal)
    Universidad Hispanoamericana Programación básica
  • Clasificación de los lenguajes de programación
    • Según su nivel de abstracción
    • Lenguajes de medio nivel
    • Tienen ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
    • Ejemplo:
    • /*Lenguaje C*/ /*declaración de las funciones estandars de entrada y salida*/
    • #include <stdio.h>
    • int main(int argc, char **argv)
    • {
    • char *p; /*creamos un puntero a un byte*/
    • if(argc == 1)
    • { printf(&quot; Ingrese un argumento al programa &quot;);/*imprimimos el texto*/
    • return 1; }
    • p = 0x30000 /*el puntero apunta a 0x30000 */
    • *p = argv[1][0] /*el primer caracter del primer argumento lo copiamos a la posición 0x30000 */
    • return 0;}
    Universidad Hispanoamericana Programación básica
  • Clasificación de los lenguajes de programación
    • Según su nivel de abstracción
    • Lenguajes de alto nivel
    • normalmente fáciles de aprender
    • están formados por elementos de lenguajes naturales, como el inglés.
    • Esta forma de trabajar puede dar la sensación de que las computadoras parecen comprender un lenguaje natural; en realidad lo hacen de una forma rígida y sistemática, sin que haya cabida, por ejemplo, para ambigüedades o dobles sentidos.
    • Ejemplo: {Lenguaje Pascal}
    • program suma;
    • var x,s,r:integer; {declaración de las variables}
    • begin {comienzo del programa principal}
    • writeln('Ingrese 2 números enteros');{imprime el texto}
    • readln(x,s); {lee 2 números y los coloca en las variables x y s}
    • r:= x + s; {suma los 2 números y coloca el resultado en r}
    • writeln('La suma es ',r); {imrpime el resultado}
    • readln;
    • end.{termina el programa principal}
    Universidad Hispanoamericana Programación básica
    • Según el paradigma de programación
    • Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software.
    • El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC .
    • El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme ), ML o Haskell .
    • El paradigma lógico, un ejemplo es PROLOG .
    • El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk .
    Universidad Hispanoamericana Programación básica Clasificación de los lenguajes de programación
  • Fases de desarrollo de un programa Universidad Hispanoamericana Programación básica Fases 1. Análisis del problema 7. Documentación 2. Diseño del algoritmo 3. Compilación 6. Depuración 5. Verificación 4. Ejecución
  • 1. Análisis del problema Universidad Hispanoamericana Programación básica Creatividad Atención máxima a los requerimientos del usuario Comunicación entre el programador y el usuario Usuario conoce el problema pero no la solución informática Programador conoce la tecnología pero no el problema Definir el problema con el máximo posible de detalle Definir claramente las entradas y salidas del programa
  • 2. Diseño Universidad Hispanoamericana Programación básica División del problema en subproblemas Definir orden lógico de operaciones Determinar cómo hace el programa lo que se requiere Dividir el problema en subproblemas Identificar las operaciones Definir los objetos (datos, información) Programación modular, diseño descendente, orden lógico
  • 3. Compilación Universidad Hispanoamericana Programación básica Traducción a código fuente Genera un ejecutable Traducción a código fuente Utiliza un intérprete de lenguaje Consiste en generar el código objeto equivalente al programa fuente Su objetivo es generar un archivo ejecutable a partir de lo programado Sólo se genera código objeto cuando el programa fuente está libre de errores de análisis
  • 4. Ejecución Universidad Hispanoamericana Programación básica Programa que se ejecuta en el computador Dar seguimiento a resultados reales vs. esperados Tiempo de ejecución ( Runtime en inglés) intervalo de tiempo en el que un programa se ejecuta en un sistema operativo Se debe dar seguimiento a las tareas que debe realizar vs resultados en ejecución entorno de ejecución ( runtime environment en inglés) es un estado que suministra servicios de software para procesos o programas mientras se está ejecutando Cierta depuración de programas sólo puede realizarse (o ser más eficiente o precisa) cuando se realiza en ejecución
  • 5. Verificación Universidad Hispanoamericana Programación básica Comprobación del algoritmo Prueba o testing Comprobar que el algoritmo realice las tareas planeadas Ejecución manual, incluso en papel Tomar rango de datos significativos Labor de prueba o testing Herramientas: Diagramas de flujo de datos, pseudocódigo, Nassi-Schneiderman (Chapin)
  • 6. Depuración Universidad Hispanoamericana Programación básica Herramientas para depuración y revisión sistemática del código fuente Requiere paciencia, imaginación e intuición Depuración de programas es el proceso de identificar y corregir errores de programación se le conoce como debugging , ya que se asemeja a la eliminación de bichos ( bugs ) existen técnicas para la revisión sistemática del código fuente y medios para la detección de errores ( debuggers ) También existen facilidades integradas en los sistemas lower CASE y en los ambientes de desarrollo integrado Sigue siendo una actividad manual, que desafía la paciencia, la imaginación y la intuición del programador
  • 7. Documentación Universidad Hispanoamericana Programación básica Interna y externa Documento de guía para futuras actualizaciones o desarrollos del sistema Se divide en interna y externa La interna incluye el código del programa, y los comentarios La externa incluye listado del programa fuente También explicaciones de cálculos y especificación de datos, Manual de usuario, mantenimiento, descripción del problema, DFD, Variables, etc.
  • Diagrama de flujo de datos Universidad Hispanoamericana Programación básica forma de representar gráficamente los detalles algorítmicos de un proceso multifactorial
  • Diagrama de flujo de datos Universidad Hispanoamericana Programación básica
  • Lenguaje de programación PASCAL Universidad Hispanoamericana Programación básica Desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60 Muy utilizado para enseñar la programación de manera disciplinada y sistemática Lenguaje de programación de alto nivel, apareción en 1968, ya para 1982 se estandarizó su uso. Existen varias versiones: UCSD, Blue Label Pascal, Turbo Pascal y para Turbo Pascal versión 5, Borland Int., agregó programación orientada a objetos a Pascal
  • Lenguaje de programación PASCAL Características Universidad Hispanoamericana Programación básica
    • Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
    • El código esta dividido en porciones fácilmente legibles llamadas funciones o procedimientos . De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica .
    • El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
    • El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.
  • Lenguaje de programación PASCAL Características Universidad Hispanoamericana Programación básica
    • Riqueza en tipos de datos
      • Definidos por el lenguaje
      • Definidos por el usuario
    • Producción por los compiladores de código
      • Ejecutables rápidos y eficientes
  • Lenguaje de programación PASCAL Características Universidad Hispanoamericana Programación básica
      • En 1988 se lanza la versión 5.0
      • En 1989 se lanza la versión 5.5
      • Programación orientada a objetos
      • Se decía que era la programación del futuro
      • En1991 se lanza la versión 6.0
      • Perfecciona el entorno de programación
      • Incorpora librería de objetos (Turbo Visión)
      • Tiene una completa estructura de aplicaciones
      • En 1992 se presenta la última versión de Turbo Pascal 7.0
      • Añade nuevas propiedades del lenguaje
      • Mejora la biblioteca Turbo Visión 2.0
  • Lenguaje de programación PASCAL Características Universidad Hispanoamericana Programación básica
      • Es, sin lugar a dudas, una herramienta de programación potente, fácil de utilizar e idónea para aprendizaje de profesionales o aficionados a la programación.
  • ¿Porqué PASCAL? Universidad Hispanoamericana Programación básica
    • sintaxis y estructuras de programación sencillas y parecidas a otros lenguajes más modernos, soporta estructuras de datos más habituales
    • Modelo francés: es mejor que el alumno aprenda los fundamentos de la programacióna, al incorporarse al entorno laboral, podrá comprender cualquier lenguaje que utilicen en la empresa donde vaya a trabajar, porque conoce los fundamentos, no se le dificulta aprender cualquier lenguaje de programación. Modelo norte americano: alumno aprende a manejar una tecnología en concreto, que se esté utilizando en un entorno empresarial. Estas tecnologías no siempre son las más didácticas, sino las más utilizadas. Cuando se incorpora al trabajo en la empresa, sabe ya el lenguaje de programación utilizado. Problema : Solo se conoce una tecnología y sólo sabe hacer las cosas en ese entorno. Si cambia el lenguaje o cualquier cosa sobre las que han aprendido, posiblemente se vean más perdidos y les cueste mucho más esfuerzo reciclarse.
  • Comunicación Usuario – Programador / Analista Universidad Hispanoamericana Programación básica
  • Muchas gracias