You are on page 1of 11

Lenguajes de Programacin

Paradigmas de Programacin
Definicin: Es un idioma
artificial para expresar
instrucciones que pueden ser
ejecutadas por las
computadoras.

Evolucin
Cdigo mquina
(binarios)

Lenguajes de
programacin
interpretes
Lenguajes de
programacin
compilables

Programacin Imperativa

Bajo Nivel: es el que


proporciona poca o
ninguna abstraccin
del microprocesador
de una
computadora.
Consecuentemente
es fcilmente
trasladado a lenguaje
de mquina.

Describe la programacin
en trminos del estado del
programa y sentencias que
cambian dicho estado. Los
programas imperativos son
un conjunto de
instrucciones que le indican
a la computadora cmo
realizar una tarea.

Alto Nivel: se
caracterizan por
expresar los
algoritmos de una
forma adecuada a la
capacidad cognitiva
humana, en lugar de
a la capacidad
ejecutora de las
mquinas.
c o mp r e n d e n

Lenguajes
visuales

Claro, legible,
natural, eficiente,
portable, expresivo,
sencillo, compatible,
portable.

Mtodos para la
construccin de programas

Medio Nivel: es un
lenguaje de
programacin como
el lenguaje C, que se
encuentran entre los
lenguajes de alto
nivel y los lenguajes
de bajo nivel.

Ensambladores

Caractersticas

Tipos

semntica
Sintaxis
Es la estructura
de una gramtica.
Reglas y principios
para formar
expresiones.
Forma en la que
se debe escribir
un enunciado.

Es la
interpretacin
de las
expresiones

Programacin Declarativa
Se basa en el desarrollo de
programas "declarando" un
conjunto de condiciones,
proposiciones, afirmaciones,
restricciones, ecuaciones o
transformaciones que describen
un problema pero no las
instrucciones necesarias para
resolverlo. La solucin se
obtiene mediante mecanismos
internos..

Declarativa

Pseudocdigo

Procedural

Basic, ADA

Funcional

Estructurada

Turbo-basic,
pascal

Lgica

Orientada a
objetos

C++, Smalltalk

Orientada a
eventos

Visual Basic

Orientada a
aspectos

Java

Lisp, ML, Haskell


Prolog

Lenguajes de
Representacin y
Consulta
Representacin:
Son lenguajes
que describen
documentos

XML, HTML,
PDF, LATEX

Consulta:
lenguajes para
realizar consultas
a bases de datos
o sistemas de
recuperacin de
informacin

SQL, CQL,
YQL

1. Estilo de Programaci n
Definicin: Son una serie de
convenciones que se siguen
al desarrollar cdigo fuente
en algn lenguaje de
programacin.

Tipos
Estilo K & R

Es el ms usado en el lenguaje C y PHP.


Se debe a Brian W. Kerninghan y Dennis M.
Ritchie.
Se trata de abrir la llave en la misma lnea de
declaracin de la orden, indentando los
siguientes pasos al mismo nivel que la llave y
cerrando la llave en el mismo nivel que la
declaracin.

Estilo Allman

Se debe a Eric Allman


Se trata de crear una nueva lnea para las
llaves e indentar el cdigo debajo de ellas. La
llave de cierre tiene el mismo indentado que
la de inicio.

Estilo
Whitesmiths

Coloca llaves asociadas con las instrucciones


de control indentada en la siguiente lnea.

Componentes a
considerar:
Expresividad
Estructura

Robustez

Un buen estilo debe


contener

Documentacin
del programa
Estilo GNU

coloca una llave sobre la siguiente lnea. Las


llaves son indentadas por 2 espacios, y el
cdigo que contiene indentado por 2 espacios
adicionales.

Extensibilidad.
Verificabilidad.
Reparabilidad.
Capacidad de
evolucin.

Estilo de Programaci n
NOTACIONES
CAMELCASE

Las palabras se unen sin espacios y se capitalizan.


La primera letra de cada palabra en maysculas, el
resto en minsculas.

UpperCamelCase, CamelCase, o PascalCase: la


primera letra es mayscula: DosPalabras.

HUNGARA

Est basada en Camel.


Est dada por una secuencia de letras en
minscula que indica alguna caracterstica del
identificador.

Ejemplos:
fpPrecio : Precio es una variable de punto flotante

lowerCamelCase, camelCase, o dromedaryCase: la


primera letra es minscula: dosPalabras.

En el lenguaje JAVA se usa la notacin


CamelCase en identificadores para clases, y
dromedaryCase para mtodos y variables.

rgEstudiantes : Estudiantes es una variable del tipo arreglo


rgfpBalances : Balances es un arreglo de punto flotante

Forma Bsica
If (condicion) sentencia;

Estilo Whitesmith (uno de los primeros compiladores de C)


if(condicion)
{
sentencia0;
sentencia1;
}

Estilo GNU
if(condicion)
{
sentencia0;
sentencia1;
}

Estilo Allman
if(condicion)
{
sentencia0;
sentencia1;
}

Estilo K & R
if(condicion) {
sentencia0;
sentencia1;
}

Convenciones usadas por algunos lenguajes de programacin


Tipo
Clase
Constante
Mtodo
Namespace / Package
Propiedades
Parmetro
Variable local
Interface

PHP
PascalCase
ALL_CAPS
camelCase
small_caps (5.3x)
camelCase
camelCase
camelCase
PascalCase

C#
PascalCase
PascalCase
PascalCase
PascalCase
PascalCase
camelCase
camelCase
PascalCase

Java
PascalCase
ALL_CAPS
camelCase
small_caps
camelCase
camelCase
camelCase
PascalCase

2. Evaluacin de Expresio nes


Numricos : (enteros, reales, etc.)
Lgicos: (boleanos)

simples

Alfanumricos: (cadenas)

Tipos de Datos

Arreglos : (vectores, matrices)


Registros: (bases de datos)
estructurados

Archivos.
Punteros.

expresin

operandos

operadores

aritmticos

constantes
variables
funciones

Forma general

operandos

constantes
variables
funciones

relacionales

[]

> < =
lgicos
not and or

()

valor
a + 5*b
(a >= 0) and ((b+5) > 10)
-z
-a * 2 + b
-b + sqrt(b**2 - 4*a*c)
length(s) > 0

2. Evaluacin de Expresio nes


Son el mtodo fundamental que tiene el
programador de expresar clculos.

expresin

operandos

operadores

operandos

valor

Se evalan de acuerdo con la jerarqua de


los operadores.

UNARIOS

Slo tienen un operando. Son operadores prefijos.


usan el formato <operador> <operando>, como en "-5".

BINARIOS

Tienen dos operandos. Son operadores infijos.


usan el formato operando_izquierdo> <operador>
<operando_derecho>, como en "a + b"

TERNARIOS

Tienen tres operandos. La estructura del operador ternario es la siguiente


(en Java):
resultado = (condicion)?valor1:valor2
Donde a la variable resultado recibir el valor1 en el caso de que la
condicin sea true o bien el valor2 en el caso de que la condicin sea false.
Ejemplo: para calcular el mayor de dos nmeros se tiene el cdigo:
mayor = ( x > y )? x : y ;

2. Evaluacin de Expresio nes


Son el mtodo fundamental que tiene el
programador de expresar clculos.

expresin

Se evalan de acuerdo con la jerarqua de


los operadores.

reglas

DE PRECEDENCIA

DE ASOCIATIVIDAD

var mySum:Number;
mySum = 2 + 4 * 3;
trace(mySum); // 14

trace(3 > 2 < 1); // false


trace((3 > 2) < 1); // false

var mySum:Number;
var myOtherSum:Number;
mySum = 2 * 4 * 3;
myOtherSum = (2 * 4) * 3;
trace(mySum); // 24
trace(myOtherSum); // 24

Todas las expresiones entre parntesis se evalan primero.


DE USO DE PARENTESIS

Las expresiones con parntesis anidados se evalan de adentro hacia


afuera, el parntesis mas interno se evala primero.

2. Evaluacin de Expresio nes

2. Evaluacin de Expresio nes


Ejercicios : aplicar las reglas de precedencia y
asociatividad a las siguientes expresiones