Download Clase 2 (PPS)
Document related concepts
Transcript
Unidad II – ALGORITMOS Y LENGUAJES Computación y Cálculo Numérico UNIDAD II: ALGORITMOS Y LENGUAJES Hemos visto: • Computación e Informática: definiciones. • Entidades Sistema Informático: hardware, software y peopleware. • Sistema Operativo, Aplicaciones y Sistemas de Desarrollo. Veremos hoy: • Algoritmos y Lenguajes (FORTRAN). Licenciatura en Física – Departamento de Física - ECEN Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES Computación y Cálculo Numérico Turner, P.A. SISTEMAS INFORMÁTICOS – ENTIDAD LÓGICA SOFTWARE Nos proponemos desarrollar programas que implementen métodos numéricos para la resolución de problemas. Esas son nuestras: APLICACIONES LENGUAJE FORTRAN SEUDOCODIGO SISTEMA DESARROLLO (LENGUAJE) máquina, bajo, alto alto imperativo, objeto imperativo, objeto interprete, compilado compilado Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES CONCEPTO DE PROGRAMA DEFINICIÓN PROGRAMA Serie de instrucciones que indican de forma precisa y exacta al computador qué tiene que hacer. LENGUAJES DE PROGRAMACIÓN La comunicación con el computador se realiza utilizando un lenguaje determinado, un lenguaje de programación. Semántica se refiere a lo que se puede decir (contenido). Sintaxis se refiere a como hay que decirlo (continente). PASOS PARA CREAR UN PROGRAMA 1. 2. 3. 4. Generación del algoritmo. Generación del código fuente. Compilación a objeto. Ligar las llamadas a funciones no resueltas. Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES CONCEPTO DE ALGORITMO DEFINICIÓN ALGORITMO Un conjunto finito, ordenado de reglas o instrucciones bien definidas, tal qué siguiéndolas paso a paso se obtiene la solución a un dado problema. ENTRADA INFORMACIÓN PROCESO INFORMACIÓN SALIDA INFORMACIÓN QUE BUSCAMOS: EFICAZ: EFICIENTE: resuelva el problema mínimo que debe ser. recursos utilizados memoria (espacio) y tiempo Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES INTRODUCCIÓN A LA PROGRAMACIÓN Un lenguaje de programación definimos un programa como un conjunto de sentencias. SENTENCIAS ENTENDEMOS Una sentencia es una aserción matemática o lógica. SENTENCIAS CLASIFICACIÓN • Declaración NO implican operación matemática o lógica. • Ejecutables SI implican operación matemática o lógica. • Comentario ignoradas por el computador SENTENCIAS CONSTRUCCIÓN • Datos • Instrucciones • Operadores Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES DATOS PROGRAMA OPERACIONES SOBRE DATOS DATOS ESTRUCTURAS DE DATOS DATOS PRIMITIVOS TIPOS DE DATOS PRIMITIVOS ENTEROS NUMÉRICOS REALES CARACTERES NO NUMÉRICOS LÓGICOS Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES VARIABLES Y CONSTANTES ENTENDEMOS VARIABLES Datos que pueden VARIAR su VALOR. CONSTANTES ENTENDEMOS Datos que NO pueden VARIAR su VALOR. NOMBRE Y TIPO (Datos Primitivos) VARIABLES Ej.: total, cuenta, suma, apellido. NOMBRE Y TIPO (Datos Primitivos) CONSTANTES Ej.: 1.0, CARLOS, verdadero, 67, Carlos Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Unidad II – ALGORITMOS Y LENGUAJES INSTRUCCIONES ASIGNACIÓN total = 5.0 total 5.0 total total + 1.0 Nombre_de_variable expresión ENTRADA/SALIDA leer escribir Nos referiremos a los DISPOSITIVOS POR DEFECTO (hardware): leer (desde teclado) escribir (a la pantalla – monitor) Licenciatura en Física – Departamento de Física - ECEN Turner, P.A. Computación y Cálculo Numérico Unidad II – ALGORITMOS Y LENGUAJES INSTRUCCIONES RAMIFICACIÓN CONDICIONES o o CONDICIONES DECISIONES DECISIONES REPETICIONES, Concepto de PREDICADO BUCLES o ITERACIONES REPETICIONES, BUCLES o ITERACIONES CONDICIÓN + SALTO INCONDICIONAL IR A rompe la secuencia PROGRAMACIÓN ESTRUCTURADA Licenciatura en Física – Departamento de Física - ECEN Turner, P.A. Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES OPERADORES ARITMÉTICOS Suma Resta Multiplicación División Exponenciación Resto RELACIONALES + – * / **, ^ % IN/DECREMENTO Incremento unidad Decremento unidad Igual Distinto Mayor Menor Mayor o igual Menor o igual == != > < >= <= LÓGICOS ++ –– “y” lógico “o” lógico “no” lógico PRECEDENCIA Licenciatura en Física – Departamento de Física - ECEN && II ! Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES INTRODUCCIÓN A LA PROGRAMACIÓN Tenemos los elementos del LENGUAJE: DATOS, INSTRUCCIONES y OPERADORES. ¿Dado un PROBLEMA, definido el ALGORITMO como vamos a construir el PROGRAMA? Teorema de la ESTRUCTURA Todo programa con un único punto de entrada y un único punto de salida, cuyas sentencias se alcancen en algún momento y que no posea bucles infinitos (PROGRAMA PROPIO) se puede construir con tres constructores elementales: SECUENCIA, SELECCIÓN y BUCLE. Licenciatura en Física – Departamento de Física - ECEN Computación y Cálculo Numérico Turner, P.A. Unidad II – ALGORITMOS Y LENGUAJES Clasificaciones: Manera de ejecutar una aplicación • Intérpretes: existe un proceso adicional al programa, que se encarga de ir traduciendo las sentencias del programa a lenguaje de máquina. • Compiladores: el proceso de traducción a código de máquina se realiza antes de la ejecución. Esto aumenta considerablemente la eficiencia, a costa de pérdida en la flexibilidad durante el desarrollo de un programa. • Ambientes de programación: Son ambientes ricos para el programador, facilitando la tarea de desarrollo, depuración y prueba de un programa. FIN Licenciatura en Física – Departamento de Física - ECEN