Você está na página 1de 25

Qu es la programacin?

Se conoce como programacin de computadores a la implementacin de un


algoritmo en un determinado lenguaje de programacin, conformando un programa.
Mientras que un algoritmo se ejecuta en una mquina abstracta que no tiene
limitaciones de memoria o tiempo, un programa se ejecuta en una mquina real,
que s tiene esas limitaciones. El lenguaje de programacin puede ser de alto nivel,
medio nivel o bajo nivel, en funcin del grado de abstraccin.
Programas y algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que
han de seguirse para resolver un problema. Un programa normalmente implementa
(traduce a un lenguaje de programacin concreto) un algoritmo. Ntese que es la
secuencia de instrucciones en s la que debe ser finita, no el nmero de pasos
realizados como la ejecucin de ellas.
Los programas suelen subdividirse en partes menores (mdulos), de modo que la
complejidad algortmica de cada una de las partes sea menor que la del programa
completo, lo cual ayuda al desarrollo del programa.Segn Niklaus Wirth un programa
est formado por algoritmos y estructura de datos.Se han propuesto diversas
tcnicas de programacin, cuyo objetivo es mejorar tanto el proceso de creacin de
software como su mantenimiento. Entre ellas se pueden mencionar las
programaciones lineal, estructurada, modular y orientada a objetos.
Compilacin
El programa escrito en un lenguaje de programacin (comprensible por el ser
humano, aunque se suelen corresponder con lenguajes formales descritos por
gramticas independientes del contexto) no es inmediatamente ejecutado en una
computadora. La opcin ms comn es compilar el programa, aunque tambin
puede ser ejecutado mediante un intrprete informticoEl cdigo fuente del
programa se debe someter a un proceso de transformacin para convertirse en
lenguaje mquina, interpretable por el procesador. A este proceso se le llama
compilacin.
Normalmente la creacin de un programa ejecutable (un tpico.exe para Microsoft
Windows) conlleva dos pasos. El primer paso se llama compilacin (propiamente
dicho) y traduce el cdigo fuente escrito en un lenguaje de programacin
almacenado en un archivo a cdigo en bajo nivel, (normalmente en cdigo objeto no
directamente al lenguaje mquina). El segundo paso se llama enlazado (del
ingls link o linker) se junta el cdigo de bajo nivel generado de todos los ficheros
que se han mandado compilar y se aade el cdigo de las funciones que hay en las
bibliotecas del compilador para que el ejecutable pueda comunicarse con el
sistemas operativo y traduce el cdigo objeto a cdigo mquina.
Estos dos pasos se pueden mandar hacer por separado, almacenando el resultado
de la fase de compilacin en archivos objetos (un tpico.obj para Microsoft
Windows,.o para Unix), para enlazarlos posteriormente, o crear directamente el
ejecutable con lo que la fase de compilacin se almacena slo temporalmente. Un
programa podra tener partes escritas en varios lenguajes (generalmente C, C++ y
Asm), que se podran compilar de forma independiente y enlazar juntas para formar

un nico ejecutable.
Programacin e ingeniera del software
Existe una tendencia a identificar el proceso de creacin de un programa informtico
con la programacin, que es cierta cuando se trata de programas pequeos para
uso personal, y que dista de la realidad cuando se trata de grandes proyectos.
El proceso de creacin de software desde el punto de vista de la Ingeniera tiene los
siguientes pasos:
1. Reconocer la necesidad de un programa para solucionar un problema
identificar la posibilidad de automatizacin de una tarea.
2. Recoger los requisitos del programa. Debe quedar claro qu es lo que debe hacer
el programa y para qu se necesita.
3. Realizar el anlisis de los requisitos del programa. Debe quedar claro cmo debe
realizar el programa las cosas que debe hacer. Las pruebas que comprueben la
validez del programa se pueden especificar en esta fase.
4. Disear la arquitectura del programa. Se debe descomponer el programa en
partes de complejidad abordable.
5. Implementar el programa. Consiste en realizar un diseo detallado, especificando
completamente todo el funcionamiento del programa, tras lo cual la codificacin
debera resultar inmediata.
6. Implantar (instalar) el programa. Consiste en poner el programa en
funcionamiento junto con los componentes que pueda necesitar (bases de datos,
redes de comunicaciones, etc.)
La Ingeniera del Software se centra en los pasos de planificacin y diseo del
programa, mientras que antiguamente (programacin artesanal) la realizacin de un
programa consista nicamente en escribir el cdigo.
Objetivos de la programacin
La programacin de ordenadores debe perseguir tres objetivos fundamentales:
Correccin: un programa es correcto si hace lo que debe hacer. Para determinar
si un programa hace lo que debe es muy importante especificar claramente qu
debe hacer el programa antes de desarrollarlo y una vez acabado compararlo
con lo que realmente hace.
Claridad: es muy importante que el programa sea lo ms claro y legible posible
para mejorar el mantenimiento del software. Cuando se acaba de escribir el
cdigo del programa, se deben buscar errores y corregirlos. Ms concretamente,
cuando el programa est concluido, es necesario hacerle ampliaciones o
modificaciones, segn la demanda de los usuarios, esta labor puede ser llevada
acabo por el mismo programador que implement el programa o por otros.
Eficiencia: debe consumir la menor cantidad de recursos posible. Normalmente al
hablar de eficiencia se suele hacer referencia al consumo de tiempo y/o
memoria.
La eficiencia y la claridad de un programa pueden ser objetivos contrapuestos: se
puede conseguir mayor claridad sacrificando parte de la eficiencia o viceversa. Pero

hay que tener en cuenta que el tiempo del programador es caro, y que hoy en da el
precio de los ordenadores es razonable y cada vez son ms baratos.

QUE ES UN LENGUAJE DE PROGRAMACIN

Un lenguaje de programacin consiste en todos los smbolos, caracteres y reglas de uso que perm

personas "comunicarse" con las computadoras. Existen varios cientos de lenguajes y dialectos de
diferentes. Algunos se crean para una aplicacin especial, mientras que otros son herramientas d
flexibles que son apropiadas para muchos tipos de aplicaciones. En todo caso los lenguajes de pr
tener instrucciones que pertenecen a las categoras ya familiares de entrada/salida, clculo/mani
lgica/comparacin y almacenamiento / recuperacin.

Aunque todos los lenguajes de programacin tienen un conjunto de instrucciones que permiten r
operaciones, existe una marcada diferencia en los smbolos, caracteres y sintaxis de los lenguaje
lenguajes ensambladores y lenguajes de alto nivel. Son herramientas que nos permiten crear pro
Entre ellos tenemos: C#, Delphi, C, PHP, Perl, Python,Visual Basic, Pascal, Java, entre otros.

La programacin consiste en desarrollar programas para procesar informacin, se utiliza para des
de programas a pequea escala, el desarrollo de sistemas complejos se denomina ingeniera de s
computadora es totalmente intil si no dispone de un programa capaz de procesar informacin, p
dicho procesamiento de informacin habr sido necesario pensar, construir, y crear un programa
programa o aplicacin en la computadora.

Para el desarrollo de grandes sistemas informticos se divide el trabajo en tareas que diversos pr
desarrollaran, al terminar se unen las piezas para completar el sistema en s, la programacin tam
para el desarrollo de grandes sistemas en las ingenieras de software. La programacin tiene com
tratamiento de la informacin correctamente, con lo que se espera que un programa de el resulta
uno errneo.

CARACTERSTICAS:
Existen muchos lenguajes de programacin, que responden a necesidades especficas
y que poseen caractersticas y funcionalidades especficas. Por lo tanto, la eleccin del
lenguaje de programacin depende, sobre todo, de los requerimientos a satisfacer, as
como de los recursos existentes para la comprensin y la prctica del lenguaje.
Criterios de seleccin de un lenguaje de programacin.
1. Utilidad: fcil de aprender, fcil de usar por un programador experimentado
2. Rendimiento: velocidad de ejecucin de los programas, velocidad de ejecucin del

compilador.
3. Portabilidad y flexibilidad a posibilidad de desarrollar el lenguaje y su

implementacin, existencia de bibliotecas de funciones, clases, etc.


4. Continuidad: continuidad del fabricante, continuidad del lenguaje, continuidad de
implementacin, existencia de una norma internacional para definir el lenguaje,
conformidad de implementacin con respecto a la norma, existencia de varios
fabricantes para un mismo lenguaje.
Basic y Pascal que son herramientas de programacin, idneas para la inicializacin
de los programadores.
C y C++ que sirven para la programacin de sistemas.

Cobol, que es una herramienta de programacin orientada hacia sistemas de


gestin empresarial como nominas y contabilidad.
Fortran, que son lenguajes especficos para clculos matemticos y o numricos.
Herramientas de programacin para ambientes grficos como son Visual Basic,
Delphi y Visual C.
HTML y Java, que permiten la creacin de pginas WEB para Internet.
CLASIFICACIN:
Lenguajes de bajo nivel.
Son lenguajes totalmente dependientes de la mquina, es decir que el programa que
se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas,
al estar prcticamente diseados a la medida del hardware, aprovechan al mximo las
caractersticas del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la mquina las operaciones
fundamentales para su funcionamiento, consiste en la combinacin de 0's y 1's para
formar las ordenes entendibles por el hardware de la maquina, es mucho ms rpido
que los lenguajes de alto nivel, la desventaja es que son bastantes difciles de manejar
y usar, adems de tener cdigos fuente enormes donde encontrar un fallo es casi
imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y est formado por
abreviaturas de letras y nmeros llamadas mnemotcnicos, con la aparicin de este
lenguaje se crearon los programas traductores para poder pasar los programas escritos
en lenguaje ensamblador a lenguaje mquina, como ventaja con respecto al cdigo
mquina es que los cdigos fuentes eran ms cortos y los programas creados
ocupaban menos memoria, las desventajas de este lenguaje siguen siendo
prcticamente las mismas que las del lenguaje ensamblador, aadiendo la dificultad
de tener que aprender un nuevo lenguaje difcil de probar y mantener.
Lenguajes de alto nivel
Se encuentran ms cercanos al lenguaje natural que al lenguaje mquina, estn
dirigidos a solucionar problemas mediante el uso de EDDs (Estructuras Dinmicas de
Datos), son estructuras que pueden cambiar de tamao durante la ejecucin del
programa, permiten crear estructuras de datos que se adapten a las necesidades
reales de un programa, son lenguajes independientes de la arquitectura de la
computadora, es decir que en principio, un programa escrito en un lenguaje de alto
nivel, se puede migrar de una mquina a otra sin ningn tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento
interno de la maquinas para la que estn diseando el programa, solo necesitan un
traductor que entiendan el cdigo fuente como las caractersticas de la maquina,
suelen usar diferentes tipos de datos para la programacin, hay lenguajes de propsito
general y de propsito especifico.
Lenguajes de Medio nivel
Estos lenguajes se encuentran en un punto medio entre los dos anteriores, dentro de
estos lenguajes podra situarse C ya que puede acceder a los registros del sistema,

trabajar con direcciones de memoria, todas ellas caractersticas de lenguajes de bajo


nivel y a la vez realizar operaciones de alto nivel.

GENERACIONES

Primera generacin: lenguaje maquina.


Segunda generacin: se crearon los primeros lenguajes ensambladores.
Tercera generacin: se crean los primeros lenguajes de alto nivel.
Cuarta generacin: son lenguajes capaces de generar cdigo por si solos, con lo
cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje, aqu
tambin se encuentran los lenguajes orientados a objetos, haciendo posible la
reutilizacin de partes del cdigo para otros programas.
Quinta generacin: aqu se encuentran los lenguajes orientados a la inteligencia
artificial, etos lenguajes todava estn poco desarrollados.

Qu es C++
C++ es un lenguaje de programacin orientado a objetos que toma la base del
lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk. La intencin
de su creacin fue el extender al exitoso lenguaje de programacin C con mecanismos
que permitieran la manipulacin de objetos. En ese sentido, desde el punto de vista de
los lenguajes orientados a objetos, el C++ es un lenguaje hbrido [por? fusionar con el
siguiente]. 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.

Herramientas Necesarias
Las principales herramientas necesarias para escribir un programa en C++ son las
siguientes:
Un equipo ejecutando un sistema operativo.
Un compilador de C++
Windows MingW (GCC para Windows) o MSVC (compilador de microsoft con versin
gratuita)
Linux (u otros UNIX): g++
Mac (con el compilador Xcode)
Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
Windows:
Microsoft Visual C++ (conocido por sus siglas MSVC). Incluye compilador y posee una
versin gratuita (versin express)

Bloc de notas (no recomendado)


Editor Notepad++
DevCpp (incluye MingW - en desuso, no recomendado, incluye tambin un compilador)
Code::Blocks
Linux (o re-compilacin en UNIX):
Gedit
Kate
KDevelop
Code::Blocks
SciTE
GVim
Mac:
Xcode (con el compilador trae una IDE para poder programar)
Tiempo para practicar
Paciencia
Adicional
Ingls (Recomendado)
Estar familiarizado con C u otro lenguaje derivado (PHP, Python, etc).
Es recomendable tener conocimientos de C, debido a que C++ es una mejora de C,
tener los conocimientos sobre este te permitira avanzar mas rapido y comprender aun
mas. Tambien, hay que recordar que C++, admite C, por lo que se puede programar
(reutilizar), funciones de C que se puedan usar en C++. Aunque No es obligacion
aprender C, es recomendable tener nociones sobre la programacin orientada a
objetos en el caso de no tener conocimientos previos de programacin estructurada.
Asimismo, muchos programadores recomiendan no saber C para saber C++, por ser el
primero de ellos un lenguaje imperativo o procedimental y el segundo un lenguaje de
programacin orientado a objetos.
Ejemplo
/* Programa que nos permite saber si el nmero ingresado es par o no */
#include <stdio.h>
#include <conio.h>
int main ()
{
int numero;
printf ("Ingrese el valor de numero: ");
scanf ("%d", &numero);
if(numero%2 == 0)
{
printf ("\n***El numero es par\n");
}
else
{
printf ("\n***El numero es impar\n");
}
getch();

return 0
}

LIBRERIAS DE C++
En C++, se conoce como libreras (o bibliotecas) a cierto tipo de archivos que podemos
importar o incluir en nuestro programa. Estos archivos contienen las especificaciones
de diferentes funcionalidades ya construidas y utilizables que podremos agregar a
nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre
muchas otras ms. Al poder incluir estas libreras con definiciones de diferentes
funcionalidades podremos ahorrarnos gran cantidad de cosas, imaginemos por ejemplo
que cada vez que necesitemos leer por teclado, debamos entonces crear una funcin
que lo haga (algo realmente complejo), al poder contar con las libreras en C++,
podremos hacer uso de una gran variedad de funciones que nos facilitaran la vida y
aumentarn la modularidad de nuestros cdigos.
Las libreras no son nicamente archivos externos creados por otros, tambin es
posible crear nuestras propias libreras y utilizarlas en nuestros programas. Las
libreras pueden tener varias extensiones diferentes, las ms comunes son: .lib, .bpl,
.a, .dll, .h y algunas ms ya no tan comunes.

Cmo declarar una librera en C++?


Veamos a continuacin como se hara la declaracin de unas cuantas libreras
conocidas, recuerda que ese pueden declarar todas las libreras necesarias y siempre
debe hacerse al comienzo del cdigo fuente
#include "iostream"
#include "string"
#include <math.h>
#include <conio.h>
using namespace std;
Libreras Estandar de C++ (Standar Template Library o STL)
A continuacin pondr algunas de las libreras de uso ms comn de C++ y que
forman parte de las libreras estandar de este lenguaje.
fstream:

Flujos hacia/desde ficheros. Permite la manipulacin de archivos desde el programar,


tanto leer como escribir en ellos.
iosfwd:
Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs
estndar. Por ejemplo ostream.
iostream:
Parte del a STL que contiene los algoritmos estndar, es quiz la ms usada e
importante (aunque no indispensable).
La biblioteca list:
Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas
math:
Contiene los prototipos de las funciones y otras definiciones para el uso y manipulacin
de funciones matemticas.
memory:
Utilidades relativas a la gestin de memoria, incluyendo asignadores y punteros
inteligentes (auto_ptr).
"auto_ptr" es una clase que conforma la librera memory y permite un fcil manejo de
punteros y su destruccin automaticamente.
Biblioteca new:
Manejo de memoria dinmica
numeric:
Parte de la librera numrica de la STL relativa a operaciones numricas.
ostream:
Algoritmos estndar para los flujos de salida.
queue:
Parte de la STL relativa a contenedores tipo queue (colas de objetos).
Librera stdio:
Contiene los prototipos de las funciones, macros, y tipos para manipular datos de
entrada y salida.
Librera stdlib:
Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso
general.
string:
Parte de la STL relativa a contenedores tipo string; una generalizacin de las cadenas
alfanumricas para albergar cadenas de objetos. Muy til para el fcil uso de las
cadenas de caracteres, pues elimina muchas d elas dificultades que generan los char
typeinfo:
Mecanismo de identificacin de tipos en tiempo de ejecucin
vector:

Parte de la STL relativa a los contenedores tipo vector; una generalizacin de las
matrices unidimensionales C/C++
forward_list
Esta librera es til para implementar con gran facilidad listas enlazadas simples.
list
Permite implementar listas doblemente enlzadas (listas enlazadas dobles) facilmente.
iterator
Proporciona un conjunto de clases para iterar elementos.
regex
Proporciona fcil acceso al uso de expresiones regulares para la comparacin de
patrones.
thread
til para trabajar programacin multihilos y crear mltiples hilos en nuestra aplicacin.

Ejemplo 1 de libreras en C++


En el siguiente ejemplo veremos el uso de la librera stdlib.h que posee una gran
variedad de funcionalidades, para este ejemplo usaremos la funcin rand que nos
permite generar un nmero aleatorio.
#include <stdlib.h>
#include <iostream>
using namespace std;
int main ()
{
cout << ("Se va a generar un numero aleatorio ....\n");
cout << ("El numero generado es : ");
cout << rand(); //Se genera el nmero con rand y se muestra en pantalla
return 0;
}
En el anterior cdigo hemos hecho uso de dos libreras: iostream y stdlib. La librera o
biblioteca iostream, nos permitir hacer uso del cin y el cout para obtener o imprimir
valores por pantalla, respectivamente mientras stdlib nos dar acceso a la funcin
rand que generar por nosotros un nmero cualquiera.
Tipos de datos estndar C++
Todos los programas gestionan algunos tipos de informacin que normalmente
se pueden representar utilizando uno de los ocho (8) tipos de datos bsicos de C y C+
+: texto o char, valores enteros o int, valores de coma flotante o flota, valores en
como flotante de doble precisin o double (long double), enumerados o enum, sin
valor o void, punteros y booleanos.

1) Texto (tipo de dato char) est constituido por caracteres simples, como a, Z, , 3 y
cadenas, como Esto es una prueba (normalmente, de 8 bits o un byte por
carcter, con un rango de 0 a 255).
2) Los valores enteros (tipo de dato int) son aquellos nmeros que se aprendieron a
contar (1, 4, -2, 1354); normalmente, tienen un tamao de 16 bits, 2 bytes o una
palabra, con rango de -32768 a 32767. En Windows 98 y Windows NT, los valores
enteros tienen un tamao de 32 bits con un rango de -2147483648 a 2147483647.
3) Los valores en coma flotante (tipo de dato float) son nmeros que tienen una parte
fraccional, como por ejemplo pi (3,14159), y exponentes (7,5631021). Tambin se
conocen como nmeros reales (normalmente, son de 32 bits, 4 bytes o 2 palabras,
con un rango de +/-3,4E-38 a 3,4E+38).
4) Los valores en coma flotante de doble precisin (tipo de dato double) tienen un
rango superior (normalmente de 64 bits, 8 bytes 4 palabras, con un rango de 1,
7E-308 a 1, 7E+308). Los valores en coma flotante long double (doble precisin
largos) son incluso ms precisos (normalmente, tamao de 80 bits 5 palabras, con
un rango de +/-1,18E-4932 a 1,18E-4932).
5) los tipos de datos enumerados (tipo de dato enum) permiten al usuario definir tipos
de datos.
6) El tipo void se utiliza para especificar valores que ocupan cero bits y no tienen valor
(este tipo tambin se puede utilizar para la creacin de punteros genricos.
7) El tipo de dato puntero no contiene informacin en el mismo sentido que el resto de
los tipos de datos; en su lugar, cada puntero contiene la direccin de la posicin de
memoria que almacena el dato actual.
8) El tipo de dato bool, al que se le puede asignar las constantes true (verdadero) y
false (falso).
Rango de los tipos de datos

Tipo
Bool
Char
Signed char
unsigned char
short int
unsigned short int
Int
unsigned int

Tam
.
Bits
8
8
8
8
16
16
32
32

Dgitos Rango
de
Min
precisin
0
0
2
-128
2
-128
2
0
4
-32,768
4
0
9
-2,147,483,648
9
0

Max
1
127
127
255
32,767
65,535
2,147,483,647
4,294,967,295

long int
unsigned long int

32
32

9
9

long long int

64

18

unsigned long long


64
int
Floata
32
Double
64
long double
96

-2,147,483,648
0
9,223,372,036,854,775,8
08

18

6
15
18

1.17549e-38
2.22507e-308
3.3621e-4932

2,147,483,647
4,294,967,295
9,223,372,036,854,775,8
07
18,446,744,073,709,551,
615
3.40282e+38
1.79769e+308
1.18973e+4932

Variables

Es un nombre que representa el valor de un dato. Es una zona o opsicin de memoria


en la computadora donde se almacena informacin. Un objeto de datos que el
programador define y nombra explcitamente en un programa. Una variable simple es
un objeto elemental de datos con nombre. El valor o valores de una variable es
modificable por operaciones de asignacin; es decir, el enlace de objeto de datos a
valor puede cambiar durante su tiempo de vida. Las operaciones que se pueden
realizar con dos o ms valores exigen que stas sean del mismo tipo de datos. No se
puede sumar una variable carcter a otra numrica y/o viceversa.
Reglas para definicin de variables

Pueden tener hasta 40 caracteres.


Debe empezar obligatoriamente con una letra (a-z / A-Z), el resto de los dgitos
pueden ser nmeros.
No pueden contener espacios en blanco, se pueden incluir caracteres especiales
como el guin o el punto.

EJEMPLO Uso de los tipos de datos en C++


/*** Tipos.cpp
* Programa para saber el tamano de cada tipo de datos
* Pello Xabier Altadill Izura
#include <iostream.h>
int main () {
// Tamano de cada tipo
cout
cout
cout
cout
cout
cout

<<
<<
<<
<<
<<
<<

"El
"El
"El
"El
"El
"El

tamano
tamano
tamano
tamano
tamano
tamano

del
del
del
del
del
del

int es:\t\t" << sizeof(int) << " bytes.\n";


short es:\t" << sizeof(short) << " bytes.\n";
long es:\t" << sizeof(long) << " bytes.\n";
char es:\t\t" << sizeof(char) << " bytes.\n";
float es:\t\t" << sizeof(float) << " bytes.\n";
double es:\t" << sizeof(double) << " bytes.\n";

// Salida standar un mensaje


cout << "Termino el programa\n";
return 0;

/*** Constante.cpp
* Programa en el que definimos un valor constante
* Pello Xabier Altadill Izura */

#include <iostream.h>
#define MEMOLA 25
int main () {
int y = 0;
// Definimos el valor constante
const float PI = 3.1416;
cout << "El valor de PI: " << PI << endl;
// Salida standar un mensaje
cout << "\nTermino el programa : " << MEMOLA << endl;

return 0;

Estructura bsica de un programa en C++


Es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne
Stroustrup, un lenguaje de programacin C con mecanismos que permiten la
manipulacin de objetos, desde el punto de vista de los lenguajes orientados a objetos,
el C++ es un lenguaje hbrido.

INSTRUCCIN CIN (Entrada estndar cin)


C++ permite la entrada de datos a travs del flujo de entrada cin.
El objeto cin es
un objeto predefinido que corresponde al flujo de entradaestndar. Este flujo
representa los datos que proceden del teclado. El operador ">>" se denomina de
extraccin o de lectura. Toma el valor del objeto flujo de su izquierda y lo sita en la
variable situada a su derecha.

por ejemplo:
Int aos;
Cin >> aos;
La primera declaracin declara una variable de tipo int llamada aos, y el segundo
espera una entrada de cin (desde el teclado) para almacenarlo en esta variable entera.
Cin solo puede procesar la entrada del teclado una vez que la entrada de la return
haya sido presionada. Por lo tanto, incluso si usted solicita un solo carcter, la
extraccin del cin no tratara la entrada hasta que el usuario presione la tecla del return
despus que el carcter haya sido ingresado.. Usted siempre debe considerar el tipo
de la variable que estee usando como un contenedor de las extracciones cin. Si usted
solicita un nmero entero deber recibir un nmero entero, si usted solicita un carcter
y si solicita una cadena de caracteres usted deber ingresar una cadena de caracteres
ejemplo:
#include<iostream>
using namespace std;
int main()
{
//delaracion de variables
const float pi=3.1416;
float L, Radio;
//solicitar datos
cout<<"Ingresa el Radio: ";
cin>>Radio;
//efectuar operacin
L=2*pi*Radio;
//mostrar datos
cout<<"La Longitud es "<<L<<endl;
system("pause");
}

INSTRUCCIN CUOT (Salida estndar cout)


Los valores de variables se pueden enviar a la pantalla empleando cout. Es posible
enviar a la pantalla cualquier combinacin de variables y cadenas. Cout es usado
conjuntamente con el operador de insercin, que es escrito como << (dos signos
menores).
Ejemplo:
Cout << "sentencia de salida "; // imprime sentencia de salida cout << 18; // imprime
18 en pantalla
Cout << x; // imprime el contenido de x
Note que la sentencia en la primera instruccin est incluida entre dobles comillas (")
porque es una cadena de caracteres. Por ejemplo, estas dos sentencias tienen
resultados muy diferentes:
Cout << "te quiero"; // imprime te quiero

Cout << te quiero; // imprime el contenido de la variable te quiero


Note que la sentencia que la sentencia en la primera instruccin est incluida entre ()
porque es una cadena de caracteres
El operador de insercin (<<) puede ser usado ms de una vez en una sentencia
simple:
Cout << "Hola " << "yo soy " << "una sentencia C++";
(Y la pantalla muestra hola yo soy una sentencia c++.)
Algunas secuencias de escape:
\n nueva lnea
\t tabulacin horizontal.
\\ Diagonal invertida
\ comillas dobles
Ejemplo:
// Enva una lnea en blanco a la salida estndar
//(pantalla)
Otra forma de enviar un salto de lnea es la utilizacin de endl.
// Envia una lnea en blanco a la salida estndar (pantalla)
Cout << endl;

QUE ES GOTOXY Y SU FUNCION


La funcin gotoxy es una funcin de las libreras de Borland que se encuentra en la
librera conio.h .
gotoxy mueve el cursor de la ventana de texto a la posicin segn las coordenadas
especificadas por los argumentos x e y. Si las coordenadas no son vlidas entonces la
llamada a la funcin gotoxy es ignorada. Los argumentos no pueden ser 0 y
normalmente en los programas de consola las dimensiones de la pantalla son 80
caracteres horizontales por 25 lneas verticales. Se debe tener en cuenta que si se
escribe en el ltimo caracter de la lnea 25 se provoca un salto de lnea, por lo tanto
desaparecer la primera. Lo mismo ocurre si tras escribir algo en la lnea 25 o estar
situado en ella aparece un salto de lnea ('\n').
EJEMPLO
#include
#include
void main(void) {
//Declaracin de variables
int cont=0;
int posx=5, posy=1;
//Procesos y clculos
while (cont<100) {
if (cont%20==0) {

posx=posx+14;
posy=1;
}
else {
posy++;
}
//Nos situamos en la posicin posx y posy
gotoxy(posx,posy);
cout << cont;
cont++;
}
//Despedida
gotoxy(30,12);
cout << " El programa ha finalizado. Chao ";
gotoxy(30,11);
cout << " ";
gotoxy(30,13);
cout << " ";
}
La instruccin Randomize utiliza Number para inicializar el generador de nmeros
aleatorios de la funcin Rnd asignndole un nuevo valor de inicializacin. Si se
omite Number, el valor devuelto por el temporizador del sistema se utilizar como
nuevo valor de inicializacin.
Si no se emplea Randomize, la funcin Rnd (sin argumentos) utilizar el mismo
nmero como valor de inicializacin la primera vez que se le llame y ms adelante
utilizar como valor de inicializacin el ltimo nmero generado.
Para repetir secuencias de nmeros aleatorios, llame a la funcin Rnd con un
argumento negativo justo antes de utilizarRandomize con un argumento numrico. Si
utiliza Randomize con el mismo valor que Number, no se repetir la secuencia
anterior.

Estructura de seleccion if-else


El funcionamiento de esta estructura es sencillo. Se evala una condicin, si es
verdadera ejecuta un cdigo, si es falsa, ejecuta otro cdigo (o contina con la
ejecucin del programa).
if (condicin)
ejecuta esto si la condicin es verdadera
else
ejecuta esto si la condicin es falsa
Ejemplo de la estructura de seleccin if en C
int edad;

printf(Ingrese su edad: \n);


scanf(%d, &edad);
if (edad>=18)
{
printf(Usted es mayor de edad. \n);
}
else
{
printf(Usted es menor de edad. \n);
};
En este ejemplo, declaramos una variable llamada edad de tipo entero. Luego
imprimimos en pantalla Ingrese su edad, y con la funcin scanf esperamos que el
usuario ingrese un nmero entero.
Luego entra en juego la estructura de seleccin if. Si la condicin numero>=18evala
verdadero (true), se imprime en pantalla Usted es mayor de edad. En cambio, si se
evala en falso (false), se imprime en pantalla Usted es menor de edad. Luego
contina con la carga del programa.
Puede obviarse la instruccin else si se desea.
if (condicin)
{
ejecuta esto slo si la condicin es verdadera
};
La condicin siempre debe devolver un valor de verdad o falsedad. Aqu se utilizan los
operadores lgicos.

Operadores lgicos
Los datos numricos, los datos de serie y el valor nulo pueden funcionar como datos
lgicos. Los datos numricos y de serie pueden tener el valor lgico verdadero o falso.
El valor numrico 0 (cero) es falso; todos los dems valores numricos son verdaderos.
Los datos de serie de caracteres que no son una serie vaca son verdaderos; una serie
vaca es falsa. El valor nulo no es verdadero ni falso. Tiene el valor lgico especial nulo.
Los operadores lgicos realizan pruebas en expresiones lgicas. Las expresiones
lgicas que se evalan como cero o una serie vaca son falsas. Las expresiones lgicas
que se evalan como valor nulo son nulas. Las expresiones que se evalan como
cualquier otro valor son verdaderas.
Los operadores lgicos de InfoSphere DataStage BASIC son:

AND (o el equivalente &)


OR (o el equivalente !)
NOT

La funcin NOT invierte un valor lgico.

Los operandos de los operadores lgicos se consideran tipos de datos lgicos. En


la Tabla 1, la Tabla 2 y la Tabla 3 se muestran los resultados de las operaciones lgicas.
Tabla 1. Operador AND
AND

TRUE

NULL

FALSE

TRUE

TRUE

NULL

FALSE

NULL

NULL

NULL

FALSE

FALSE

FALSE

FALSE

FALSE

OR

TRUE

NULL

FALSE

TRUE

TRUE

TRUE

TRUE

NULL

TRUE

NULL

NULL

FALSE

TRUE

NULL

FALSE

Tabla 2. Operador OR

Tabla 3. Operador NOT


NOT
TRUE

FALSE

NULL

NULL

FALSE

TRUE

Las operaciones aritmticas y relacionales tienen preferencia sobre las operaciones


lgicas. Las operaciones lgicas de InfoSphere DataStage se evalan de izquierda a
derecha (las sentencias AND no tienen preferencia sobre las sentencias OR).
Ejemplos
1) Utilice SolicitudRecibida="S" AND TarifaPagada>0 si desea que algo ocurra slo si
ha recibido tanto la solicitud como la tarifa.
2) Utilice SaldoActual0 OR CrditoAprobado="S" si desea que algo ocurra slo si no
se debe dinero o si se ha aprobado el crdito o si ambas opciones son verdaderas.
3) Utilice TarifaPagada>0 XOR RegaloGratuito="S" si desea que algo ocurra si se ha
pagado una tarifa o si se ha enviado un regalo gratuito, pero no si se producen las
dos condiciones (por ejemplo, si no se ha pagado una tarifa y se ha enviado un
regalo gratuito).
4) Utilice NOT IsEmpty(NombreCampo) para identificar los registros que tienen un
valor en el campo NombreCampo.
LA ESTRUCTURA DE SELECCIN MULTIPLE switch
La estructura de seleccin mltiple switch permite seleccionar una ruta de entre varias
rutas posibles en base al valor de una variable selector que se compara con una lista
de constantes enteras o de carcter c1, c2, c3, ..., cn. Cuando se encuentra una
correspondencia entre el valor de la variable selector y una constante, se ejecuta la
accin o el grupo de acciones asociadas a dicha constante. Si el selector no coincide
con ninguna constante, se efecta la accin por defecto, si es que existe.

En la tabla que sigue se muestra el cdigo y el pseudocdigo de la estructura switch.

Un ejemplo del uso de la estructura switch en C:


int hijos;
printf(Ingrese la cantidad de hijos que usted tiene: \n);
scanf(%d, &hijos);
switch (hijos) {
case 0:
printf(No le corresponde asignacin familiar por hijo\n);
break;
case 1:
printf(Le corresponden 50usd de asignacin familiar por su nico
hijo\n);
break;
case 2:
printf(Le corresponden 75usd de asignacin familiar por sus dos
hijos\n);
break;
default:
printf(Le corresponden 100usd de asignacin familiar por tener ms de

dos hijos\n);
break;
};
Se define la variable del tipo entero hijos, se le pide al usuario que ingrese el nmero
de hijos que posee y luego entra en accin la estructura switch, actuando de
diferentes formas dependiendo del valor de la variable hijos en tiempo de ejecucin.

ESTRUCTURA DE REPETICION FOR


La estructura for sirve para repetir un cdigo dependiendo de un contador. Veamos un
ejemplo:
int contador;
for (contador = 1; contador<=10; contador++)
{
printf(Repeticin numero %d\n, contador);
};
Primero se crea la variable contador de tipo entero (ser la variable de control en el
for). Luego se ejecuta la estructura for iniciando la variable contador en 1. Luego se
verifica que se cumple la condicin contador<=10 y se ejecuta el bloque dentro de la
estructura, o sea, imprime en pantalla Repeticin nmero 1.
Luego la variable contador es incrementada en uno con la expresin contador++ y el
ciclo se inicia otra vez. La variable contador ahora vale 2, por lo tanto se verifica la
condicin y se vuelve a ejecutar el cdigo. Este proceso se ejecuta hasta
que contador toma el nmero 11 y la condicin se hace falsa y no ejecuta el bloque.
Este cdigo imprimir en pantalla lo siguiente:
Repeticin numero 1
Repeticin numero 2
Repeticin numero 3
Repeticin numero 4
Repeticin numero 5
Repeticin numero 6
Repeticin numero 7
Repeticin numero 8
Repeticin numero 9
Repeticin numero 10
Las tres expresiones que componen la estructura for en C son opcionales, por lo tanto
se pueden omitir en ciertos casos. Si se omite la primera (la inicializacin de la variable
de control), significa que la variable se inicializa en otra parte del programa. Si se
omite la segunda expresin, la estructura for entrara en un ciclo infinito, lo cual es
considerado un error. Si se omite la tercera expresin significa que la variable de
control es calculada dentro del bloque de for.
La tercera expresin puede ser tanto un incremento como un decremento en uno o
ms. Tambin puede ser ms compleja agregando ms instrucciones con el uso de la
coma. Por ejemplo:
for (contador = 1; contador<=10; suma += contador, contador += 2)

Como vemos, la tercera expresin no slo suma contador de dos en dos sino que
adems en cada repeticin ejecuta la operacin suma += contador.
Veamos la sintaxis de la instruccin FOR:
FOR contador = inicio TO final
bloqueInstrucciones
NEXT
contador es la variable que usaremos como contador (el FOR la modifica
automticamente) y tendr que ser de tipo numrico, normalmente entero aunque
tambin puede ser real. Ya hemos hablado de los contadores en el tema de los
operadores de asignacin.
inicio es una expresin numrica cuyo valor tomar el contador la primera vez.
final es una expresin numrica cuyo valor lo usar el FOR de forma que solo entrar si
el contador no supera al valor de esta expresin. En nuestro ejemplo el final era 5 y
cuando el contador (n) llegaba a valer 6 ya no entrbamos.
Ahora vamos a ver dos normas muy importantes que hay que seguir siempre con los
contadores de los FOR
No debemos modificar el valor de esta variable dentro del bucle, ya lo hace
automticamente la instruccin FOR. Dicho de otra forma: No debemos asignar ningn
valor a esta variable hasta despus de terminar el FOR.
Una vez terminado el FOR no debemos leer el valor de la variable contador porque su
valor queda indeterminado. Podremos usar esta variable ms adelante si previamente
le asignamos un valor antes de intentar leerla.
Estas normas nos las podramos saltar sin dar un error de ejecucin, pero puede que el
mismo algoritmo de distintos resultados en distintas versiones de BASIC, ya que el
contador es manejado internamente por el intrprete del lenguaje de programacin y
puede que no siempre se haga de la misma forma.
Los valores inicio y fin no tienen por que ser expresiones constantes. En este ejemplo
escribiremos los nmeros desde uno hasta donde quiera el usuario:
CLS
INPUT "Escribe hasta dnde quieres llegar: ", max
FOR n = 1 TO max
PRINT n
NEXT
No es necesario que tengamos que usar siempre el valor del contador para calcular
algo. Este FOR escribe "Hecho en Ronda" siete veces:
FOR n = 1 TO 7
PRINT "Hecho en Ronda"
NEXT
y este hace exctamente lo mismo:
FOR n = 82 TO 88
PRINT "Hecho en Ronda"
NEXT
El siguiente escribe los pares del 2 al 10, es decir, 2, 4, 6, 8, 10.
FOR n = 1 TO 5
PRINT n * 2
NEXT
En QBasic hay una forma de hacer esto ms fcilmente:
FOR n = 2 TO 10 STEP 2
PRINT n
NEXT
Antes veamos que el FOR incrementa automticamente al contador en 1 en cada

pasada. Usando la palabra clave STEP seguida de una expresin numrica


conseguimos modificar este incremento.
Otro ejemplo con STEP que se explica solo.
CLS
INPUT "Escribe un nmero: ", s
PRINT "Estos son los nmeros del 0 al 100 de "; s; " en "; s
FOR n = 0 TO 100 STEP s
PRINT n
NEXT
Todo esto funciona muy bien, espero que se entienda. Pero puede surgir una duda,
supongamos que escribimos el nmero 7 y el programa escribe de siete en siete,
dando este resultado:
Escribe un nmero: 7
Estos son los nmeros del 0 al 100 de 7 en 7
0
7
14
21
28
35
42
49
56
63
70
77
84
91
98
Como se puede ver, no se ha alcanzado el 100 es porque el siguiente valor que sera el
105 ya supera al 100 que es valor final del FOR y no se ejecuta.
Tambin puede ocurrir que la expresin del STEP valga 0. En este caso
el FOR incrementar en cero el contador con lo que nunca se llegar al valor final y se
producir un bucle infinito. Habr que pulsar Ctrl+Pausa para detener el programa y
corregir el cdigo.

Estructura while.
Esta estructura tiene el siguiente formato:

Representacin grfica de la estructura while:

No debemos confundir la representacin grfica de la estructura repetitiva while


(Mientras) con la estructura condicional if (Si)
Funcionamiento: En primer lugar se verifica la condicin, si la misma resulta verdadera
se ejecutan las operaciones que indicamos por la rama del Verdadero. A la rama del
verdadero la graficamos en la parte inferior de la condicin. Una lnea al final del
bloque de repeticin la conecta con la parte superior de la estructura repetitiva. En
caso que la condicin sea Falsa contina por la rama del Falso y sale de la estructura
repetitiva para continuar con la ejecucin del algoritmo. El bloque se repite MIENTRAS
la condicin sea Verdadera.
Importante: Si la condicin siempre retorna verdadero estamos en presencia de un
ciclo repetitivo infinito. Dicha situacin es un error de programacin, nunca finalizar el
programa.
Estructura repetitiva MIENTRAS o while
En C la sentencia while (condicin o expresin) instrucciones; es seguramente
la ms utilizada. La sentencia, o grupo de sentencias o instrucciones se
ejecutan mientras la evaluacin de la expresin sea verdadera.
While (Cond)
Condicin {
Instrucciones;
}
EJEMPLO X: Imprimir en pantalla la palabra Hola, mientras se presione en
nmero 1.
#include <stdio.h>
main()
{
int num;
printf ("Ingrese un numero: ");
scanf("%d",&num);
while (num == 1)
{
printf ("\n Hola\n\n");
printf ("Ingrese otro numero: ");
scanf("%d",&num);
}

system("PAUSE");
return 0;
}
Instrucciones
es
Inicio
Fin
No
num == 1
Si
num
Ingrese un numero
Ingrese otro numero
num
Hola
Estructura repetitiva HACER MIENTRAS o do while
Una variacin de la sentencia while es: do instrucciones while ( condicin o
expresin ); En ella la sentencia se ejecuta al menos una vez, antes de que se
evale la expresin condicional
do
{
Instrucciones;
}
Condicin While (Condicin)
Ejemplo de aplicacin:
#include <stdio.h>
/* la funcin main comienza la ejecucin del programa */
int main()
{
int contador = 1; /* inicializa el contador */
do {
printf( "%d ", contador ); /* despliega el contador */
} while ( ++contador <= 10 ); /* fin del do...while */
return 0; /* indica la terminacin exitosa del programa */
} /* fin de la funcin main */

BIBLIOGRAFIA
http://wiki.elhacker.net/programacion/introduccion/que-es-la-programacion
http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/PolilibroFC/U
nidad_III/Unidad%20III_4.htm

https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Introducci
%C3%B3n
https://www.programarya.com/Cursos/C++/Bibliotecas-O-Librerias
https://es.scribd.com/doc/2551829/Tipos-de-datos-en-C
http://gy94bfmv.blogspot.com/2012/10/estructura-basica-de-un-programa-en-c.html
https://www.nebrija.es/~abustind/Informatica/MetodologiaI/Elementos_basicos_C.pd
f
http://renso-rensonsanchez.blogspot.com/
http://welcometheblackparadise.blogspot.com/2009/02/que-es-gotoxy-y-su-funcionla-funcion.html
https://msdn.microsoft.com/es-gt/library/8zedbtdt(v=vs.90).aspx
http://www.alegsa.com.ar/Notas/102.php
http://www.ibm.com/support/knowledgecenter/es/SSZJPZ_9.1.0/com.ibm.swg.im.iis.
ds.basic.doc/topics/r_dsbasic_Logical_Operators.html
http://www.filemaker.com/es/help/html/non_toc.46.45.html
http://i7exe.blogspot.com/2013/04/estructura-de-seleccion-multiple-switch.html
http://www.alegsa.com.ar/Notas/103.php
https://tecnologiasistemasfitec01.wikispaces.com/ESTRUCTURA+DE+REPETICION+F
OR
http://www.tutorialesprogramacionya.com/javaya/detalleconcepto.php?
codigo=83&punto=&inicio=
http://www.investigacion.frc.utn.edu.ar/tecnicasdigitales/pub/file/While_Do_While.pd
f

Você também pode gostar