Universidad Nacional de Lujn Licenciatura en Sistemas de

  • Slides: 25
Download presentation
Universidad Nacional de Luján Licenciatura en Sistemas de Información Departamento de Ciencias Básicas Programación

Universidad Nacional de Luján Licenciatura en Sistemas de Información Departamento de Ciencias Básicas Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Agosto 2014 Programación I - Conceptos Básicos 1

procedure conceptos_básicos (. . . ) var comprender: boolean; begin comprender: = false; repeat

procedure conceptos_básicos (. . . ) var comprender: boolean; begin comprender: = false; repeat

Objetivos de la asignatura Utilizar las distintas etapas en la resolución de problemas con

Objetivos de la asignatura Utilizar las distintas etapas en la resolución de problemas con computadoras. Identificar las distintas partes de un programa. Modelar problemas sencillos dividiéndolos en módulos. Agosto 2014 Programación I - Conceptos Básicos 3

Objetivos de la asignatura Construir algoritmos utilizando las estructuras de control básicas (secuencia, decisión,

Objetivos de la asignatura Construir algoritmos utilizando las estructuras de control básicas (secuencia, decisión, selección e iteración) y tipos de datos simples. Resolver problemas utilizando estructuras de datos compuestas (arreglos y archivos). Reconocer la importancia de utilizar una metodología en el desarrollo de software. Agosto 2014 Programación I - Conceptos Básicos 4

Conceptos básicos Abstracción Diseño Análisis Verificación Descomposición del Eficiencia problema Mantenimiento Modularización Reusabilidad Agosto

Conceptos básicos Abstracción Diseño Análisis Verificación Descomposición del Eficiencia problema Mantenimiento Modularización Reusabilidad Agosto 2014 Programación I - Conceptos Básicos 5

Del problema real a la solución computable Problema del mundo real Modelo Análisis Abstracción

Del problema real a la solución computable Problema del mundo real Modelo Análisis Abstracción Sistema Módulo Programa Descomposición Diseño de algoritmos Agosto 2014 Programación I - Conceptos Básicos 6

Conceptos básicos Abstracción: proceso de análisis del mundo real para interpretar los aspectos esenciales

Conceptos básicos Abstracción: proceso de análisis del mundo real para interpretar los aspectos esenciales de un problema y expresarlo en términos precisos. Contexto: marco de circunstancias en las que se sitúa un hecho. Agosto 2014 Programación I - Conceptos Básicos 7

Conceptos básicos Análisis: Analizar el problema en su contexto del mundo real. Obtener los

Conceptos básicos Análisis: Analizar el problema en su contexto del mundo real. Obtener los requerimientos del usuario. Obtener, como resultado del análisis, un modelo. Agosto 2014 Programación I - Conceptos Básicos 8

Conceptos básicos Modelización: Abstraer un problema del mundo real y simplificar su expresión, tratando

Conceptos básicos Modelización: Abstraer un problema del mundo real y simplificar su expresión, tratando de encontrar los aspectos principales que se pueden resolver (requerimientos), los datos que se han de procesar y el contexto del problema. Agosto 2014 Programación I - Conceptos Básicos 9

Conceptos básicos Descomposición del problema Descomponer el problema en partes que tendrán una función

Conceptos básicos Descomposición del problema Descomponer el problema en partes que tendrán una función bien definida y datos propios. Esta técnica es conocida como modularización o diseño Top Down. Agosto 2014 Programación I - Conceptos Básicos 10

Conceptos básicos Modularización Agosto 2014 Programación I - Conceptos Básicos 11

Conceptos básicos Modularización Agosto 2014 Programación I - Conceptos Básicos 11

Conceptos básicos Algoritmo Especificación rigurosa de la secuencia de pasos (instrucciones) a realizar sobre

Conceptos básicos Algoritmo Especificación rigurosa de la secuencia de pasos (instrucciones) a realizar sobre un autómata para alcanzar un resultado deseado en un tiempo finito. Agosto 2014 Programación I - Conceptos Básicos 12

Conceptos básicos Precondición: información que se conoce como verdadera antes de iniciar el programa.

Conceptos básicos Precondición: información que se conoce como verdadera antes de iniciar el programa. Postcondición: información que debiera ser verdadera al concluir un programa, si se cumple con los requerimientos. Agosto 2014 Programación I - Conceptos Básicos 13

Conceptos básicos Programación estructurada Edsgar Dijkstra (1965) Corrado Böhm - Giuseppe Jiacopini (1966) Agosto

Conceptos básicos Programación estructurada Edsgar Dijkstra (1965) Corrado Böhm - Giuseppe Jiacopini (1966) Agosto 2014 Programación I - Conceptos Básicos 14

Teroema de Böhm y Jacopini (1966) Un programa propio puede ser escrito utilizando únicamente

Teroema de Böhm y Jacopini (1966) Un programa propio puede ser escrito utilizando únicamente tres tipos de estructuras: Secuencial Alternativa o selectiva Repetitiva Agosto 2014 Programación I - Conceptos Básicos 15

Programa propio Tiene un solo punto de entrada y uno de salida Toda acción

Programa propio Tiene un solo punto de entrada y uno de salida Toda acción del algoritmo es accesible, es decir, existe al menos un camino que va desde el inicio hasta el fin del algoritmo, sepuede seguir y pasa a través de dicha acción. No posee lazos o bucles infinitos. Agosto 2014 Programación I - Conceptos Básicos 16

Las partes de un programa Instrucciones Datos Constantes Variables Agosto 2014 Comentarios Programación I

Las partes de un programa Instrucciones Datos Constantes Variables Agosto 2014 Comentarios Programación I - Conceptos Básicos 17

Documentación de un programa Un programa bien documentado es más fácil de leer y

Documentación de un programa Un programa bien documentado es más fácil de leer y mantener. Inserción de comentarios nivel general nivel de módulo nivel de secuencia Identificadres autoexplicativos Agosto 2014 Programación I - Conceptos Básicos 18

{ Programa ejemplo de código Pascal } { Autor: Jorge Scucimarri } { Fecha

{ Programa ejemplo de código Pascal } { Autor: Jorge Scucimarri } { Fecha creación: 01/07/2003 } { Versión 1. 0 } {*****************************} Program Hola_Mundo; Uses Crt; {incluir la librer¡a CRT} Const {declarar constantes} Saludo : = 'Hola, mundo !!!'; Procedure Escribe_Texto; {declarar procedimiento} Begin Write. Ln (Saludo); {escribir la constante Saludo} End; Begin Escribe_Texto; {iniciar el código principal} {llamar al procedimiento} End. Agosto 2014 Programación I - Conceptos Básicos 19

Verificación Un programa es correcto cuando cumple con su especificación. La especificación debe ser:

Verificación Un programa es correcto cuando cumple con su especificación. La especificación debe ser: Completa Precisa No ambigua Agosto 2014 Programación I - Conceptos Básicos 20

Eficiencia de un algoritmo Métrica de calidad de los algoritmos, asociada con la utilización

Eficiencia de un algoritmo Métrica de calidad de los algoritmos, asociada con la utilización óptima de los recursos del sistema de cómputo. Se puede tener muchas soluciones algorítmicas para un mismo problema, sin embargo el uso de los recursos (tiempo, memoria), de cada solución puede ser muy diferente. Agosto 2014 Programación I - Conceptos Básicos 21

Mantenimiento Corregir errores Modificar código (por errores o por cambios) Si el código no

Mantenimiento Corregir errores Modificar código (por errores o por cambios) Si el código no ha sido apropiadamente modularizado el costo de mantenimiento es muy alto. Agosto 2014 Programación I - Conceptos Básicos 22

Reusabilidad del código Una idea simple: hacer uso del código que ya se ha

Reusabilidad del código Una idea simple: hacer uso del código que ya se ha escrito. Es posible si se realiza una solución bien modularizada. Agosto 2014 Programación I - Conceptos Básicos 23

Validación de los datos de entrada

Validación de los datos de entrada

Conceptos básicos if entendí_todo then comprender : = true; until comprender; end;

Conceptos básicos if entendí_todo then comprender : = true; until comprender; end;