Sunteți pe pagina 1din 6

Un lenguaje de programacin es un lenguaje formal diseado para expresar procesos que

pueden ser llevados a cabo por mquinas como las computadoras.


La programacin estructurada es un paradigma de programacin orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando
nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch) e iteracin
(bucles for y while), considerando innecesario y contraproducente el uso de la instruccin
de transferencia incondicional (GOTO), que podra conducir a "cdigo espagueti", que es
mucho ms difcil de seguir y de mantener, y era la causa de muchos errores de
programacin.
La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un
paradigma de programacin que usa los objetos en sus interacciones, para disear
aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo
herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se
populariz a principios de la dcada de los aos 1990. En la actualidad, existe una gran
variedad de lenguajes de programacin que soportan la orientacin a objetos.

La POO ( Programacin Orientada a Objetos) se puede definir como un mtodo de


implementacin en el que los programas se organizan como colecciones cooperativas de
objetos, cada uno de los cuales representan una instancia de alguna clase, y cuyas clases
son todas miembros de una jerarqua de clases unidas mediante relaciones de herencia.
Existen tres importantes partes en la definicin: la programacin orientada a objetos 1)
utiliza objetos, no algoritmos, como bloques de construccin lgicos; 2) cada objeto es
una instancia de una clase; 3) las clases se relacionan unas con otras por medio de
relaciones de herencia.
Es importante remarcar que si alguna de estas caractersticas no se cumple no se trata de
programacin orientada a objetos. Por ejemplo, la programacin si herencia es distinta de
la POO y se le denomina programacin con tipos abstractos de datos o programacin
basada en objetos. Por ejemplo, en las primeras versiones de PowerBuilder ( I, II y III ) no
se trataba de un lenguaje totalmente orientado a objetos ya que no se podan heredar
clases, as que fue denominado un LPBO ( Lenguaje de Programacin Basado en Objetos).
No fue hasta la versin IV que paso a ser un LPOO ( Lenguaje de programacin Orientado
a Objetos).
Los conceptos fundamentales de la POO son: objetos, clases, herencia, mensajes y
polimorfismo.

C++: es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne
Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de
programacin C con mecanismos que permitan la manipulacin de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje hbrido.
Posteriormente se aadieron facilidades de programacin genrica, que se sum a los
otros dos paradigmas que ya estaban admitidos (programacin estructurada y la
programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de
programacin multiparadigma.
Actualmente existe un estndar, denominado ISO C++, al que se han adherido la mayora
de los fabricantes de compiladores ms modernos. Existen tambin algunos intrpretes,
tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear
nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue
utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado el
nombre "C con clases". En C++, la expresin "C++" significa "incremento de C" y se refiere
a que C++ es una extensin de C.
#include <iostream>
using namespace std;
int main()
{
cout << "Hola mundo" << std::endl;
cin.get();
}

Estructuras de repeticin o lazos o bucles


los Lazos tienen como objetivo repetir un extracto un cierto nmero de veces o mientras
una condicin sea cumplida.
El lazo while. (repita mientras)
Su formato es:
while (expresin) extracto

y su funcin es simplemente repetir el extracto mientras (while) la expresin sea


verdadera.
Por ejemplo, vamos a hacer un programa de cuenta regresiva usando un bucle while:

// custom countdown using while


#include <iostream>
using namespace std;
int main ()
{
int n;
cout << "Enter the starting number > ";
cin >> n;
while (n>0) {
cout << n << ", ";
--n;
}
cout << "FIRE!";
return 0;
}

La instruccion break.
Usando break podemos dejar un bucle incluso si su condicion de parada no esta
satisfecha. Puede ser usada para finalizar un lazo infinito, o forzar su finalizacion
antes de final natural. Por ejemplo, vamos a parar la cuenta regresiva antes de su
finalizacion natural (una falla del motor posiblemente):
// break loop example
#include <iostream>
using namespace std;
int main ()
{
int n;
for (n=10; n>0; n--) {
cout << n << ", ";
if (n==3)
{
cout << "countdown
aborted!";
break;
}
}
return 0;
}

10, 9, 8, 7, 6, 5, 4, 3,
countdown aborted!

La instruccion continue.
La instruccion continue causa que el programa salte el resto del extracto dentro del
bucle en la iteracion actual asi como si el final del extracto o bloque de
instruccion es haya sido alcanzado, provocando el salto a la siguiente iteracion. Por
ejemplo, vamos a saltar el numero 5 en nuestra cuenta regresiva:
// break loop example
#include <iostream>
using namespace std;
int main ()
{
for (int n=10; n>0; n--) {
if (n==5) continue;
cout << n << ", ";
}

10, 9, 8, 7, 6, 4, 3, 2, 1,
FIRE!

cout << "FIRE!";


return 0;
}

La instruccion goto.
Esta permite hacer un salto absoluto a otro punto del programa. Usted deberia usar
esta herramienta cuidadosamente ya que su ejecucion ignora cualquier tipo de
limitacion de anidamiento.
El punto de destino es identificado por una etiqueta, la cual es luego usada como
argumento de la instruccion goto. Una etiqueta consiste de un identificador valido
seguido por dos puntos (:).
Esta instruccion no tiene una utilidad concreta en programacion estructurada o
programacion orientada por objetos mas alla de la que aquellos fans de la
programacion de bajo nivel puedan encontrarle. Por ejemplo, aqui esta nuestra
cuenta regresiva usando goto:
// goto loop example
#include <iostream>
using namespace std;
int main ()
{
int n=10;
loop:
cout << n << ", ";
n--;
if (n>0) goto loop;
cout << "FIRE!";
return 0;
}

10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
FIRE!

La funcion exit.
exit es una funcion definida en la biblioteca cstdlib (stdlib.h).
El proposito de exit es terminar el programa que esta corriendo con un codigo
especifico de salida. Su prototipo es:
void exit (int exit code);

El exit code es usado por algunos sistemas operativos y puede ser usado por
llamadas de programas. Por convencion, un exit code de 0 significa que el
programa finalizo normalmente y cualquier otro valor significa que ocurrio un error.

La estructura selectiva: switch.


La sintaxis de la instruccion switch es un poco peculiar. Su objetivo es verificar varios
posibles valores constantes para una expresion, algo similar a lo que hicimos el principio de

esta seccion con el encadenamiento de varias sentencias if y else if. Su forma es la


siguiente:
switch (expresion) {
case constante1:
bloque de instruciones 1
break;
case constante2:
bloque de instrucciones 2
break;
.
.
.
default:
bloque de instrucciones por omision
}

Esto trabaja de la siguiente manera: switch evalua expresion y verifica si el valor de este
es equivalente a la constante1, si es asi, el ejecuta el bloque de instrucciones 1 hasta
que encuentre la palabre reservada break, luego el programa saltara al final de la estructura
selectiva switch.
Si expression no era igual a constante1 esta revisara si expresion es equivalente a
constante2. Si lo es, se ejecutara el bloque de instrucciones 2 hasta que encuentre la
palabra reservada break.
Finalmente, si el valor de expresion no ha concordado con ninguna de las constantes
especificadas previamente (se puede especificar tantas sentencias case como valores se
quiera verificar), el programa ejecutara las instrucciones incluidas en la seccion default:, si
esta existe, ya que es opcional.
Ambos de los siguientes fragmentos de codigo son equivalentes:
ejemplo de switch
switch (x) {
case 1:
cout << "x is 1";
break;
case 2:
cout << "x is 2";
break;
default:
cout << "value of x
unknown";
}

equivalente if-else
if (x == 1) {
cout << "x is 1";
}
else if (x == 2) {
cout << "x is 2";
}
else {
cout << "value of x unknown";
}

Hemos comentado anteriormente que la sintaxis de la instruccion switch es un poco


peculiar. Note la inclusion de las instrucciones break al final de cada bloque. Esto es
necesario porque si, por ejemplo, no hubiesemos incluido esta al final del bloque de
instrucciones 1 el programa no hibiese saltado al final del bloque de la estructura
selectiva switch (}) y esta hubiese continuado ejecutando el resto de los bloques de
instrucciones hasta la primera aparicion de la instruccio break o hasta el final del bloque de
la estructura selectiva switch. Esto hace que sea innecesario incluir llaves { } en cada uno

de los casos, y esto puede ser muy util para ejecutar el mismo bloque de instrucciones para
diferentes posibles valores de la expresion evaluada. Por ejemplo:
switch (x) {
case 1:
case 2:
case 3:
cout << "x is 1, 2 or 3";
break;
default:
cout << "x is not 1, 2 nor 3";
}

Note que switch solo puede ser usada para comparar una expresion con diferentes
constantes. Debido a esto no podemos colocar variables (case (n*2):) o rangos (case
(1..3):) porque estas no son constantes validas.
Si necesita revisar rangos o valores que no son constanes usa concatenacion de sentencias
if y else if.

S-ar putea să vă placă și