Vous êtes sur la page 1sur 40

Lenguajes De

Programacin:
Usos
y
Ventajas
-ProgramacinPramo Corts Vernica
Santibez Rocha Gustavo Alberto
Propedutico Maestra Estructuras

Definicin
Un lenguaje de programacin es un
lenguaje diseado para describir el
conjunto de acciones consecutivas que
un equipo debe ejecutar. Por lo tanto,
un lenguaje de programacin es un
modo prctico para que los seres
humanos puedan dar instrucciones a un
equipo.

Tipos de Lenguajes de
Programacin
Lenguaje de Mquinas

Es el lenguaje que entiende el ordenador, tambin se


le conoce como cdigo binario, que consiste en ceros
y unos. Es decir, slo utiliza 0 y 1 para codificar
VENTAJAS
accin.
cualquier
Transferir un programa a la memoria sin
necesidad de traduccin posterior.
Velocidad de ejecucin superior a cualquier otro
lenguaje de programacin
DESVENTAJAS
Dificultad grande de verificar y poner a punto a
los programas
Los programas slo son ejecutables en el mismo
procesador
No est diseado para cumplir con las necesidades del programador
Requiere un conocimiento profundo del procesador y de los
dispositivos de la computadora, adems de que es casi imposible que
un humano pueda leerlo.

Lenguaje de Bajo Nivel


Es el lenguaje ms prximo a la arquitectura
hardware. Es aquel en el que sus instrucciones
ejercen un control directo sobre el hardware y estn
condicionados por la estructura fsica de la
computadora que lo soporta.
Compiladores: Programas que traducen un cdigo
fuente, escrito en un lenguaje de alto nivel, a un
cdigo objeto escrito en lenguaje mquina. El
programa desarrollado se ejecuta tras la
compilacin.
La
fase
de
compilacin
es
independiente de la fase de ejecucin. Los
programas compilados son ms rpidos que los
interpretados.
Intrpretes: Programas que traducen el cdigo
fuente instruccin a instruccin a lenguaje mquina

Lenguaje de alto nivel


Permite al programador escribir las
instrucciones de un programa, utilizando
palabras o expresiones sintcticas muy
similares al ingls. Por ejemplo, en C se
pueden usar palabras tales como: case,
if, for, while, etc. Se encuentra ms
cercano a los programadores y usuarios.

Lenguaje de alto nivel


Los lenguajes de alto nivel, tambin denominados lenguajes
evolucionados, surgen con posterioridad a los anteriores, con los
siguientes objetivos:
Lograr independencia de la mquina, pudiendo utilizar un
mismo programa en diferentes equipos con la nica condicin
de disponer de un programa traductor o compilador, que lo
suministra el fabricante.
Aproximarse al lenguaje natural, para que el programa se
pueda escribir y leer de una forma ms sencilla, eliminando
muchas de las posibilidades de cometer errores que se daban
en el lenguaje mquina, ya que se utilizan palabras (en
ingls) en lugar de cadenas de smbolos sin ningn
significado aparente.
Incluir rutinas de uso frecuente como son las de
entrada/salida, funciones matemticas, manejo de tablas, etc

Ejemplos de lenguajes
ampliamente usados

Lenguaje imperativo y
declarativo
En
los
lenguajes
de
programacin
imperativa lo importante es la secuencia
de pasos, acciones y condiciones, para
llegar a un resultado previsible. Se basa en
estructuras, variables e instrucciones de
repeticin.
Los
lenguajes
declarativos
estn
orientados a buscar la solucin del
problema, sin preocuparse por la forma de
llegar a ello. Estn formados por un
conjunto de definiciones o ecuaciones, las
cuales describen lo que debe ser calculado,

Programacin Imperativa o
Procedural: FORTRAN

Su nombre proviene del ingls de: FORmula


TRANslator. Es un lenguaje de programacin para el
desarrollo de aplicaciones matemticas y
cientficas, fue el primer lenguaje de programacin
de alto nivel.
Es la primera que se desarrolla porque va
determinando las operaciones que hay que realizar
sobre una mquina ideal de Von Neumann. Desde
este punto de vista un programa es una secuencia
de acciones (instrucciones) que se realizan en un
cierto orden determinado por el flujo del programa.
Las estructuras para el control son generalmente
sentencias condicionales y bucles.
9

FORTRAN. Historia
Primer lenguaje de alto nivel (1957).
Desarrollado por IBM para el IBM 704.
Estaba orientado a la eficiencia en la
ejecucin.
Definicin estndar del lenguaje en el
66.
Otras versiones:
FORTRAN 77
FORTRAN 90
10

FORTRAN. Ejemplo
PROGRAMTRIVIAL
INTEGERI
I=2
IF(I=2)CALLPRINTIT
STOP
END
SUBROUTINEPRINTIT
PRINT*,HolaMundo
RETURN
END

11

FORTRAN. Caractersticas
Tipos de datos:
Numricos (enteros, reales, complejos y doble
precisin).
Booleanos (logical)
Arreglos
Cadenas de caracteres
Archivos

FORTRAN 90 ya es estructurado, y no
requiere sentencias GOTO.
Slo dos mbitos para las variables: local y
global
12

FORTRAN. Objetos de datos


Variables y constantes
FORTRAN no es sensible a maysculas y minsculas.
Los nombre de variables tienen de 6 a 31 caracteres
mximo y deben comenzar por una letra. Los
blancos son significativos.
Declaracin explicita de variables.
Enteras (I-N), el resto reales. (se modifica con
IMPLICIT).
Punteros: en los primeros FORTRAN no hay punteros
y todas las variables se almacenan en memoria
esttica. En FORTRAN 90 se declaran INTEGER,
POINTER::P.
Para memoria dinmica ALLOCATE y DEALLOCATE
13

FORTRAN. Objetos de datos


Tipos de datos estructurados
Arrays, pueden tener hasta 7 dimensiones y se guardan por
colummnas.
REAL M(20),N(-5:5)
DIMENSION I(20,20) (tipo por nomenclatura implcita)

Cadenas de caracteres, el primer carcter es el 1, el


operador // permite concatenar cadenas.
CHARACTER S*10, T*25

Almacenamiento de datos. Se usa COMMON para datos


compartidos y EQUIVALENCE cuando almacenamos una
variable con dos posibles tipos en la misma posicin de
memoria (como union en C). Se usa DATA para inicializar datos
estticos.
DATA X/1.0/,Y/3.1416/,K/20/

Tipos definidos por el usuario, con TYPE <nombre>... END


TYPE <nombre>
14

FORTRAN. Control de secuencia


EL conjunto de estructuras de control es
limitado:
Expresiones, prioridad de operadores
Enunciados

Asignacin, cuando se hace entre cadenas hay


ajuste de tamao con blancos o truncamiento.
Condicional. Permite IF <cond> ELSE IF... Para
seleccin mltiple SELECT CASE <expr>
CASE.....CASE DEFAULT.... END SELECT
Iteracin. DO....END DO
Nulo, se usa solo para la etiqueta. CONTINUE.

Control de subprogramas. CALL invoca al


subprograma y RETURN devuelve un valor al
programa llamante.
Construcciones propensas a error:15GOTO.

FORTRAN. Entrada y Salida


Tipos de archivos:
Secuenciales
De acceso directo

Comandos: READ, WRITE, PRINT, OPEN ,


CLASE, INQUIRE (propiedades o estado del
archivo) REWIND y ENDFILE (para ubicar el
puntero del fichero).
Para el tratamiento de excepciones en las
sentencias READ/WRITE se puede introducir
la posicin de la rutina de dicho
tratamiento (ERR=90).
16

FORTRAN. Subprogramas
Hay tres tipos de subprogramas:
Function, devuelven un solo valor de tipo
numrico, lgico o cadena de caracteres.
Subroutine, devuelve valores a travs de variables
no locales COMMON.
Funcin de enunciado, permite calcular una sola
expresin aritmtica o lgica.
FN(X,Y)=SIN(X)**2-COS(Y)**2

Gestin de almacenamiento.
Las variables son locales o globales (COMMON)
Recursividad: RECURSIVE FUNCTION FACTORIAL(X)
Parmetros de subprograma. Paso por referencia.
17

Abstraccin y encapsulamiento
FORTRAN. Evaluacin del lenguaje

La abstraccin es posible mediante los


subprogramas y el uso de variables COMMON,
aunque su uso es propenso a errores.
FORTRAN sigue siendo utilizado en el mbito
cientfico y es muy eficiente realizando
clculos.
La estructura del programa suele ser difcil de
entender.
En FORTRAN 90 se incluye la recursividad y la
memoria dinmica.
Las etiquetas de las sentencias ya no son
necesarias, ni el GOTO, pues se ha transformado
en un lenguaje estructurado.
18
El aspecto de los programas sigue siendo
de

MATLAB
MATLABes un lenguaje de
alto nivel y un entorno
interactivo
de
clculo
tcnico
de
altas
prestaciones para clculo
numrico y visualizacin
usado por millones de
ingenieros y cientficos en
todo
el
mundo
que
permite
explorar
y
visualizar
ideas
y

MATLAB
PRINCIPALES CARACTERSTICAS DE
MATLAB
Matlab es un programa desarrollado por
Cleve Moler en los 70s
Fue diseado para darle a sus estudiantes
acceso a LINPACK y EISCPACK sin que
tuvieran que aprender FORTRAN
Es derivado de las subrutinas de Fortran:
LINPACK y EISCPACK, sistemas lineares y de
valores propios.
Gan su popularidad con recomendaciones
ya que no era distribuido oficialmente
Fue reescrito en C en los 80s con ms
funcionalidad, lo cual inclua el trazado de

USOS
Es ms conveniente para anlisis
numricos y lgebra lineal. Es usado
frecuentemente en la comunidad de
ingeniera. Incluye funciones para:
Matrices
Anlisis esttico y de Fourier
Resolucin de ecuaciones
diferenciales

VENTAJAS
Puede comportarse como un
calculador o como un lenguaje de
programacin
Combina muy bien los clculos y la
representacin grfica.
Es relativamente fcil de aprender
Es interpretado (no compilado), por lo
que los errores son fciles de arreglar
Est optimizado para ser
relativamente rpido cuando realiza
operaciones matriciales

DESVENTAJAS
No es un lenguaje de programacin
de propsito general tal como C, C+
+ o FORTRAN
Es diseado para clculo cientfico y
no es tan bien adaptable para otras
aplicaciones
Al ser un lenguaje interpretado es
ms lento que un lenguaje
compilado como el C++
Sus comando son especficos para
uso en MATLAB, muchos de ellos no

Introduccin
Elementos bsicos del escritorio de Matlab
Command Windows: Donde se ejecutan todas las instrucciones y
programas. Se escribe la instruccin o el nombre del programa y se
da a Enter.
Command History: Muestra los ltimos comandos ejecutados en
Command Windows. Se puede recuperar el comando haciendo
doble
Current directory: Situarse en el directorio donde se va a trabajar
Help (tambin se puede usar desde comand windows)
Workspace: Para ver las variables que se estn usando y sus
dimensiones (si son matrices)
Editor del Matlab: Todos los ficheros de comandos Matlab deben
de llevar la extensin .m

Introduccin
Elementos bsicos del escritorio de Matlab

Current
directory

Command
Windows
Command
History

Nmeros y operaciones
Datos numricos:
No hace falta definir variables enteras, reales, etc. como en otros
lenguajes
Nmeros enteros: a=2
Nmeros reales: x=-35.2
Mximo de 19 cifras significativas
2.23e-3=2.23*10-3
Precisin y formatos: Por defecto tiene un formato corto, pero se
pueden usar otros
>> format long (14 cifras significativas)
>> format short (5 cifras significativas)
>> format short e (notacin exponencial)
>> format long e (notacin exponencial)
>> format rat (aproximacin racional)

Nmeros y operaciones
Datos numricos:

Son sensibles a las maysculas: x=5, X=7


Informacin sobre variables que se estn usando y sus dimensiones
(si son matrices): Workspace. Tambin tecleando
>> who
>> whos (da ms informacin)
Para eliminar alguna variable se ejecuta
>> clear variable1 variable2
Si se quieren borrar todas las variables:

>>

clear

Constantes caractersticas: pi=, NaN (not a number, 0/0),


Inf= .
Nmeros complejos: i=sqrt(-1) (slo se puede usar i o j),
z=2+i*4, z=2+4i
Cuidado con no usar luego i como contador en un
bucle trabajando con complejos.

Nmeros y operaciones
Operaciones aritmticas elementales:
Suma: +, Resta Multiplicacin: *, Divisin: /
Potencias: ^
Orden de prioridad: Potencias, divisiones y multiplicaciones y
por ltimo sumas y restas. Usar () para cambiar la prioridad

Nmeros y operaciones
Funciones de Matlab:
exp(x), log(x), log2(x) (en base 2), log10(x) (en base 10),
sqrt(x)
Funciones trigonomtricas: sin(x), cos(x), tan(x), asin(x),
acos(x), atan(x), atan2(x) (entre pi y pi)
Funciones hiperblicas: sinh(x), cosh(x), tanh(x), asinh(x),
acosh(x), atanh(x)
Otras funciones: abs(x) (valor absoluto), int(x) (parte
entera), round(x) (redondea al entero ms prximo),
sign(x) (funcin signo)
Funciones para nmeros complejos: real(z) (parte real),
imag(z) (parte imaginaria), abs(z) (mdulo), angle(z)
(ngulo), conj(z) (conjugado)

Vectores y matrices
Definicin de vectores:
Vectores fila; elementos separados por blancos o comas
>> v =[2 3 4]
Vectores columna: elementos separados por punto y
coma (;)
>> w =[2;3;4;7;9;8]
Dimensin de un vector w: length(w)
Generacin de vectores fila:
Especificando el incremento h de sus componentes
v=a:h:b
Especificando su dimensin n: linspace(a,b,n) (por
defecto n=100)
Componentes logartmicamente espaciadas
logspace(a,b,n) (n puntos logartmicamente
espaciados entre 10a y 10b. Por defecto n=50)

Vectores y matrices
Definicin de matrices:

No hace falta establecer de antemano su tamao (se puede


definir un tamao y cambiarlo posteriormente).
Las matrices se definen por filas; los elementos de una
misma fila estn separados por blancos o comas. Las filas
estn separadas por punto y coma (;).

M=[3 4 5; 6 7 8; 1 -1 0]
Matriz vaca: M=[ ];
Informacin de un elemento: M(1,3), de una fila M(2,:), de
una columna M(:,3).
Cambiar el valor de algn elemento: M(2,3)=1;
Eliminar una columna: M(:,1)=[ ], una fila: M(2,:)=[ ];

Operaciones con vectores y


matrices
Operaciones con vectores y matrices:
+ adicin o suma
sustraccin o resta
* multiplicacin matricial
.* producto elemento a elemento
^ potenciacin
.^ elevar a una potencia elemento a elemento
\ divisin-izquierda
/ divisin-derecha
./ y .\ divisin elemento a elemento
matriz traspuesta: B=A (en complejos calcula la traspuesta
conjugada, slo la traspuesta es B=A.)

Funciones para vectores y


Funciones de matlab para vectores y matrices:
matrices
sum(v) suma los elementos de un vector

prod(v) producto de los elementos de un vector


dot(v,w) producto escalar de vectores
cross(v,w) producto vectorial de vectores
mean(v) (hace la media)
diff(v) (vector cuyos elementos son la resta de los elemento de v)
[y,k]=max(v) valor mximo de las componentes de un vector (k
indica la posicin), min(v) (valor mnimo). El valor mximo de una
matriz M se obtendra como max(max(M)) y el mnimo
min(min(v))
Aplicadas algunas de estas funciones a matrices, realizan dichas
operaciones por columnas.

Funciones para vectores y


Funciones de Matlab para vectores y matrices
matrices
[n,m]=size(M) te da el nmero de filas y columnas
matriz inversa: B=inv(M), rango: rank(M)
diag(M): Obtencion de la diagonal de una matriz.
sum(diag(M)) calcula la traza de la matriz A. diag(M,k)
busca la k-sima diagonal.
norm(M) norma de una matriz (mximo de los valores
absolutos de los elementos de A)
flipud(M) reordena la matriz, haciendo la simtrica respecto
de un eje horizontal. fliplr(M) ) reordena la matriz,
haciendo la simtrica respecto de un eje vertical
[V, landa]=eig(M) da una matriz diagonal landa con los
autovalores y otra V cuyas columnas son los autovectores
de M

Grficos 2D y 3D
Funciones de Matlab para grficos 2D y 3D
Imprimir grficos: Print (botn File en ventana grfica)
Guardar grficos: Save (botn File en ventana grfica): Se
crea un fichero .fig que podr volver a editarse y modificarse
Exportar grficos: Export (botn File en ventana grfica)
figure(n): Llamar una nueva figura o referirnos a una figura
ya hecha
close all borra todas las figuras, close(figure(n)) una en
concreto

Programacin
Ficheros de Matlab
Ficheros de programa: Se construyen mediante una
secuencia de comandos. El fichero principal se llamar
main_nombre.m
Ficheros de funcin: para crear funciones propias. Son
llamados por los ficheros de programa.
La primera lnea es ejecutable y empieza por la palabra
function de la forma:
function arg_salida=funcion_nombre(arg_entrada,
parametros)
El fichero se debe guardar como funcion_nombre.m
Comandos de entrada y salida:

input: permite introducir datos:


ae=input(Teclee valor de a);
disp: muestra un texto por pantalla:
disp(El algoritmo no ha convergido)

Programacin
Estructuras de control condicionadas
Operaciones lgicas:
>, <, >=,<=,== (igual)
| (or), &(and)
~ (no), ~= (no igual)

if
end

if
else
end

if
elseif
else
end

Anlisis numrico
Integracin
1D: quad, quadl: integran una funcin en un intervalo [a,b]
quad(funcion,a,b)
2D: dblquad: integran una funcin en un intervalo
[xmin,xmax]x[ymin,ymax]
dblquad('y*sin(x)+x*cos(y)',xmin,xmax,ymin,ymax)

Lenguaje C
Es el lenguaje de programacin de propsito
general asociado al sistema operativo UNIX
VENTAJAS
Es un lenguaje de medio nivel. Trata con objetos
bsicos como caracteres, nmeros . . . ; tambin
con bits y direcciones de memoria
Posee una gran portabilidad
No es rgido en la comprobacin de tipos de datos,
permitiendo fcilmente la conversin entre
diferentes tipos de datos y la asignacin entre tipos
de datos diferentes
USOS
Se utiliza para la programacin de sistemas:
construccin de intrpretes, compiladores, editores
de texto, etc.

Bibliografa
http://
es.ccm.net/contents/304-lenguajes-de-programacion
https://juanpdiazhernandez.wordpress.com/anuncios/
http://
avecomputointe.blogspot.mx/2012/04/que-es-un-lenguaje
-de-programacion-un.html
https://
es.wikipedia.org/wiki/M%C3%A1quina_de_von_Neumann