View
237
Download
0
Category
Preview:
Citation preview
Paradigma de Programación
EntradaProceso
Computacional
Salida
Introducción a la Programación:
(Lenguaje de computación)
Problemas, algoritmos y programas: Introducción a los Problemas:
ModelarAlgoritmos Refinación
del algoritmo
Lenguaje de
Programación
Programa
Sintaxis Semántica
Modelar: Simular o programar su solución en un computador.
Algoritmos: Es un conjunto finito, y no ambiguo de etapas expresadas en un cierto orden que, para unas condiciones iniciales, permite resolver un problema en un tiempo finito.
Refinamiento del algoritmo o refinamiento progresivo: El objetivo final es describir' una solución algorítmica al problema inicialmente planteado mediante el uso de las construcciones formales de un lenguaje de programación.
Lenguajes de programación: Permiten expresar nuestros algoritmos en una notación formal que pueda ser reconocida y ejecutada por el computador. Dicha especificación se llama programa.
Sintaxis: Símbolos y palabras reservadas - Reglas gramaticales.
Semántica: Significado a cada tipo de construcción.
Semántica Operacional: Define el significado de un lenguaje de programación en términos de los cambios de estados que producen las instrucciones primitivas del lenguaje; es decir términos del efecto producido por la ejecución paso a paso del mismo. (Ej.: Simplesem) No describe con igual claridad todo tipo de lenguajes de programación.
Semántica:
Semántica Declarativa: Define unas aplicaciones (funciones) de valoración semántica que asignan a cada construcción sintáctica un objeto matemático que modela su significado - Indica qué función matemática se obtiene a la salida ante unas entradas del programa.
Ej.: sintaxis que describa números enteros no negativos Número::={Dígito} Dígito: := cero │uno│ ... │nueve (única propiedad relevante es el valor numérico asociado)
Semántica declarativa en dicho lenguaje Valor número: número N
Valor dígito: dígito N
Semántica:
Semántica Axiomática: Asocia a cada construcción del lenguaje un axioma lógico que relaciona el estado del cómputo (valores que tienen las variables utilizadas) antes y después de ejecutar esta construcción.
Semántica:
1° Lenguaje máquina (muy dificultoso, lento, y muy específico para cada problema)
Relación: costo-beneficio o productividad ---> satisfactoria
Se centraban en la utilización económica de un recurso caro = el tiempo de funcionamiento del computador.PROGRAMACIÓN: abandona ámbito
estructura de las máquinas para ser definidos en términos de formalismos abstractos y más fácilmente tratables.
Computación – Programación
PARADIGMAS: Conceptualizaciones genéricas que reúnen a distintos lenguajes y técnicas empleadas para escribir programas
ANTECEDENTE: PARADIGMA IMPERATIVO: Programa = Instrucción dada a cierto autómata con el objeto de que éste aplique a la memoria la alteración deseada.
TIEMPO DE MÁQUINA Vs. TIEMPO HUMANO (hoy más costoso)
Computación – Programación
MO
DU
LA
RIZ
AC
IÓ NProgramación EstructuradaOTécnicas Estructuradas
PR
OB
LE
MA
S Sub Problemas• Sub
Problemas• Sub
Problemas• Sub
Problemas• (Hasta que
sean tratable)
Técnicas de Modularización
Solución De Problemas
Herramientas para lograrlo
Lenguajes Evolución de
los mismos
Desarrollo de Lenguajes de Programación
Mejora
Se inspira en el modelo de computador de von Neumann .
Concepto de asignación como programa elemental
Estructuras de control para combinar programas simples en compuestos .
La semántica de la asignación es la transformación del estado de una variable y crean alteración de estados de memoria .
Paradigma Imperativo
DEFICIENCIAS: La presencia de la asignación hace que el valor
denotado por una variable es dependiente del lugar del programa en que ocurre.
Dificultad semántica alteración de estado de una memoria que es asignada a los programas.
Intentos de corrección: Eliminación de formas de control ej.: "GO TO" construcciones sintácticas de semántica poco claras.
Paradigma Imperativo
NECESIDADES: Un programa complejo debe ser descompuesto para que:
El significado de cada parte sea establecido independientemente
El significado del conjunto pueda deducirse de los significados de sus partes:
Ej. :
Paradigma Imperativo
Cada sub-expresión es un valor y de esta el total sin conocer la
sub-expresión como está compuesta
Propiedad de "Trasparencia Referencial" Toda ocurrencia de una sub-expresión en otra más compleja y denote siempre el mismo significado.
Ej. : Anterior X en sus dos ocurrencias tendría el mismo valor
Paradigma Imperativo
Trasparencia referencial
Técnicas de modularizaci
ón
esencial
En parad. Imperativos
Subprogramas Modularizar
Colaboran entre si
Variables globales
transparencia
referencial COMERCIO
Tiende a
si
Tienen
eliminan
Se mantienen por
PROBLEMA SOLUCIÓN
Los Nuevos Paradigmas
y
(Viejo para lógicos y matemáticos)
Problema
Entre conjunto
que deben
ser definidas
Modularización
Paradigma Funcional
funcionesMuy
adecuada
Se basa en el concepto matemático de función.
Una función es una regla de correspondencia que asocia a cada elemento de un conjunto origen un elemento del conjunto destino.
Problema Ciertas Relaciones
Conjuntos de Objetos
Otras deben ser calculadas
Reglas de deducción
Lógica Formal
Paradigma Lógico
define sobre
y
mediante
usa
Y ambos paradigmas admiten el cálculo de teorías formales y el sustento de la programación es las matemáticas y la lógica.
Dominio RangoF(x)
Aplicación de la función
Construye estructuras de software basada en objetos (datos) que cada sistema o subsistema manipula, más que en las funciones que debe cumplir .
Paradigma Orientado a Objetos
Recommended