Beruflich Dokumente
Kultur Dokumente
PROGRAMACIÓN
UNIDAD 01 :
INTRODUCCIÓN A LOS FUNDAMENTOS DE PROGRAMACIÓN
• 1970: BASIC
• 1984: C++
• Simplicidad
• Claridad
• Ortogonalidad
• Soporte de Abstracción
Facilidad de Escritura
• Simplicidad
• El lenguaje debería ser lo suficientemente pequeño y simple para
ser entendido en su totalidad
• Un pequeño número de construcciones primitivas.
• Un conjunto consistente de reglas para combinarlas (ortogonalidad).
• ¿Qué tienen de malo los lenguajes “grandes” y “complejos”?
• Contienen tantas características que muchas de ellas nunca llegan a usarse ni a
entenderse.
• La complejidad del lenguaje crece de forma no lineal con el número de
características que incorpora.
Facilidad de Escritura
• Simplicidad
• Sin embargo,
• El lenguaje más usado (C++) es complejo.
• Uno de los más recomendados (Ada) es grande y complejo.
• Java, que nació con vocación de ser simple, tiende a hacerse más
grande y complejo.
Facilidad de Escritura
• Claridad
• Un programador sólo puede escribir programas fiables si entiende
con toda claridad lo que significa (implica) cada una de las
estructuras del lenguaje.
• La especificación del lenguaje y la calidad de su documentación es
absolutamente crítica en este aspecto:
• Debe evitarse cualquier ambigüedad.
• No debe ser necesario escribir y ejecutar fragmentos de código para descubrir
el significado de una característica del lenguaje.
Facilidad de Escritura
• Ortogonalidad
• El efecto de la combinación de características debe entenderse
fácilmente y ser predecible.
• Proporciona un mayor grado de generalidad sin restricciones ni
casos especiales.
• Las reglas del lenguaje deben tener las mínimas excepciones
posibles.
• El usuario comprende mejor si tiene un pequeño número de
primitivas y un conjunto consistente de reglas de combinación.
Facilidad de Escritura
Ortogonalidad
• SEMANTICA
• SINTAXIS
• DEFINICION
• ESTRUCTURAS DE DATOS
• ESTRUCTURAS DE CONTROL
Legibilidad
• Semántica
• La semántica de un lenguaje especifica el significado algorítmico de un
programa y se define como un conjunto de reglas que describen el
comportamiento de ese lenguaje en tiempo de ejecución.
Legibilidad
• Sintaxis
• La sintaxis determina la forma en que se combinan los elementos del lenguaje para
construir sentencias y programas.
• Unas reglas sintácticas adecuadas son fundamentales para que los programas sean
legibles.
• Documentación y comentarios
• Elección de nombres
• Uso de constantes
• If-then-else anidados
• Separación de sentencias
• Indentación
Legibilidad
• Sintaxis
• Ejemplos de una “mala” sintaxis:
• Restringir el tamaño de los identificadores.
• Uso del símbolo = para realizar asignaciones.
• Palabras reservadas con más de un significado (static en en C).
• Uso de llaves {... ...} para delimitar bloques.
Legibilidad
• Definición del lenguaje
• Precisión en la definición de la sintaxis y de la semántica.
• Definiciones formales
• Estructuras de control
• Programación estructurada
• Estructuras de datos
• Facilidades para expresar los datos del problema
Confiabilidad
• Correcto: cumple con las especificaciones
• Verificación de programas: probar su corrección
• Chequeo de tipos
• Chequeos estáticos y dinámicos
• Robusto
• Capacidad de prevenir situaciones
• Manejo de excepciones
Mantenibilidad
• Modificabiliad: facilidad de introducir cambios.
• Factoreo: una sola vez y luego rehusar.
• Localidad: el efecto de una característica se restringirse a una
porción local del programa.
Eficiencia
• Tiempo y Espacio
• Esfuerzo humano
• Optimizable
¿Qué hace un Lenguaje Bueno?
• Naturalidad de la aplicación
• La estructura del programa refleja la estructura lógica del
algoritmo.
• Cada lenguaje generalmente se especializa en un campo de acción
determinado y es más fácil resolver ciertos problemas con él.
• Facilidad de verificación
• Debe proveer una manera de corroborar que el programa
efectivamente realiza su tarea.
• Una sintaxis sencilla facilita la verificación.
¿Qué hace un Lenguaje Bueno?
• Ambiente de programación
• Debe contar con un entorno que facilite la programación en el
lenguaje.
• Generalmente lenguajes no tan buenos, pero que tienen un buen
entorno de programación, son más usados en el mercado.
• Portabilidad
• Que tan fácil se puede transportar la aplicación de la máquina en
que se desarrolló a otras máquinas donde va a ser ejecutada.
• El mejor ejemplo de esto es programación para Internet.
¿Qué hace un Lenguaje Bueno?
• Costo de uso
• Costo de ejecución
• Costo de traducción
• Costo de creación, prueba y uso
• Costo de mantenimiento
Resolución de Problemas
La resolución de problemas utilizando como herramienta una
computadora no se resume únicamente en la escritura de un programa,
sino que se trata de una tarea más compleja. El proceso abarca todos los
aspectos que van desde interpretar las necesidades del usuario hasta
verificar que la respuesta brindada es correcta. Las etapas son las
siguientes:
Ejemplo 6:
Desarrolle un algoritmo que describa la manera en que Ud. se
levanta todas las mañanas para ir al trabajo.
Pre y Postcondiciones de un Algoritmo
3. Calcular el numero de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la formula es:
numero de pulsaciones = (220 - edad)/10
miNumero = 5;
int miNumero = 5;
Variables en C#
Estructuras de Control:
1. Selección
2. Repetición
Iniciando una Solución en C#
PROBLEMAS SOLUCIONES
UN PROYECTO UN NAMESPACE
Categoría Operadores
Aritmético +-*/%
Lógico ! && ||
Concatenación +
Incremento, decremento ++ --
Relacional == != < > <= >=
Asignación =
Indexación []
Conversión ()
Acceso a Miembro .