Agosto 2014 Programación I - Conceptos Básicos1 Programación I Prof. Adjunto: Lic. Jorge O....
-
Upload
junipero-munguia -
Category
Documents
-
view
214 -
download
0
Transcript of Agosto 2014 Programación I - Conceptos Básicos1 Programación I Prof. Adjunto: Lic. Jorge O....
Agosto 2014Programación I - Conceptos
Básicos 1
Programación I
Prof. Adjunto: Lic. Jorge O. Scucimarri
Licenciatura en Sistemas de InformaciónDepartamento de Ciencias Básicas
Universidad Nacional de Luján
procedure conceptos_básicos (...)
var comprender: boolean;
begin comprender:= false;
repeat
Agosto 2014Programación I - Conceptos
Básicos 3
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 2014Programación I - Conceptos
Básicos 4
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 2014Programación I - Conceptos
Básicos 5
Conceptos básicos
Abstracción
Análisis
Descomposición
del problema
Modularización
Diseño
Verificación
Eficiencia
Mantenimiento
Reusabilidad
Agosto 2014Programación I - Conceptos
Básicos 6
Problemadel mundo
real Modelo
Sistema
MóduloPrograma
AbstracciónAnálisis
Descomposición
Diseño de algoritmos
Del problema real a la solución computable
Agosto 2014Programación I - Conceptos
Básicos 7
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.
Conceptos básicos
Agosto 2014Programación I - Conceptos
Básicos 8
Análisis:
Analizar el problema en su contexto del mundo real.
Obtener los requerimientos del usuario.
Obtener, como resultado del análisis, un modelo.
Conceptos básicos
Agosto 2014Programación I - Conceptos
Básicos 9
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.
Conceptos básicos
Agosto 2014Programación I - Conceptos
Básicos 10
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 2014Programación I - Conceptos
Básicos 11
Conceptos básicos Modularización
S ubp rob lem aA
S ubp rob lem aB 1
S ubp rob lem aB 2
S ubp rob lem aB
S ubp rob lem aC
P rob lem aO rig in a l
Agosto 2014Programación I - Conceptos
Básicos 12
Conceptos básicos
Especificación rigurosa de la secuencia de pasos (instrucciones) a realizar sobre un
autómata para alcanzar un resultado deseado en un tiempo finito.
Algoritmo
Agosto 2014Programación I - Conceptos
Básicos 13
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.
Conceptos básicos
Agosto 2014Programación I - Conceptos
Básicos 14
Conceptos básicos
Programación estructurada Edsgar Dijkstra (1965)
Corrado Böhm - Giuseppe Jiacopini (1966)
Agosto 2014Programación I - Conceptos
Básicos 15
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 2014Programación I - Conceptos
Básicos 16
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, se
puede seguir y pasa a través de dicha acción.
No posee lazos o bucles infinitos.
Agosto 2014Programación I - Conceptos
Básicos 17
Las partes de un programa
Instrucciones
DatosConstantesVariables
Comentarios
Agosto 2014Programación I - Conceptos
Básicos 18
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
{ 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
WriteLn (Saludo); {escribir la constante Saludo}
End;
Begin {iniciar el código principal}
Escribe_Texto; {llamar al procedimiento}
End.
Agosto 2014 19Programación I - Conceptos
Básicos
Agosto 2014Programación I - Conceptos
Básicos 20
Verificación
Un programa es correcto cuando cumple con su especificación.
La especificación debe ser:
Completa
Precisa
No ambigua
Agosto 2014Programación I - Conceptos
Básicos 21
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 2014Programación I - Conceptos
Básicos 22
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 2014Programación I - Conceptos
Básicos 23
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.
Validación de los datos de entrada
Conceptos básicos
if entendí_todo then comprender := true;
until comprender;
end;