SlideShare una empresa de Scribd logo
Revista C ++
Elementos Básicos de C++
Agenda
 Definición de Lenguaje de Programación
 Historia de C++
 Creación de un programa
 Depuración de un programa
 Identificadores
 Palabras reservadas
 Signos de Puntuación
Elementos Básicos de C++
Agenda
 Tipos de datos en C++
 Constantes en C++
 Variables en C++
 Entradas y salidas en C++
Lenguaje de Programación
 Un lenguaje de programación es un lenguaje
escrito, utilizado para escribir programas que se
ejecutan en un computador.
 Existen muchos lenguajes de programación entre
los que se destacan los siguientes:
C
C++
Basic
Ada
Java
Pascal
Python
Fortran
Smalltalk
Ruby
Historia de C++
 Creado por Bjarne Stroustrup en 1983.
 Herramientas necesarias:
 Un equipo ejecutando un sistema
operativo
 Un editor de texto
 Un compilador de C++
Elementos Básicos de C++
Creación de un programa
Programa Fuente
Compilador
(Traductor)
Programa Objeto
(Código intermedio)
Enlazador
(linker)
Programa Ejecutable
(en lenguaje de máquina)
Elementos Básicos de C++
Depuración de un programa
Fin
Inicio
Programa fuente
Compilar
programa
Errores
De
Sintaxis
Comprobar
errores de ejecución
Errores
en tiempo
de ejecución
no
no
si
si
Identificadores
Es una secuencia de caracteres, letras, dígitos y
subrayados (_). El primer carácter debe ser una letra o
subrayado.
C++ es sensible a las Mayúsculas, por lo tanto los
identificadores NOTA y nota son diferentes.
Reglas:
 Escribir identificadores de variables en letras
minúsculas.
 Constantes en mayúsculas.
 Funciones con tipo de letra mixto: mayúsculas y
minúsculas.
 El identificador puede ser de cualquier longitud,
pero C++ ignora cualquier carácter fuera de los 32
primeros.
Elementos Básicos de C++
Identificadores
 Identificadores válidos que pueden ser
definidos por el programador son: sueldobase,
prima_hogar, _costo, x
 Los siguientes identificadores no son
válidos : 1237, _día, sueldo*, lugar de
nacimiento, año.
 Los siguientes identificadores no pueden
ser definidos por el programador: int, char,
void (son palabras reservadas del lenguaje)
Elementos Básicos de C++
Elementos Básicos de C++
Palabras Reservadas
Cada lenguaje tiene palabras reservadas que son
elementos predefinidos que tienen un significado
especial para el compilador y no se pueden utilizar
para otros propósito.
Ejemplo de palabras reservadas: void, else, int,
float, char, while, etc.
Signos de Puntuación
 Todas las sentencias del programa deben
terminar con un punto y coma (;).
 Otros signos de puntuación son:
¡ % & ( ) - + / * { }  < > etc.
Tipos de datos en C++
 El tipo de dato determina la naturaleza del valor
que puede tomar una variable. Un tipo de dato
define un dominio de valores y las operaciones
que se pueden realizar con éstos valores.
El formato de declaración es:
<Tipo de dato> <nombre_de_variable>
<Tipo de dato> <nombre_de_variable> = <valor inicial>
 int ( Números enteros )
 long (Númetos enteros más grandes que int)
 float ( Números reales )
 double ( Números reales más grandes que float )
 bool ( Valores lógicos )
 char ( Caracteres )
Tipos de datos en C++
Tipos Enteros
Los enteros en el lenguaje C++
son: short, int, unsigned int, long,
unsigned long.
Tipos de datos en C++
Tipos en coma flotante
 Los tipos de datos de coma (punto) flotante,
representan números reales que contienen
una coma decimal, tal como 3.589741.
 C++ soporta tres formatos de coma flotante:
float, double, long double.
Tipos de datos en C++
Tipo char
 Puede almacenar: dígitos, letras mayúsculas,
letras minúsculas y signos de puntuación.
 Internamente, los caracteres se almacenan como
números. El tipo char representa valores en el
rango -128 .. 127 y se asocian con el código
ASCII.
 C++ proporciona el tipo unsigned char para
representar valores del 0..255. Una variable de
tipo char se puede definir de la siguiente
manera:
char caracter
Tipos de datos en C++
Tipo bool
El tipo bool es un tipo de datos cuyos valores
son: verdadero (true) y falso (false). Este tipo
dato permite declarar variables lógicas que
pueden almacenar los valores verdadero y
falso.
bool bisiesto;
bisiesto = true
Tipos de datos en C++
Una constante es un objeto cuyo valor no
puede cambiar a lo largo de la ejecución de
un programa. En C++ existen los siguientes
tipos de constantes:
 Constantes literales: Son las más
usuales; toman valores tales como 99.99 o
bien ''Ingrese los siguientes datos'', que
se escriben directamente en el texto del
programa.
Constantes en C++
 Constantes definidas (simbólicas): Las
constantes pueden recibir nombres simbólicos
mediante la directiva #define.
Ejemplos:
#define DCyT ''Decanato de Ciencias y Tecnologia''
#define NOTA_MAX 100
Constantes en C++
 Constantes declaradas: El cualificador const
permite dar nombres simbólicos a constantes
como lo hacen otros lenguaje, entre ellos el
Pascal. El formato es
const tipo nombre = valor;
(si se omite el tipo, C++ utiliza int por defecto)
Ejemplo:
const int MESES = 12;
Constantes en C++
 En C++ una variable es una posición con
nombre en memoria en donde se almacena un
valor de un cierto tipo de dato que puede ser
modificado.
 El procedimiento para definir una variable es:
escribir el tipo de dato, seguido del
identificador o nombre de variable y, en
ocasiones el valor inicial que tomará.
Ejemplos:
char respuesta;
int contador = 0;
float acumulador = 0;
Variables en C++
Tipos básicos de variables en C++
 Variables locales: Son aquellas definidas en el
interior de una función y solo se pueden utilizar en
esa función específica. No existen en memoria
hasta que no se ejecute la función
 Variables globales: Son variables que se
declaran fuera de cualquier función, inclusive de
la función main(), por lo que pueden ser utilizadas
en cualquier parte del programa.
 Variables dinámicas o punteros: Estas variables
al igual que las variables locales se crean y
liberan durante la ejecución del programa. Se
diferencian, en que la variable dinámica se crea
tras su petición y se libera cuando no se necesita y
la variable local se crea automáticamente.
Variables en C++
 Entrada (cin)
En C++ la entrada del teclado puede ser
procesada, entre muchas otras formas, con el
comando “cin”, el cual se accede gracias a una
librería predefinida llamada iostream.
Ejemplo:
#include <iostream>
using namespace std;
::::
int nota;
cin >> nota;
Entradas y Salidas en C++
 Salida (cout)
En C++ la salida del programa hacia la pantalla puede
ser mostrada, entre muchas otras formas, con el
comando “cout”, el cual se accede gracias a la librería
iostream.
Ejemplos:
#include <iostream>
using namespace std;
::::
cout << ''Voy a tener éxito en todas las metas que me tracen'';
cout<<500<<600<<300<<endl;
Visualiza en pantalla:
Voy a tener éxito en todas las metas que me trace
500600300
Entradas y Salidas en C++
Operadores y Expresiones
Agenda
 Operadores y expresiones en C++
 Operador de asignación.
 Operadores aritméticos.
 Operadores de incrementación y
decrementación.
 Operadores relacionales.
 Operadores lógicos.
 Operador coma.
Operadores y expresiones en C++
 Los programas en C++ constan de datos, sentencias de
programas(if, while, etc) y expresiones.
 Una expresión es una sucesión de operandos y
operadores debidamente relacionados que especifican un
cálculo, ejemplo:
Operador Binario
5 + 10
Operandos
 Otro tipo de operador es el unitario que actúa sobre un
único valor. Como por ejemplo el valor de -10
Operador de asignación
El operador = asigna el valor de la expresión derecha
a la variable situada a su izquierda.
variable = expresión
Identificador
válido de C++
declarado como
variable
Puede ser:
 Un valor constante
 Una Variable a la que se le ha
asignado previamente un valor
 Valores constantes o variables,
combinadas con operadores
 El operador de asignación es asociativo por la
derecha, lo que permite realizar operaciones
múltiples, como sigue:
contador_aprobados = contador_aplazados = 0;
 En este caso las variables señaladas en la
expresión, toman ambas el valor de 0.
Operador de asignación
Operadores aritméticos
Los operadores aritméticos sirven para realizar
operaciones aritméticas básicas
Operador Tipos enteros Tipos reales Ejemplo
+ Suma Suma x + y
- Resta Resta b – c
* Multiplicación Multiplicación y * z
/ División entera:
cociente
División en
coma flotante
b / 10
% División entera:
resto
No permitida a % 5
Operadores aritméticos
 Al evaluar una expresión construida en C++,
hay que considerar la prioridad de los
operadores.
 Es importante resaltar que los paréntesis se
pueden usar para cambiar el orden usual de
evaluación de una expresión.
Prioridad Nivel de
precedencia
Asociatividad
+, -
(unitarios)
1 izquierda - derecha
*, /, % 2 izquierda - derecha
+, - 3 izquierda - derecha
¿Cuál es el resultado de la siguiente
expresión: 15 * 5 – 4 * 3?
15 * 5 – 4 * 3
75 – 4 * 3
75 – 12
63
Operadores aritméticos
¿Cuál es el resultado de la siguiente expresión:
10 + (8 - 4) * (10 * (12 + 6) / 6) ?
10 + (8 - 4) * (10 * (12 + 6) / 6)
10 + (8 - 4) * (10 * 18 / 6)
10 + 4 * (10 * 18 / 6)
10 + 4 * (180 / 6)
10 + 4 * 30
10 + 120
130
Operadores aritméticos
Operadores y equivalencias de asignación
Símbolo Uso Descripción Sentencia no
abreviada
= a = b Asigna el valor de b a a a = b
*= a *= b Multiplica a por b y asigna
el resultado a la variable a
a = a * b
/= a /= b Divide a entre b y asigna el
resultado a la variable a
a = a / b
%= a %= b Fija en a el resto de a/b a = a % b
+= a += b Suma b y a y asigna el
resultado a la variable a
a = a + b
-= a -= b Resta b de a y asigna el
resultado a la variable a
a = a - b
Operadores de incrementación y
decrementación
 El lenguaje C++ incorpora los operadores
de incremento ++ y decremento --.
 Estos operadores unitarios suman o restan 1
(uno), respectivamente a la variable.
 Tienen la propiedad de que pueden
utilizarse como sufijo o prefijo.
 El resultado de la expresión puede ser
distinto dependiendo del contexto que se
maneje.
Operadores de incrementación y
decrementación
Incrementación Decrementación
++n --n
n += 1 n -= 1
n = n +1 n = n -1
 Si los operadores ++ y -- están de prefijos, la
operación de incremento se efectúa antes de la
operación de asignación.
 Si los operadores ++, -- están de sufijos, la
asignación se efectúa en primer lugar y la
incrementación o decrementación a
continuación
Operadores de incrementación y
decrementación
 Ejemplo del operador de incrementación
int a = 1, b;
b = a++ // b vale 1 y a vale 2
int a = 1, b;
b = ++a; ¿Cuál es el valor de a y de b?
Operadores de incrementación y
decrementación
 Ejemplo del operador de decrementación
int a = 1, b;
b = a-- // b vale 1 y a vale 0
int a = 1, b;
b = --a; ¿Cuál es el valor de a y de b?
Operadores de incrementación y
decrementación
Operadores relacionales
 Son aquellos operadores que comprueban una
relación entre dos operandos.
 Se usan normalmente en sentencias de selección (if)
y de iteración (while, do-while y for).
 Cuando se utilizan los operadores en una expresión,
el operador relacional produce un 0, o un 1.
 El 0 lo devuelve para una condición falsa y el 1 lo
devuelve para una condición verdadera.
 Ejemplo: a = 7 > 3, la variable a toma el valor de 1.
Operadores relacionales
Operador Significado Uso Ejemplo
== Igual a a == b 'A' == ' C' falso
!= No igual a a != b 2 != 4 verdadero
> Mayor que a > b 7 > 9 falso
< Menor que a < b 'a' < 'd' verdadero
>= Mayor o igual que a >= b 'A' >= 'a' falso
<= Menor o igual que a <= b 4 <= 1 falso
Operadores lógicos
 Estos operadores se utilizan con expresiones para
devolver un valor verdadero (cualquier valor
distinto de 0) o un valor falso (0).
Operador Operación lógica Ejemplo
Negación
(!, not)
! operando
not operando
not (x >= y)
Y lógica
(&&, and)
operando1 && operando 2
operando1 and operando 2
m < n and i > j
O lógica
(||, or)
operando1 || operando 2
operando1 or operando 2
a = 10 or n != 5
 El operador ! tiene prioridad mas alta que &&, que
a su vez tiene mayor prioridad que el ||.
 Asociatividad de izquierda a derecha
Prioridad de los operadores
Los operadores matemáticos tienen precedencia sobre
los operadores relacionales, y los operadores
relacionales tienen precedencia sobre los operadores
lógicos. Ejemplo:
if (ventas < sal_min * 3 && annos > 10 * iva)…
equivale
if ((ventas < (sal_min * 3)) && (annos > (10 * iva)))...
Operador coma (,)
 El operador coma (,) permite combinar dos o mas
expresiones separadas por coma en una sola línea.
 Se evalúa primero la expresión de la izquierda y luego las
restantes expresiones de izquierda a derecha.
 La expresión más a la derecha determina el resultado
global.
Ejemplos
int i, j, resultado;
resultado = j = 10, i = j, i++; // resultado vale 11
i = 10;
j = (i =12, i + 8) // j vale es 20;
Estructuras de Control
Agenda
 Concepto
 Definición de sintaxis
 Estructura Selectiva if
 Estructura condicional switch
 Estructuras repetitivas:
 while
 do – while
 for
Estructuras de Control
Por lo general, las instrucciones dentro de un
programa se ejecutan una tras otra, en el
orden en el cual se escribieron: ejecución
secuencial.
Las estructuras de control permiten al
programador especificar que la próxima
instrucción a ejecutarse no está en la línea
que sigue, es decir: transferir el control a otra
sentencia.
Las estructuras básicas son: secuencia,
selección y repetición.
Estructuras de Control
 Secuenciales: las instrucciones se ejecutan
una tras otra.
 Condicionales: se utilizan para que el
programa elija entre cursos de acción
alternativos.
 Repetitivas: permiten repetir conjuntos de
instrucciones. Las instrucciones se ejecutan
un número determinado o indeterminado a
priori de veces. Una condición de control
establece las veces que se ejecuta una
instrucción repetitiva
Sintaxis
Un programa en cualquier lenguaje se puede
concebir como una serie de palabras escogidas
de algún conjunto o alfabeto de palabras.
Las reglas que determinan si un grupo de
palabras es un programa válido o no, constituyen
la sintaxis de un lenguaje.
Definición de Sintaxis
Un conjunto finito de reglas (la gramática) del
lenguaje de programación, para la
construcción de las sentencias “correctas” de
un programa
Sintaxis
 Las reglas se expresan con algunos signos que
tienen un significado particular.
 La sintaxis es la simbología que se usa
universalmente para explicar los comandos del
lenguajes. Por lo general:
 Toda palabra o signo que no esté entre signos
debe colocarse obligatoriamente
 < > : encierran palabras o frases obligatorias.
 [ ] : encierran palabras o frases opcionales.
 | : Indica que las sentencias son mutuamente
excluyentes (o se usa una o la otra)
 ::: Indica que se repite todas las veces necesarias.
Condicional if
 La sentencia if elige entre varias
alternativas en base al valor de una o más
expresiones booleanas.
La sintaxis de esta sentencia es la siguiente:
donde <Explogica> es una expresión
booleana y <sentenciaX> puede ser una sola
sentencia o un bloque de sentencias
if ( <ExpLogica> ) <sentencia1> | [{ <sentencia1> }];
[ else <sentencia1> | [{ <sentencia1> }]; ]
Condicional if
Las formas más sencillas de esta sentencia
son:
if (<expres_bool>)
<sentencia>
if (<expres_bool>)
<sentencia>
else
<sentencia>
if (<expres_bool>){
<sentencia 1>
:::::
<sentencia n>
}
if (<expres_bool>){
<sentencia 1>
:::::
<sentencia n>
}
Else {
<sentencia 1>
:::::
<sentencia n>
}
Note que en el caso en el que
sólo siga una sentencia al if no
es necesario incluir las llaves,
pero sí lo es cuando lo siguen
más de una sentencia.
Condicional if
Los programas a menudo realizan una serie de tests de
los que sólo uno será verdadero. Por ejemplo,
considérese un programa para escribir en pantalla un
mensaje diferente correspondiente a un número que
representa una calificación numérica. En C++,
utilizando sentencias if anidadas, quedaría:
if (nota == 10)
mensaje = "Matricula de Honor";
else
if (nota >= 9)
mensaje = "Sobresaliente";
else
if (nota >= 7)
mensaje = "Notable";
else
if (nota >= 5)
mensaje = "Aprobado";
else
mensaje = "Suspenso";
Condicional if
C++ nos proporciona una forma más concisa de
expresar lo anterior, completamente equivalente:
De esta forma evitamos tener que usar numerosas
sangrías del código que pueden dificultar la lectura. Por
tanto, el criterio que se debe seguir para decidir el
anidamiento o no de estructuras selectivas es:
if (nota == 10)
mensaje = "Matricula de Honor";
else if (nota >= 9)
mensaje = "Sobresaliente";
else if (nota >= 7)
mensaje = "Notable";
else if (nota >= 5)
mensaje = "Aprobado";
else
mensaje = "Suspenso";
LA LEGIBILIDAD DEL CÓDIGO
Condicional switch
Aunque la sentencia if de C++ es muy potente, en
ocasiones su escritura puede resultar tediosa, sobre
todo en casos en los que el programa presenta varias
elecciones después de chequear una expresión:
selección múltiple o multialternativa. En situaciones
donde el valor de una expresión determina qué
sentencias serán ejecutadas es mejor utilizar una
sentencia switch en lugar de una if.
La sintaxis es la siguiente:
switch ( <expresion> ) {
case <const1> : <sentencia1>; <break>;
case <const2> : <sentencia2>; <break>;
.
.
.
case <constN> : <sentenciaN>; <break>;
[default : <sentenciaD>; ]
}
Condicional switch
El siguiente extracto de programa pide un carácter y
guarda un mensaje indicando si lo que se escribió fue
una vocal, un número u otro carácter:
Resolver este ejemplo usando la sentencia “if” sería
más difícil
char caracter;
::: // de alguna manera caracter toma un valor
switch (caracter) {
case ‘0’: case ‘1’: case ‘2’: case ‘3’: case ‘4’:
case ‘5’: case ‘6’: case ‘7’: case ‘8’: case ‘9’:
mensaje = "Dígito";
break;
case ‘a’: case ‘e’: case ‘i’: case ‘o’: case ‘u’:
case ‘A’: case ‘E’: case ‘I’: case ‘O’: case ‘U’:
mensaje = "Vocal";
break;
default:
mensaje = "Otro carácter";
}
Condicional switch
El siguiente extracto de programa pide un carácter y guarda un
mensaje que contiene el estado civil correspondiente
(S=soltero, C=casado, D=divorciado,V=viudo):
Resolver este ejemplo usando la sentencia “if” sería más
difícil
char edo_civil;
::: // de alguna manera edo_civil toma un valor
switch (edo_civil) {
case ‘s’: case ‘S’:
mensaje = “Soltero";
break;
case ‘c’: case ‘C’:
mensaje = “Casado";
break;
case ‘d’: case ‘D’:
mensaje = “Divorciado";
break;
case ‘v’: case ‘V’:
mensaje = “Viudo";
break;
default:
mensaje = “Estado civil inválido";}
Estructuras repetitivas
 La estructura repetitiva permite que una sentencia o
varias sentencias se ejecuten un número
determinado de veces. También conocidas como
bucles, ciclos o lazos.
 La sentencia o grupo de sentencias que se repiten se
llaman cuerpo del bucle
 Cada repetición del cuerpo del bucle se llama
iteración del bucle.
 Importante determinar: cual es el cuerpo del bucle y
cuantas veces se iterará el cuerpo del bucle
Sentencia while
 El cuerpo se ejecuta mientras se cumpla la
condición de control.
 Si la condición es false (0), entonces el cuerpo no
se ejecuta.
 Si la condición es true (1) inicialmente, la sentencia
while no terminará (bucle infinito) a menos que en
el cuerpo de la misma se modifique de alguna
forma la condición de control del bucle.
 Una sentencia while se ejecutará cero o más veces.
Sentencia while
Un bucle while tiene una condición del bucle (expresión
lógica) que controla la secuencia de repetición. La
ejecución de la(s) sentencia(s) se repite mientras la
condición del bucle permanece verdadera y termina
cuando se falsa.
Sintaxis:
Cuerpo
Del
Bucle
while (condición)
{
Sentencia 1;
Sentencia 2;
.
.
.
Sentencia N;
}
while (condición)
Sentencia;
Primero se pregunta y luego de
Ejecuta
while Es un bucle
Pretest
Es una expresión lógica o booleana
Sentencia while
Ejemplos
i=0;
n= 10;
while (i < n) {
cout << i << endl;
++i;
}
int suma = 0, n= 11;
while (n <= 20){
suma = suma + n;
n++;}
cout << “Suma total es:”<< suma << endl;
Sentencia do-while
La sentencia do-while se utiliza para especificar un
bucle condicional que se ejecuta al menos una vez. Si
condición es verdadera, entonces se repite la
ejecución de sentencia, este proceso continúa hasta
que la condición es falsa
Sintaxis:
do
Sentencia;
while (condición)Cuerpo
Del
Bucle
Primero se ejecuta y luego se
pregunta
do-while Es un bucle
Post Test
do
{
Sentencia 1;
Sentencia 2;
.
.
Sentencia N;
}
while (condición)
Sentencia do-while
Ejemplos
int pot=50;
do {
pot =pot * 2;
cout << “La potencia obtenida es:” <<pot<< endl;
} while (pot < 500);
num = 10;
do {
cout << num << “:“;
num += 10;
} while (num <= 100);
Sentencia for
Si conocemos exactamente la cantidad de veces
que necesitamos repetir un conjunto de sentencias,
entonces podemos usar un bucle for. La sentencia
for es un método para ejecutar un bloque de
sentencias un número fijo de veces.
Sintaxis:
for (inicializacion; condicion iteración; incremento )
{
conjunto de sentencias
}
Inicializa la variable de
control del bucle
Incrementa o
Decrementa la
variable de control del
bucle
Expresión lógica que determina si las
sentencias se han de ejecutar,
mientras sea verdadera
Sentencia for
Ejemplos
for (int i=0; i<10; i++)
cout << i;
for ( int count =1; count <=5; count ++)
cout<< “Valor obtenido es:”<< (2*count)<<endl;
Relación for y while
Es de hacer notar que los bucles For se pueden
reescribir como bucles While
for (inicialización; condición iteración; incremento)
{
conjunto de sentencias
}
Inicialización;
while (condición iteración)
{
conjunto de sentencias
Incremento;
}
Comparación de bucles while, for y do-
while
while for do-while
 La condición se
chequea antes de
entrar al bucle, si la
evaluación resulta
verdadera se
ejecutan las
sentencias.
 El bucle finaliza
cuando la
condición es falsa
 Cuando el
número de
repeticiones se
conoce por
anticipado.
 Es controlado
por un contador.
 Es adecuada
cuando se debe
asegurar que al
menos se ejecuta
el bucle una vez.
 La condición del
bucle se chequea
después de que se
han ejecutado la
sentencias.
 Las sentencias se
ejecutan mientras
la condición sea
verdadera.
Funciones en C++
Agenda
 Concepto.
 Implementación de una función.
 Parámetros de una función.
 Parámetros por valor
 Parámetros por referencia
Funciones definidas por el usuario
 Una función contiene una o más sentencias
y se crean generalmente para realizar una
única tarea.
 En la programación orientada a objetos, las
funciones se utilizan para definir los
métodos de las clases
Funciones en C++
Implementación de una Función:
Cuando en el tipo de retorno aparece la palabra
reservada void significa que la función no retorna
ningún valor.
Funciones en C++
tipo_de_retorno NombreFuncion (lista parámetros )
{
sentencias
return valor;
}
void NombreFuncion (lista parámetros )
{
sentencias
.....
}
Parámetros de una función
• También se conocen como Argumentos.
• Una función puede utilizar parámetros por valor
y parámetros por referencia, o puede no tener
parámetros.
• TIPOS DE ARGUMENTOS SEGÚN
• EL VALOR QUE RETORNAN
Párametros por valor: En C++ el paso por valor
significa que al compilar la función y el código que
llama a la función, ésta recibe una copia de los
valores de los parámetros que se le pasan como
argumentos. Las variables reales no se pasan a la
función, sólo copias de su valor.
Parámetros de una función
 Parámetros por referencia: Cuando una función
debe modificar el valor de la variable pasada como
parámetro y que esta modificación retorne a la
función llamadora, se debe pasar el parámetro por
referencia.
En este método, el compilador no pasa una copia del
valor del argumento; en su lugar, pasa una dirección
de memoria, que indica a la función dónde existe la
dirección de los argumentos pasados.
Para declarar un parámetro como paso por
referencia, el símbolo & debe preceder al nombre
del parámetro.
Parámetros de una función
 Diferencias entre los parámetros por valor y
por referencia:
 Los parámetros por valor (declarados sin &)
reciben copias de los valores de los argumentos
que se les pasan.
 La asignación a parámetros por valor de una
función nunca cambian el valor del argumento
original pasado a los parámetros.
 Los parámetros por referencia (declarados con
&) reciben la dirección de los argumentos
pasados.
 En una función, las asignaciones a parámetros
referencia cambian los valores de los
argumentos originales
Parámetros de una función
• TIPOS DE ARGUMENTOS SEGÚN SU UBICACIÓN
• Tanto en la definición (cabecera) de la función
como en la llamadas deben colocarse
parámetros; la siguiente terminología los
distingue:
 Párametros formales: están en la definición de
la función (cabecera). Debe indicarse el tipo
de cada argumento. Sólo se definen 1 vez, ó 2
veces cuando se trabaja con clases (una en la
interfaz y otra en la implementación)
Parámetros de una función
 Parámetros actuales: están en cada llamada a
una función. No debe colocarse el tipo de cada
argumento. Los veremos múltiples veces, todas
las que sea necesaria, en un programa; cada
vez que se invoca a una función, esos
parámetros serán actuales.
Parámetros de una función
• COMPATIBILIDAD ENTRE PARÁMETROS
FORMALESY PARÁMETROS ACTUALES
• Para que la invocación a una función esté
correcta sintácticamente en sus parámetros
actuales con respecto a los parámetros
formales, deben cumplirse las siguientes
reglas:
• Misma cantidad: si hay 3 parámetros en los formales, deben haber 3
en los actuales.
• Mismo tipo: si en los formales hay un char y un int, igualmente
deben haber un char y un int en los actuales.
• Mismo orden: deben estar en el mismo orden. Ej: si en los formales
hay un char y un int, y en los actuales hay un int y un char, ambos
pares de parámetros tienen el mismo tipo pero no están en el
mismo orden.
Ejemplo de una Función con parámetros:
Llamado de la función ImprimirMensaje
Funciones en C++
void ImprimirMensaje (string mensaje)
{
cout << mensaje << endl;
}
ImprimirMensaje (“Ingrese los siguientes datos:”);
Parámetros formales de la
función
Parámetros actuales de la
función
Ejemplos de funciones sin parámetros:
Llamado de las funciones LimpiarPantalla,
DeternerPantalla:
Funciones en C++
void LimpiarPantalla ()
{ system (“cls”);}
void DetenerPantalla ()
{ system (“pause”);}
LimpiarPantalla ();
DetenerPantalla ();
Función que no contiene
parámetros

Más contenido relacionado

La actualidad más candente

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
area21
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
Luis Pérez
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
guestab91474
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
Jorge Ñauñay
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
charnisch
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
Tensor
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
chembe
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2
charnisch
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
Joaquin1418
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
camnav
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
yesid19
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
chembe
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
Santiago Tixilema
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
Carlos
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
Idalia Tristan
 
C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
Fernando Jose
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datos
uanelectromecanica
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
karlalopezbello
 
Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
Nana Garces
 
Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++
ivanjvic
 

La actualidad más candente (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datos
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++
 

Destacado

Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
compumet sac
 
Punteros a Funciones en C
Punteros a Funciones en CPunteros a Funciones en C
Punteros a Funciones en C
AnesGy SD
 
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variablesLenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Carlos
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Nilson Payares
 
Clase 6
Clase 6Clase 6
Clase 6
miocoroco
 
Tema v
Tema vTema v
Tema v
Maye Re
 
(Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++ (Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++
Eli Diaz
 
Introducción c++
Introducción c++Introducción c++
Introducción c++
wladimirclipper
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
ANDRES FELIPE CRUZ ERAZO
 
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
Marco Gaiani
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
tacubomx
 
codeblocks1
codeblocks1codeblocks1
codeblocks1
Lily- XztrzitA-
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
EnAutomático
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
Nieves Marlasca Jorge
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
Jose Eamirez
 
Diagrama de Flujo
Diagrama de  FlujoDiagrama de  Flujo
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
UPS
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
Ronny Parra
 
Reglas de la construccion de algoritmo y diagramas
Reglas de la construccion de algoritmo y diagramasReglas de la construccion de algoritmo y diagramas
Reglas de la construccion de algoritmo y diagramas
Ricardo Rivera Lara
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
Gustavo Salazar Loor
 

Destacado (20)

Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
Punteros a Funciones en C
Punteros a Funciones en CPunteros a Funciones en C
Punteros a Funciones en C
 
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variablesLenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Clase 6
Clase 6Clase 6
Clase 6
 
Tema v
Tema vTema v
Tema v
 
(Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++ (Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++
 
Introducción c++
Introducción c++Introducción c++
Introducción c++
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
DETERMINACIÓN DE PATRONES DE FERMENTACIÓN EN CACAOS DEL TIPO CRIOLLO Y TRINIT...
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
codeblocks1
codeblocks1codeblocks1
codeblocks1
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Diagrama de Flujo
Diagrama de  FlujoDiagrama de  Flujo
Diagrama de Flujo
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Reglas de la construccion de algoritmo y diagramas
Reglas de la construccion de algoritmo y diagramasReglas de la construccion de algoritmo y diagramas
Reglas de la construccion de algoritmo y diagramas
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 

Similar a Revista digital

Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
g_torrealba
 
Introducción
IntroducciónIntroducción
Introducción
jesus-agreda
 
Introducción
IntroducciónIntroducción
Introducción
Jesus Agreda
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
Jesus Agreda
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
Jesus Agreda
 
Unidad2
Unidad2Unidad2
Unidad2
JHONNY
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
David
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
Juan Torres
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
charnisch
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
logan1725
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
nibox
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Carlos
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Carlos
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Carlos
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
Desireé mart?ez
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
Tensor
 
Turbo c
Turbo cTurbo c
Turbo c
tacubomx
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
rotflol
 
Webcd
WebcdWebcd

Similar a Revista digital (20)

Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 
Unidad2
Unidad2Unidad2
Unidad2
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Turbo c
Turbo cTurbo c
Turbo c
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
 
Webcd
WebcdWebcd
Webcd
 

Más de Isaac Mujica

Paradigmas macroeconomicos
Paradigmas macroeconomicos Paradigmas macroeconomicos
Paradigmas macroeconomicos
Isaac Mujica
 
Investigación de operaciones
Investigación de operaciones Investigación de operaciones
Investigación de operaciones
Isaac Mujica
 
Trabajo de calculo
Trabajo de calculoTrabajo de calculo
Trabajo de calculo
Isaac Mujica
 
Notación sigma
Notación sigmaNotación sigma
Notación sigma
Isaac Mujica
 
Psicología general
Psicología generalPsicología general
Psicología general
Isaac Mujica
 
Ingieneria moderna
Ingieneria modernaIngieneria moderna
Ingieneria moderna
Isaac Mujica
 
Ppt0000001
Ppt0000001Ppt0000001
Ppt0000001
Isaac Mujica
 
Mapa mental de ingeneria moderna
Mapa mental de ingeneria modernaMapa mental de ingeneria moderna
Mapa mental de ingeneria moderna
Isaac Mujica
 

Más de Isaac Mujica (8)

Paradigmas macroeconomicos
Paradigmas macroeconomicos Paradigmas macroeconomicos
Paradigmas macroeconomicos
 
Investigación de operaciones
Investigación de operaciones Investigación de operaciones
Investigación de operaciones
 
Trabajo de calculo
Trabajo de calculoTrabajo de calculo
Trabajo de calculo
 
Notación sigma
Notación sigmaNotación sigma
Notación sigma
 
Psicología general
Psicología generalPsicología general
Psicología general
 
Ingieneria moderna
Ingieneria modernaIngieneria moderna
Ingieneria moderna
 
Ppt0000001
Ppt0000001Ppt0000001
Ppt0000001
 
Mapa mental de ingeneria moderna
Mapa mental de ingeneria modernaMapa mental de ingeneria moderna
Mapa mental de ingeneria moderna
 

Revista digital

  • 2. Elementos Básicos de C++ Agenda  Definición de Lenguaje de Programación  Historia de C++  Creación de un programa  Depuración de un programa  Identificadores  Palabras reservadas  Signos de Puntuación
  • 3. Elementos Básicos de C++ Agenda  Tipos de datos en C++  Constantes en C++  Variables en C++  Entradas y salidas en C++
  • 4. Lenguaje de Programación  Un lenguaje de programación es un lenguaje escrito, utilizado para escribir programas que se ejecutan en un computador.  Existen muchos lenguajes de programación entre los que se destacan los siguientes: C C++ Basic Ada Java Pascal Python Fortran Smalltalk Ruby
  • 5. Historia de C++  Creado por Bjarne Stroustrup en 1983.  Herramientas necesarias:  Un equipo ejecutando un sistema operativo  Un editor de texto  Un compilador de C++
  • 6. Elementos Básicos de C++ Creación de un programa Programa Fuente Compilador (Traductor) Programa Objeto (Código intermedio) Enlazador (linker) Programa Ejecutable (en lenguaje de máquina)
  • 7. Elementos Básicos de C++ Depuración de un programa Fin Inicio Programa fuente Compilar programa Errores De Sintaxis Comprobar errores de ejecución Errores en tiempo de ejecución no no si si
  • 8. Identificadores Es una secuencia de caracteres, letras, dígitos y subrayados (_). El primer carácter debe ser una letra o subrayado. C++ es sensible a las Mayúsculas, por lo tanto los identificadores NOTA y nota son diferentes. Reglas:  Escribir identificadores de variables en letras minúsculas.  Constantes en mayúsculas.  Funciones con tipo de letra mixto: mayúsculas y minúsculas.  El identificador puede ser de cualquier longitud, pero C++ ignora cualquier carácter fuera de los 32 primeros. Elementos Básicos de C++
  • 9. Identificadores  Identificadores válidos que pueden ser definidos por el programador son: sueldobase, prima_hogar, _costo, x  Los siguientes identificadores no son válidos : 1237, _día, sueldo*, lugar de nacimiento, año.  Los siguientes identificadores no pueden ser definidos por el programador: int, char, void (son palabras reservadas del lenguaje) Elementos Básicos de C++
  • 10. Elementos Básicos de C++ Palabras Reservadas Cada lenguaje tiene palabras reservadas que son elementos predefinidos que tienen un significado especial para el compilador y no se pueden utilizar para otros propósito. Ejemplo de palabras reservadas: void, else, int, float, char, while, etc. Signos de Puntuación  Todas las sentencias del programa deben terminar con un punto y coma (;).  Otros signos de puntuación son: ¡ % & ( ) - + / * { } < > etc.
  • 11. Tipos de datos en C++  El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar con éstos valores. El formato de declaración es: <Tipo de dato> <nombre_de_variable> <Tipo de dato> <nombre_de_variable> = <valor inicial>
  • 12.  int ( Números enteros )  long (Númetos enteros más grandes que int)  float ( Números reales )  double ( Números reales más grandes que float )  bool ( Valores lógicos )  char ( Caracteres ) Tipos de datos en C++
  • 13. Tipos Enteros Los enteros en el lenguaje C++ son: short, int, unsigned int, long, unsigned long. Tipos de datos en C++
  • 14. Tipos en coma flotante  Los tipos de datos de coma (punto) flotante, representan números reales que contienen una coma decimal, tal como 3.589741.  C++ soporta tres formatos de coma flotante: float, double, long double. Tipos de datos en C++
  • 15. Tipo char  Puede almacenar: dígitos, letras mayúsculas, letras minúsculas y signos de puntuación.  Internamente, los caracteres se almacenan como números. El tipo char representa valores en el rango -128 .. 127 y se asocian con el código ASCII.  C++ proporciona el tipo unsigned char para representar valores del 0..255. Una variable de tipo char se puede definir de la siguiente manera: char caracter Tipos de datos en C++
  • 16. Tipo bool El tipo bool es un tipo de datos cuyos valores son: verdadero (true) y falso (false). Este tipo dato permite declarar variables lógicas que pueden almacenar los valores verdadero y falso. bool bisiesto; bisiesto = true Tipos de datos en C++
  • 17. Una constante es un objeto cuyo valor no puede cambiar a lo largo de la ejecución de un programa. En C++ existen los siguientes tipos de constantes:  Constantes literales: Son las más usuales; toman valores tales como 99.99 o bien ''Ingrese los siguientes datos'', que se escriben directamente en el texto del programa. Constantes en C++
  • 18.  Constantes definidas (simbólicas): Las constantes pueden recibir nombres simbólicos mediante la directiva #define. Ejemplos: #define DCyT ''Decanato de Ciencias y Tecnologia'' #define NOTA_MAX 100 Constantes en C++
  • 19.  Constantes declaradas: El cualificador const permite dar nombres simbólicos a constantes como lo hacen otros lenguaje, entre ellos el Pascal. El formato es const tipo nombre = valor; (si se omite el tipo, C++ utiliza int por defecto) Ejemplo: const int MESES = 12; Constantes en C++
  • 20.  En C++ una variable es una posición con nombre en memoria en donde se almacena un valor de un cierto tipo de dato que puede ser modificado.  El procedimiento para definir una variable es: escribir el tipo de dato, seguido del identificador o nombre de variable y, en ocasiones el valor inicial que tomará. Ejemplos: char respuesta; int contador = 0; float acumulador = 0; Variables en C++
  • 21. Tipos básicos de variables en C++  Variables locales: Son aquellas definidas en el interior de una función y solo se pueden utilizar en esa función específica. No existen en memoria hasta que no se ejecute la función  Variables globales: Son variables que se declaran fuera de cualquier función, inclusive de la función main(), por lo que pueden ser utilizadas en cualquier parte del programa.  Variables dinámicas o punteros: Estas variables al igual que las variables locales se crean y liberan durante la ejecución del programa. Se diferencian, en que la variable dinámica se crea tras su petición y se libera cuando no se necesita y la variable local se crea automáticamente. Variables en C++
  • 22.  Entrada (cin) En C++ la entrada del teclado puede ser procesada, entre muchas otras formas, con el comando “cin”, el cual se accede gracias a una librería predefinida llamada iostream. Ejemplo: #include <iostream> using namespace std; :::: int nota; cin >> nota; Entradas y Salidas en C++
  • 23.  Salida (cout) En C++ la salida del programa hacia la pantalla puede ser mostrada, entre muchas otras formas, con el comando “cout”, el cual se accede gracias a la librería iostream. Ejemplos: #include <iostream> using namespace std; :::: cout << ''Voy a tener éxito en todas las metas que me tracen''; cout<<500<<600<<300<<endl; Visualiza en pantalla: Voy a tener éxito en todas las metas que me trace 500600300 Entradas y Salidas en C++
  • 24. Operadores y Expresiones Agenda  Operadores y expresiones en C++  Operador de asignación.  Operadores aritméticos.  Operadores de incrementación y decrementación.  Operadores relacionales.  Operadores lógicos.  Operador coma.
  • 25. Operadores y expresiones en C++  Los programas en C++ constan de datos, sentencias de programas(if, while, etc) y expresiones.  Una expresión es una sucesión de operandos y operadores debidamente relacionados que especifican un cálculo, ejemplo: Operador Binario 5 + 10 Operandos  Otro tipo de operador es el unitario que actúa sobre un único valor. Como por ejemplo el valor de -10
  • 26. Operador de asignación El operador = asigna el valor de la expresión derecha a la variable situada a su izquierda. variable = expresión Identificador válido de C++ declarado como variable Puede ser:  Un valor constante  Una Variable a la que se le ha asignado previamente un valor  Valores constantes o variables, combinadas con operadores
  • 27.  El operador de asignación es asociativo por la derecha, lo que permite realizar operaciones múltiples, como sigue: contador_aprobados = contador_aplazados = 0;  En este caso las variables señaladas en la expresión, toman ambas el valor de 0. Operador de asignación
  • 28. Operadores aritméticos Los operadores aritméticos sirven para realizar operaciones aritméticas básicas Operador Tipos enteros Tipos reales Ejemplo + Suma Suma x + y - Resta Resta b – c * Multiplicación Multiplicación y * z / División entera: cociente División en coma flotante b / 10 % División entera: resto No permitida a % 5
  • 29. Operadores aritméticos  Al evaluar una expresión construida en C++, hay que considerar la prioridad de los operadores.  Es importante resaltar que los paréntesis se pueden usar para cambiar el orden usual de evaluación de una expresión. Prioridad Nivel de precedencia Asociatividad +, - (unitarios) 1 izquierda - derecha *, /, % 2 izquierda - derecha +, - 3 izquierda - derecha
  • 30. ¿Cuál es el resultado de la siguiente expresión: 15 * 5 – 4 * 3? 15 * 5 – 4 * 3 75 – 4 * 3 75 – 12 63 Operadores aritméticos
  • 31. ¿Cuál es el resultado de la siguiente expresión: 10 + (8 - 4) * (10 * (12 + 6) / 6) ? 10 + (8 - 4) * (10 * (12 + 6) / 6) 10 + (8 - 4) * (10 * 18 / 6) 10 + 4 * (10 * 18 / 6) 10 + 4 * (180 / 6) 10 + 4 * 30 10 + 120 130 Operadores aritméticos
  • 32. Operadores y equivalencias de asignación Símbolo Uso Descripción Sentencia no abreviada = a = b Asigna el valor de b a a a = b *= a *= b Multiplica a por b y asigna el resultado a la variable a a = a * b /= a /= b Divide a entre b y asigna el resultado a la variable a a = a / b %= a %= b Fija en a el resto de a/b a = a % b += a += b Suma b y a y asigna el resultado a la variable a a = a + b -= a -= b Resta b de a y asigna el resultado a la variable a a = a - b
  • 33. Operadores de incrementación y decrementación  El lenguaje C++ incorpora los operadores de incremento ++ y decremento --.  Estos operadores unitarios suman o restan 1 (uno), respectivamente a la variable.  Tienen la propiedad de que pueden utilizarse como sufijo o prefijo.  El resultado de la expresión puede ser distinto dependiendo del contexto que se maneje.
  • 34. Operadores de incrementación y decrementación Incrementación Decrementación ++n --n n += 1 n -= 1 n = n +1 n = n -1
  • 35.  Si los operadores ++ y -- están de prefijos, la operación de incremento se efectúa antes de la operación de asignación.  Si los operadores ++, -- están de sufijos, la asignación se efectúa en primer lugar y la incrementación o decrementación a continuación Operadores de incrementación y decrementación
  • 36.  Ejemplo del operador de incrementación int a = 1, b; b = a++ // b vale 1 y a vale 2 int a = 1, b; b = ++a; ¿Cuál es el valor de a y de b? Operadores de incrementación y decrementación
  • 37.  Ejemplo del operador de decrementación int a = 1, b; b = a-- // b vale 1 y a vale 0 int a = 1, b; b = --a; ¿Cuál es el valor de a y de b? Operadores de incrementación y decrementación
  • 38. Operadores relacionales  Son aquellos operadores que comprueban una relación entre dos operandos.  Se usan normalmente en sentencias de selección (if) y de iteración (while, do-while y for).  Cuando se utilizan los operadores en una expresión, el operador relacional produce un 0, o un 1.  El 0 lo devuelve para una condición falsa y el 1 lo devuelve para una condición verdadera.  Ejemplo: a = 7 > 3, la variable a toma el valor de 1.
  • 39. Operadores relacionales Operador Significado Uso Ejemplo == Igual a a == b 'A' == ' C' falso != No igual a a != b 2 != 4 verdadero > Mayor que a > b 7 > 9 falso < Menor que a < b 'a' < 'd' verdadero >= Mayor o igual que a >= b 'A' >= 'a' falso <= Menor o igual que a <= b 4 <= 1 falso
  • 40. Operadores lógicos  Estos operadores se utilizan con expresiones para devolver un valor verdadero (cualquier valor distinto de 0) o un valor falso (0). Operador Operación lógica Ejemplo Negación (!, not) ! operando not operando not (x >= y) Y lógica (&&, and) operando1 && operando 2 operando1 and operando 2 m < n and i > j O lógica (||, or) operando1 || operando 2 operando1 or operando 2 a = 10 or n != 5  El operador ! tiene prioridad mas alta que &&, que a su vez tiene mayor prioridad que el ||.  Asociatividad de izquierda a derecha
  • 41. Prioridad de los operadores Los operadores matemáticos tienen precedencia sobre los operadores relacionales, y los operadores relacionales tienen precedencia sobre los operadores lógicos. Ejemplo: if (ventas < sal_min * 3 && annos > 10 * iva)… equivale if ((ventas < (sal_min * 3)) && (annos > (10 * iva)))...
  • 42. Operador coma (,)  El operador coma (,) permite combinar dos o mas expresiones separadas por coma en una sola línea.  Se evalúa primero la expresión de la izquierda y luego las restantes expresiones de izquierda a derecha.  La expresión más a la derecha determina el resultado global. Ejemplos int i, j, resultado; resultado = j = 10, i = j, i++; // resultado vale 11 i = 10; j = (i =12, i + 8) // j vale es 20;
  • 43. Estructuras de Control Agenda  Concepto  Definición de sintaxis  Estructura Selectiva if  Estructura condicional switch  Estructuras repetitivas:  while  do – while  for
  • 44. Estructuras de Control Por lo general, las instrucciones dentro de un programa se ejecutan una tras otra, en el orden en el cual se escribieron: ejecución secuencial. Las estructuras de control permiten al programador especificar que la próxima instrucción a ejecutarse no está en la línea que sigue, es decir: transferir el control a otra sentencia. Las estructuras básicas son: secuencia, selección y repetición.
  • 45. Estructuras de Control  Secuenciales: las instrucciones se ejecutan una tras otra.  Condicionales: se utilizan para que el programa elija entre cursos de acción alternativos.  Repetitivas: permiten repetir conjuntos de instrucciones. Las instrucciones se ejecutan un número determinado o indeterminado a priori de veces. Una condición de control establece las veces que se ejecuta una instrucción repetitiva
  • 46. Sintaxis Un programa en cualquier lenguaje se puede concebir como una serie de palabras escogidas de algún conjunto o alfabeto de palabras. Las reglas que determinan si un grupo de palabras es un programa válido o no, constituyen la sintaxis de un lenguaje. Definición de Sintaxis Un conjunto finito de reglas (la gramática) del lenguaje de programación, para la construcción de las sentencias “correctas” de un programa
  • 47. Sintaxis  Las reglas se expresan con algunos signos que tienen un significado particular.  La sintaxis es la simbología que se usa universalmente para explicar los comandos del lenguajes. Por lo general:  Toda palabra o signo que no esté entre signos debe colocarse obligatoriamente  < > : encierran palabras o frases obligatorias.  [ ] : encierran palabras o frases opcionales.  | : Indica que las sentencias son mutuamente excluyentes (o se usa una o la otra)  ::: Indica que se repite todas las veces necesarias.
  • 48. Condicional if  La sentencia if elige entre varias alternativas en base al valor de una o más expresiones booleanas. La sintaxis de esta sentencia es la siguiente: donde <Explogica> es una expresión booleana y <sentenciaX> puede ser una sola sentencia o un bloque de sentencias if ( <ExpLogica> ) <sentencia1> | [{ <sentencia1> }]; [ else <sentencia1> | [{ <sentencia1> }]; ]
  • 49. Condicional if Las formas más sencillas de esta sentencia son: if (<expres_bool>) <sentencia> if (<expres_bool>) <sentencia> else <sentencia> if (<expres_bool>){ <sentencia 1> ::::: <sentencia n> } if (<expres_bool>){ <sentencia 1> ::::: <sentencia n> } Else { <sentencia 1> ::::: <sentencia n> } Note que en el caso en el que sólo siga una sentencia al if no es necesario incluir las llaves, pero sí lo es cuando lo siguen más de una sentencia.
  • 50. Condicional if Los programas a menudo realizan una serie de tests de los que sólo uno será verdadero. Por ejemplo, considérese un programa para escribir en pantalla un mensaje diferente correspondiente a un número que representa una calificación numérica. En C++, utilizando sentencias if anidadas, quedaría: if (nota == 10) mensaje = "Matricula de Honor"; else if (nota >= 9) mensaje = "Sobresaliente"; else if (nota >= 7) mensaje = "Notable"; else if (nota >= 5) mensaje = "Aprobado"; else mensaje = "Suspenso";
  • 51. Condicional if C++ nos proporciona una forma más concisa de expresar lo anterior, completamente equivalente: De esta forma evitamos tener que usar numerosas sangrías del código que pueden dificultar la lectura. Por tanto, el criterio que se debe seguir para decidir el anidamiento o no de estructuras selectivas es: if (nota == 10) mensaje = "Matricula de Honor"; else if (nota >= 9) mensaje = "Sobresaliente"; else if (nota >= 7) mensaje = "Notable"; else if (nota >= 5) mensaje = "Aprobado"; else mensaje = "Suspenso"; LA LEGIBILIDAD DEL CÓDIGO
  • 52. Condicional switch Aunque la sentencia if de C++ es muy potente, en ocasiones su escritura puede resultar tediosa, sobre todo en casos en los que el programa presenta varias elecciones después de chequear una expresión: selección múltiple o multialternativa. En situaciones donde el valor de una expresión determina qué sentencias serán ejecutadas es mejor utilizar una sentencia switch en lugar de una if. La sintaxis es la siguiente: switch ( <expresion> ) { case <const1> : <sentencia1>; <break>; case <const2> : <sentencia2>; <break>; . . . case <constN> : <sentenciaN>; <break>; [default : <sentenciaD>; ] }
  • 53. Condicional switch El siguiente extracto de programa pide un carácter y guarda un mensaje indicando si lo que se escribió fue una vocal, un número u otro carácter: Resolver este ejemplo usando la sentencia “if” sería más difícil char caracter; ::: // de alguna manera caracter toma un valor switch (caracter) { case ‘0’: case ‘1’: case ‘2’: case ‘3’: case ‘4’: case ‘5’: case ‘6’: case ‘7’: case ‘8’: case ‘9’: mensaje = "Dígito"; break; case ‘a’: case ‘e’: case ‘i’: case ‘o’: case ‘u’: case ‘A’: case ‘E’: case ‘I’: case ‘O’: case ‘U’: mensaje = "Vocal"; break; default: mensaje = "Otro carácter"; }
  • 54. Condicional switch El siguiente extracto de programa pide un carácter y guarda un mensaje que contiene el estado civil correspondiente (S=soltero, C=casado, D=divorciado,V=viudo): Resolver este ejemplo usando la sentencia “if” sería más difícil char edo_civil; ::: // de alguna manera edo_civil toma un valor switch (edo_civil) { case ‘s’: case ‘S’: mensaje = “Soltero"; break; case ‘c’: case ‘C’: mensaje = “Casado"; break; case ‘d’: case ‘D’: mensaje = “Divorciado"; break; case ‘v’: case ‘V’: mensaje = “Viudo"; break; default: mensaje = “Estado civil inválido";}
  • 55. Estructuras repetitivas  La estructura repetitiva permite que una sentencia o varias sentencias se ejecuten un número determinado de veces. También conocidas como bucles, ciclos o lazos.  La sentencia o grupo de sentencias que se repiten se llaman cuerpo del bucle  Cada repetición del cuerpo del bucle se llama iteración del bucle.  Importante determinar: cual es el cuerpo del bucle y cuantas veces se iterará el cuerpo del bucle
  • 56. Sentencia while  El cuerpo se ejecuta mientras se cumpla la condición de control.  Si la condición es false (0), entonces el cuerpo no se ejecuta.  Si la condición es true (1) inicialmente, la sentencia while no terminará (bucle infinito) a menos que en el cuerpo de la misma se modifique de alguna forma la condición de control del bucle.  Una sentencia while se ejecutará cero o más veces.
  • 57. Sentencia while Un bucle while tiene una condición del bucle (expresión lógica) que controla la secuencia de repetición. La ejecución de la(s) sentencia(s) se repite mientras la condición del bucle permanece verdadera y termina cuando se falsa. Sintaxis: Cuerpo Del Bucle while (condición) { Sentencia 1; Sentencia 2; . . . Sentencia N; } while (condición) Sentencia; Primero se pregunta y luego de Ejecuta while Es un bucle Pretest Es una expresión lógica o booleana
  • 58. Sentencia while Ejemplos i=0; n= 10; while (i < n) { cout << i << endl; ++i; } int suma = 0, n= 11; while (n <= 20){ suma = suma + n; n++;} cout << “Suma total es:”<< suma << endl;
  • 59. Sentencia do-while La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez. Si condición es verdadera, entonces se repite la ejecución de sentencia, este proceso continúa hasta que la condición es falsa Sintaxis: do Sentencia; while (condición)Cuerpo Del Bucle Primero se ejecuta y luego se pregunta do-while Es un bucle Post Test do { Sentencia 1; Sentencia 2; . . Sentencia N; } while (condición)
  • 60. Sentencia do-while Ejemplos int pot=50; do { pot =pot * 2; cout << “La potencia obtenida es:” <<pot<< endl; } while (pot < 500); num = 10; do { cout << num << “:“; num += 10; } while (num <= 100);
  • 61. Sentencia for Si conocemos exactamente la cantidad de veces que necesitamos repetir un conjunto de sentencias, entonces podemos usar un bucle for. La sentencia for es un método para ejecutar un bloque de sentencias un número fijo de veces. Sintaxis: for (inicializacion; condicion iteración; incremento ) { conjunto de sentencias } Inicializa la variable de control del bucle Incrementa o Decrementa la variable de control del bucle Expresión lógica que determina si las sentencias se han de ejecutar, mientras sea verdadera
  • 62. Sentencia for Ejemplos for (int i=0; i<10; i++) cout << i; for ( int count =1; count <=5; count ++) cout<< “Valor obtenido es:”<< (2*count)<<endl;
  • 63. Relación for y while Es de hacer notar que los bucles For se pueden reescribir como bucles While for (inicialización; condición iteración; incremento) { conjunto de sentencias } Inicialización; while (condición iteración) { conjunto de sentencias Incremento; }
  • 64. Comparación de bucles while, for y do- while while for do-while  La condición se chequea antes de entrar al bucle, si la evaluación resulta verdadera se ejecutan las sentencias.  El bucle finaliza cuando la condición es falsa  Cuando el número de repeticiones se conoce por anticipado.  Es controlado por un contador.  Es adecuada cuando se debe asegurar que al menos se ejecuta el bucle una vez.  La condición del bucle se chequea después de que se han ejecutado la sentencias.  Las sentencias se ejecutan mientras la condición sea verdadera.
  • 65. Funciones en C++ Agenda  Concepto.  Implementación de una función.  Parámetros de una función.  Parámetros por valor  Parámetros por referencia
  • 66. Funciones definidas por el usuario  Una función contiene una o más sentencias y se crean generalmente para realizar una única tarea.  En la programación orientada a objetos, las funciones se utilizan para definir los métodos de las clases Funciones en C++
  • 67. Implementación de una Función: Cuando en el tipo de retorno aparece la palabra reservada void significa que la función no retorna ningún valor. Funciones en C++ tipo_de_retorno NombreFuncion (lista parámetros ) { sentencias return valor; } void NombreFuncion (lista parámetros ) { sentencias ..... }
  • 68. Parámetros de una función • También se conocen como Argumentos. • Una función puede utilizar parámetros por valor y parámetros por referencia, o puede no tener parámetros. • TIPOS DE ARGUMENTOS SEGÚN • EL VALOR QUE RETORNAN Párametros por valor: En C++ el paso por valor significa que al compilar la función y el código que llama a la función, ésta recibe una copia de los valores de los parámetros que se le pasan como argumentos. Las variables reales no se pasan a la función, sólo copias de su valor.
  • 69. Parámetros de una función  Parámetros por referencia: Cuando una función debe modificar el valor de la variable pasada como parámetro y que esta modificación retorne a la función llamadora, se debe pasar el parámetro por referencia. En este método, el compilador no pasa una copia del valor del argumento; en su lugar, pasa una dirección de memoria, que indica a la función dónde existe la dirección de los argumentos pasados. Para declarar un parámetro como paso por referencia, el símbolo & debe preceder al nombre del parámetro.
  • 70. Parámetros de una función  Diferencias entre los parámetros por valor y por referencia:  Los parámetros por valor (declarados sin &) reciben copias de los valores de los argumentos que se les pasan.  La asignación a parámetros por valor de una función nunca cambian el valor del argumento original pasado a los parámetros.  Los parámetros por referencia (declarados con &) reciben la dirección de los argumentos pasados.  En una función, las asignaciones a parámetros referencia cambian los valores de los argumentos originales
  • 71. Parámetros de una función • TIPOS DE ARGUMENTOS SEGÚN SU UBICACIÓN • Tanto en la definición (cabecera) de la función como en la llamadas deben colocarse parámetros; la siguiente terminología los distingue:  Párametros formales: están en la definición de la función (cabecera). Debe indicarse el tipo de cada argumento. Sólo se definen 1 vez, ó 2 veces cuando se trabaja con clases (una en la interfaz y otra en la implementación)
  • 72. Parámetros de una función  Parámetros actuales: están en cada llamada a una función. No debe colocarse el tipo de cada argumento. Los veremos múltiples veces, todas las que sea necesaria, en un programa; cada vez que se invoca a una función, esos parámetros serán actuales.
  • 73. Parámetros de una función • COMPATIBILIDAD ENTRE PARÁMETROS FORMALESY PARÁMETROS ACTUALES • Para que la invocación a una función esté correcta sintácticamente en sus parámetros actuales con respecto a los parámetros formales, deben cumplirse las siguientes reglas: • Misma cantidad: si hay 3 parámetros en los formales, deben haber 3 en los actuales. • Mismo tipo: si en los formales hay un char y un int, igualmente deben haber un char y un int en los actuales. • Mismo orden: deben estar en el mismo orden. Ej: si en los formales hay un char y un int, y en los actuales hay un int y un char, ambos pares de parámetros tienen el mismo tipo pero no están en el mismo orden.
  • 74. Ejemplo de una Función con parámetros: Llamado de la función ImprimirMensaje Funciones en C++ void ImprimirMensaje (string mensaje) { cout << mensaje << endl; } ImprimirMensaje (“Ingrese los siguientes datos:”); Parámetros formales de la función Parámetros actuales de la función
  • 75. Ejemplos de funciones sin parámetros: Llamado de las funciones LimpiarPantalla, DeternerPantalla: Funciones en C++ void LimpiarPantalla () { system (“cls”);} void DetenerPantalla () { system (“pause”);} LimpiarPantalla (); DetenerPantalla (); Función que no contiene parámetros