Documente Academic
Documente Profesional
Documente Cultură
Ejemplo
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=2
control=0
suma_par=2
control=1
suma_par=2
control=1
suma_par=2
control=1
suma_par=6
control=1
suma_par=6
control=2
suma_par=6
control=2
suma_par=6
control=2
suma_par=12
control=2
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=2
control=0
par=2
suma_par=2
control=1
suma_par=2
control=1
suma_par=2
control=1
suma_par=6
control=1
suma_par=6
control=2
suma_par=6
control=2
suma_par=6
control=2
suma_par=12
control=2
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=0
control=0
suma_par=2
control=0
suma_par=2
control=1
suma_par=2
control=1
suma_par=6
control=1
suma_par=6
control=2
suma_par=6
control=2
suma_par=12
control=2
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
suma_par=12
control=3
Arreglos y Cadenas
Un arreglo o array (en ingls) es una coleccin de variables estructuradas
referenciadas por medio de un nombre comn.
Otra definicin vlida es que un arreglo es un conjunto de datos que se
almacenan en memoria de manera consecutiva con el mismo nombre y para
diferenciarlos se utiliza un ndice.
Entonces podemos decir que un array es un conjunto finito de valores del
mismo tipo de dato que se almacenan bajo el mismo nombre (variable) en
posiciones consecutivas en memoria.
Indice
Elemento
[0]
[1]
[2]
[3]
..
..
1
3
5
7
:
.
(primer elemento)
(segundo elemento)
(tercer elemento)
(cuarto elemento)
Arreglo unidimensional
Unos vectores que se usan mucho en lenguaje C++, y muchas veces de forma
trasparente para el programador son los arrays de caracteres, tambin
llamados tiras o cadenas de caracteres. Aunque se puede trabajar con ellos
como con otros vectores de otros tipos, su frecuencia ha hecho introducir
algunas normas y operadores para escribir ms cmodamente cdigo con
cadenas de caracteres.
Muchas de estas normas ya se han usado sin mencionarlas en temas
anteriores. La primera que se explicar es la que atiende a los operadores
simple y doble comilla (' y "). Mientras el primero indica un nico carcter (el
valor ASCII del mismo), el segundo implica la construccin de todo un vector o
cadena de caracteres (en ASCII) que adems termina en un valor ASCII
especial: el 0x0. As en el siguiente ejemplo, se inicializa la variable letra
solamente con el ASCII del caracter 'A' (0x41), pero la variable cadena1 se
inicializa con las letras del texto entre doble comillas.
char letra=A';
char cadena1[19]=Arriba Alianza Lima;
Indice
Elemento
[0]
A
[1]
r
[2]
r
[3]
i
[4]
b
[5]
a
[6]
[7]
A
[8]
l
[9]
i
[10]
a
[11]
n
[12]
z
[13]
a
[14]
[15]
L
[16]
i
[17]
m
[18]
a
[19]
0x0
Ejemplo: el siguiente programa carga el arreglo sqrs con los cuadrados de los
nmeros del 1 al 10 y luego los visualiza.
Arreglo multidimensionales
Los arreglos multidimensionales son estructuras de un mismo tipo de datos, y
de longitud fija que almacenan datos de forma tabular. Es decir tienen ms de
una dimensin y por tanto utilizan ms de un ndice para acceder a sus
elementos.
Los arreglos multidimensionales ms utilizados son los de dos dimensiones
(bidimensionales), conocidos con el nombre de tablas y, se corresponden con el
concepto de matrices.
C++ permite trabajar con arrays de tantas dimensiones como se requieran en
las aplicaciones ( 2, 3, 4 ms dimensiones).
En la teora de matrices, por ejemplo, una matriz de orden mn es un conjunto
rectangular de elementos dispuestos en "m filas y en "n columnas, siendo m y
n nmeros naturales.
Al igual que los arrays de una dimensin, tenemos varias formas de inicializar
un array bidimesional:
Funciones
Cuando es necesario escribir programas complicados para resolver problemas
complejos, una prctica comn entre los programadores es descomponer el
algoritmo (el diagrama de flujo) en varias partes. Cada de una de stas partes
puede codificarse en forma independiente en la forma de subprogramas. As,
habr un cierto nmero de subprogramas que se encargan de realizar slo
parte de las tareas requeridas para resolver el problema; estos subprogramas
estarn relacionados de forma que su ejecucin conjunta permitir la solucin
del programa global.
C++ permite la definicin de este tipo de subprogramas. En algunos lenguajes
de programacin, las subpartes son llamadas procedimientos o subrutinas. En
C++ las subpartes de un programa se denominan funciones.
Una de las ventajas de dividir los programas en subprogramas es que
diferentes programadores pueden realizar diferentes tareas. Este tipo de trabajo
de equipo es indispensable para la elaboracin de programas complicados en
un tiempo razonable.
Funciones Predefinidas
El lenguaje C++, como la mayora de los lenguajes de programacin, permite el
uso de bibliotecas con funciones predefinidas que se pueden utilizar en
cualquier programa.
Para ejemplificar el uso de funciones predefinidas utilicemos la funcin sqrt
(square root = raz cuadrada). La funcin sqrt toma el valor de un nmero, por
ejemplo 4.0, y calcula el valor de su raz cuadrada, en este caso 2.0. El valor
que en la funcin se toma como punto de partida (4.0) se le conoce como su
argumento. Al valor que la funcin entrega como resultado se le conoce como
valor de retorno.
Algunas funciones pueden tener ms de un argumento, pero todas las
funciones tienen un solo valor de retorno.
Un llamado o invocacin a una funcin puede ser usado como cualquier otra
expresin en C++ siempre y cuando se conserve la consistencia entre los tipos
de las variables del programa. La sintaxis puede ser:
nombre_de_funcion (argumento);
nombre_de_funcion (argumento_1, argumento_2, ... , argumento_n)
Ejemplo en C++:
raiz = sqrt(4.0);
A la expresin sqrt(4.0) se le conoce como llamado a la funcin (o invocacin a
la funcin). El argumento de una funcin puede, como en este caso, ser un
valor constante, pero tambin puede ser una variable o una expresin ms
elaborada. La nica restriccin en este sentido es que la constante, la variable o
la expresin deben de proporcionar un valor que sea del tipo requerido por la
funcin.
Bibliotecas de Funciones
Recordemos que, cuando utilizamos la instruccin cin>>, es necesario incluir en
el programa a la biblioteca iostream, dado que la definicin de cin>> se
encuentra en dicha biblioteca. De la misma forma, para utilizar alguna otra
funcin ser necesario incluir en nuestro programa la biblioteca de C++
correspondiente a dicha funcin. Para el ejemplo de la funcin sqrt debemos
incluir la biblioteca math.h que sustenta su uso. Esto significa que, en un
programa donde utilicemos esta funcin predefinida, ser necesario incluir la
siguiente directiva:
#include<math.h>
Descripcin
Tipo de
Tipo de Valor de
Argumentos
Regreso
Ejemplo
Valor
Biblioteca
sqrt
Raz Cuadrada
double
double
sqrt(4.0)
2.0
math.h
pow
Potencia
double
double
pow(2.0,3.0)
8.0
math.h
abs
Valor absoluto de un
int
int
abs(-7)
stdlib.h
7.5
math.h
4.0
math.h
3.0
math.h
int
fabs
Valor absoluto de un
abs(7)
double
double
double
ceil
Redondeo hacia el
fabs(-7.5)
fabs(7.5)
double
double
ceil(3.2)
ceil(3.9)
nmero inmediato
superior
floor
Redondeo hacia el
double
double
floor(3.2)
floor(3.9)
nmero inmediato
inferior
sin
Seno
double
double
sin(0.0)
0.0
math.h
cos
Coseno
double
double
cos(0.0)
1.0
math.h
tan
Tangente
double
double
tan(0.0)
0.0
math.h
Otra biblioteca importante que maneja una gran cantidad de funciones prcticas
para trabajar con cadenas de caracteres es la biblioteca string.h. Para utilizarlas
debemos de incluir el fichero que define los prototipos de dichas funciones es
decir:
#include<string.h>
Algunas de las funciones ms importantes son:
o
o
o
o
Funciones usuario
El lenguaje C++, como la mayora de los lenguajes de programacin, permite al
programador declarar y definir sus propias funciones e inclusive generar
bibliotecas cuyo acceso y uso son de forma idntica a las funciones
predefinidas.
La definicin de una funcin en C++ consta de la cabecera de la funcin y del
cuerpo. As su forma general es:
tipo_retorno nombre_funcion(tipo1argum1, tipo2 argum2, ... ,tipoN argumN)
{
//cuerpo de la funcin
return(expresion); //opcional
}
La primera lnea recibe el nombre de encabezamiento (header) y el resto de la
definicin que est encerrado entre llaves es el cuerpo (body) de la funcin.
Declaracin
Toda funcin debe ser declarada antes de ser utilizada en el programa que
realiza la llamada. Esta se hace mediante el prototipo de la funcin. La forma
general del prototipo coincide con la primera lnea de la definicin (el
encabezamiento), con tres pequeas diferencias:
Hasta ahora los ejemplos que hemos visto han utilizado el paso de argumentos por
valor. La llamada por valor significa que una copia del argumento se pasa al parmetro
de la funcin. Esto significa que todo lo que se realice en el cdigo de la funcin no va a
alterar el valor del argumento usado para llamar a la funcin.