Clase 4, Introducción a la Programación

Anuncio
Computación 1
Introducción a la
Programación
Contenido
Programas
●
Algoritmos
●
Lenguajes de Programación
●
Compilación e Interpretación
●
31/03/16
Computación 1 - Clase 4
2
Programas - ¿Qué son?
Un PROGRAMA es un conjunto de
instrucciones que se ejecutan en
un computador para realizar una
tarea especifica.
31/03/16
Computación 1 - Clase 4
3
Otras definiciones
PROGRAMACIÓN:
proceso de diseñar, codificar, depurar
y mantener el código fuente de
programas de computadora.
31/03/16
Computación 1 - Clase 4
4
Otras definiciones(II)
ALGORITMO:
secuencia no ambigua, finita y
ordenada de instrucciones que han de
seguirse para resolver un problema.
“un método para resolver un problema”
31/03/16
Computación 1 - Clase 4
5
PROGRAMA
IMPLEMENTA
ALGORITMO
PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS
31/03/16
Computación 1 - Clase 4
6
Resolución de un problema
1)Diseño del algoritmo, describe la secuencia ordenada de pasos,
sin ambigüedades, que conducen a la solución de un problema
dado. (Análisis del problema y desarrollo del algoritmo).
2)Expresar el algoritmo como un programa en un lenguaje de
programación adecuado. (Fase de codificación).
3)Ejecución y validación del programa por computadora.
31/03/16
Computación 1 - Clase 4
7
Resolución de un problema(II)
●
●
Para llegar a la resolución de un problema es
necesario el diseño previo de un algoritmo, de
modo que sin algoritmo no puede existir un
programa.
Los algoritmos son independientes tanto del
lenguaje de programación en que se expresan
como de la computadora que los ejecuta.
31/03/16
Computación 1 - Clase 4
8
Algoritmo - Representación
inicio
Seudocodigo
Toma de datos
Condición
NO
SI
Tarea 1
Diagrama de Flujo
Inicio
Inicio
•
Paso
•
Paso11
•
Paso
•
Paso22
•
Paso
•
Paso33
•
Paso
•
Paso44
•
Paso
•
Paso55
•
....
•
....
•
Paso
•
Pasonn
Fin
Fin
Tarea 2
31/03/16
Computación 1 - Clase 4
9
Lenguajes de programación
Definición genérica de lenguaje:
“conjunto de símbolos y reglas acerca de
cómo se organizan esos símbolos”.
●
Los procesadores de las computadoras
tienen su lenguaje “de máquina”
también llamado “binario”.
●
Un lenguaje de programación nos permite
transcribir un algoritmo en un conjunto
de instrucciones precisas.
●
31/03/16
Computación 1 - Clase 4
10
Lenguajes de máquina
●
●
●
Las computadoras tienen su propio lenguaje, conocido como
lenguaje binario o de máquina, el cual es ejecutado directamente
por los circuitos electrónicos que ellas poseen.
Cada arquitectura de máquina tiene pues un lenguaje de máquina
propio, ya que cada empresa diseña los circuitos según su capacidad
tecnológica y el destino final del producto que crea.
Los lenguajes de máquina son sumamente engorrosos y primitivos,
para utilizarlos hay que concentrarse mucho en el lenguaje y en la
arquitectura de la máquina.
31/03/16
Computación 1 - Clase 4
11
Lenguajes de programación
y de máquina
Instrucciones
31/03/16
Lenguaje de
Programación
Computación 1 - Clase 4
Lenguaje de
Máquina
12
Ejemplos
Científicos: FORTRAN, BASIC, Matlab, Octave
●
Comerciales: Cobol, PL/SQL (Oracle)
●
Objetivos genéricos: C, C++, Java
●
Simulación: SIMULA, GAMS
●
Generación de animaciones: FLASH (Macromedia)
●
Web: PHP, ASP, JSP, Javascript
●
Otros paradigmas: Funcionales, Lógicos
●
31/03/16
Computación 1 - Clase 4
13
Compilación e Interpretación
Se traduce de lenguaje de programación
lenguaje de máquina, dos estrategias:
●
Compilar
●
Interpretar
31/03/16
Computación 1 - Clase 4
14
Compilación
Código
Código
Fuente
Fuente
Programador
Programa
Programa
ejecutable
ejecutable
…
…
1001011100
1001011100
0100101111
0100101111
…
…
31/03/16
Compilador
Código
Código
máquina
máquina
Bibliotecas
Bibliotecas
de
decódigo
código
binario
binario
Encadenador
Computación 1 - Clase 4
15
Compilación - Desventajas
Binarios muy grandes para cargar en la
memoria RAM
●
Bibliotecas dinámicas
●
DLL – Dynamic Link Library
●
dso/so
dso/ – (Dynamic) Shared Objects
●
31/03/16
Computación 1 - Clase 4
16
Interpretación
Lee
sentencia
Analiza
No
OK
Si OK
Mensaje de error
Ejecuta
Espera/Lee
próxima
sentencia
31/03/16
Computación 1 - Clase 4
17
Compilados / Interpretados
Sentencias del
programa
Programa ejecutable
Intérprete
Sistema Operativo
Sistema Operativo
HARDWARE
31/03/16
Programa
compilado
HARDWARE
Programa interpretado
Computación 1 - Clase 4
18
Compilados vs. Interpretados
Interpretados
●
Más lentos al
ejecutar (hay que
interpretar cada vez)
●
El programa es
válido para cualquier
plataforma con el
intérprete
●
Más fácil para
modelar y hacer
análisis de datos
rápidos
Computación 1 - Clase 4
19
Compilados
●
Más rápidos al
ejecutar (se ejecutan
en el procesador)
●
Un código ejecutable
para cada
plataforma
●
No es cómodo para
modelar cuando no
se tiene un
algoritmo
31/03/16
Octave
Entorno para realizar cálculos
numéricos
●
Lenguaje de programación de alto
nivel
●
Compatible con Matlab
●
Página web:
https://www.gnu.org/software/octave/
●
31/03/16
Computación 1 - Clase 4
20
Octave - Entorno interactivo
●
Interacción con el usuario
Consola
 Ejecución de comandos o “programas”
 Respuesta inmediata a los comandos
 Lenguaje estructurado y sintaxis
apropiada a problemas técnicos

31/03/16
Computación 1 - Clase 4
21
Octave - Entorno interactivo (II)
●
●
Programas que se ejecutan son
interpretados
Se programamos usando
 Funciones
 Scripts
31/03/16
Computación 1 - Clase 4
22
Octave - Entorno interactivo (III)
●
Se invoca ejecutando octave o usando la
interfaz gráfica correspondiente
(QtOctave)
●
Se abandona con el comando quit
●
Obtenemos ayuda con el comando help
31/03/16
Computación 1 - Clase 4
23
Octave - Entorno interactivo (IV)
31/03/16
Computación 1 - Clase 4
24
Descargar