Download Clase 2 (PPS)

Document related concepts

J (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

Little man computer wikipedia , lookup

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