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 operativo Un editor de texto Un compilador de C++
un
sistema
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 Inicio
Programa fuente
Compilar programa
si
Errores De Sintaxis
no Comprobar errores de ejecuci贸n
si
Errores en tiempo de ejecuci贸n
no Fin
Elementos Básicos de C++ 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 válidos : 1237,
identificadores _día,
sueldo*,
no lugar
son 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++ 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++ ď&#x201A;§ 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>
Tipos de datos en C++ 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
Constantes 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: ď&#x201A;§ 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++ ď&#x201A;§ 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;
Variables 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.
Entradas y Salidas 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 trace\n''; cout<<500<<600<<300<<endl;
Visualiza en pantalla:
Voy a tener éxito en todas las metas que me trace 500600300
Operadores y Expresiones Agenda Operadores y expresiones en C++ Operador de asignación.
Operadores aritméticos. Operadores de decrementación.
Operadores relacionales. Operadores lógicos.
Operador coma.
incrementación
y
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 Puede ser: Identificador válido de C++ declarado como variable
Un valor constante Una Variable a la que se le ha asignado previamente un valor Valores constantes o variables, combinadas con operadores
Operador de asignación 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.
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: No permitida resto
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
Operadores aritméticos ¿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 y equivalencias de asignaci贸n S铆mbolo
Uso
Descripci贸n
=
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
Asigna el valor de b a a
Sentencia no abreviada 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 utilizarse como sufijo o prefijo.
pueden
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
Operadores de incrementación y decrementación 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 continuación
o
decrementación
a
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 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) Y lógica (&&, and) O lógica (||, or)
! operando not operando operando1 && operando 2 operando1 and operando 2 operando1 || operando 2 operando1 or operando 2
not (x >= y) m < n and i > j 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)â&#x20AC;Ś 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 selección y repetición.
son:
secuencia,
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 ď&#x201A;§
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: if
( <ExpLogica> ) <sentencia1> | [{ <sentencia1> }]; [ else <sentencia1> | [{ <sentencia1> }]; ]
donde <Explogica> es una expresiĂłn booleana y <sentenciaX> puede ser una sola sentencia o un bloque de sentencias
Condicional if Las formas más sencillas de esta sentencia son: if (<expres_bool>) <sentencia>
if (<expres_bool>){ <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.
if (<expres_bool>) <sentencia> else <sentencia>
if (<expres_bool>){ <sentencia 1> ::::: <sentencia n> } Else { <sentencia 1> ::::: <sentencia n> }
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: 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";
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:
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: char caracter; ::: // de alguna manera caracter switch (caracter) { case ‘0’: case ‘1’: case ‘2’: case ‘5’: case ‘6’: case ‘7’: mensaje = "Dígito"; break; case ‘a’: case ‘e’: case ‘i’: case ‘A’: case ‘E’: case ‘I’: mensaje = "Vocal"; break; default: mensaje = "Otro carácter"; }
toma un valor case ‘3’: case ‘4’: case ‘8’: case ‘9’:
case ‘o’: case ‘u’: case ‘O’: case ‘U’:
Resolver este ejemplo usando la sentencia “if” sería más difícil
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): 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";}
Resolver este ejemplo usando la sentencia “if” sería más difícil
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:
Es una expresión lógica o booleana
while (condición) {
}
Sentencia 1; Sentencia 2; . . . Sentencia N;
while (condición) Sentencia; Cuerpo Del Bucle
Primero se pregunta y luego de Ejecuta while Es un bucle
Pretest
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 << â&#x20AC;&#x153;Suma total es:â&#x20AC;?<< 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
do {
Sentencia; Sentencia 1; Sentencia 2; . . Sentencia N;
} while (condición)
Cuerpo
while (condición)
Del
Bucle
Primero se ejecuta y luego se pregunta do-while Es un bucle Post Test
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:
Inicializa la variable de control del bucle
Expresión lógica que determina si las sentencias se han de ejecutar, mientras sea verdadera
for (inicializacion; condicion iteración; incremento ) Incrementa o { Decrementa la variable de control del conjunto de sentencias bucle }
Sentencia for Ejemplos for (int i=0; i<10; i++) cout << i;
for ( int count =1; count <=5; count ++)
cout<< â&#x20AC;&#x153;Valor obtenido es:â&#x20AC;?<< (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 dowhile 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
for Cuando
el número de repeticiones se conoce por anticipado. Es controlado por un contador.
do-while 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 en C++ 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
métodos de las clases
para
definir
los
Funciones en C++ Implementación de una Función: tipo_de_retorno
NombreFuncion (lista parámetros )
{ sentencias return valor; }
Cuando en el tipo de retorno aparece la palabra reservada void significa que la función no retorna ningún 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 FORMALES Y 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.
Funciones en C++ Ejemplo de una Función con parámetros: void ImprimirMensaje (string mensaje) { cout << mensaje << endl;
}
Parámetros formales de la función
Llamado de la función ImprimirMensaje ImprimirMensaje (“Ingrese los siguientes datos:”);
Parámetros actuales de la función
Funciones en C++ Ejemplos de funciones sin parámetros: void LimpiarPantalla () { system (“cls”);} void DetenerPantalla () { system (“pause”);}
Llamado de las DeternerPantalla: LimpiarPantalla (); DetenerPantalla ();
Función que no contiene parámetros
funciones
LimpiarPantalla,