Lenguaje c++
Upcoming SlideShare
Loading in...5
×
 

Lenguaje c++

on

  • 1,434 views

 

Statistics

Views

Total Views
1,434
Slideshare-icon Views on SlideShare
1,431
Embed Views
3

Actions

Likes
0
Downloads
43
Comments
0

1 Embed 3

http://sed.ucla.edu.ve 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Lenguaje c++ Lenguaje c++ Presentation Transcript

    •  
      • Operadores y expresiones en C++
      • Operadores aritméticos
      • Operadores de incrementación y decrementación
      • Operadores relacionales
      • Operadores lógicos
      • Estructuras de flujo de control
      • Secuenciales
      • Condicionales
      • Repetitivas
      • Funciones
      • C++ es un lenguaje que permite realizar una programación economizando las expresiones, con abundancia de operadores y tipos de datos.
      • No está orientado a ningún área en especial y sobre todo consigue un código objeto altamente optimizado que repercute en que los programas sean más rápidos.
      • C++ es considerado un C más grande y potente.
      • La sintaxis de C++ es una extensión de C, al que se han añadido numerosas propiedades, fundamentalmente orientada a objetos.
      • En este tema, no se pretende la enseñanza a fondo de las herramientas de programación C++, solo se presenta una breve introducción a su uso y conocimientos mínimos para lograr el aprendizaje del lenguaje a través de las reglas de sintaxis del estándar clásico de C++.
      • Los programas en C++ constan de datos,
      • sentencias de programas(if, while, …) y expresiones.
      • Una expresión es una sucesión de operandos y operadores debidamente relacionados que especifican un cálculo, ejemplo:
      • Otro tipo de operador es el unitario que actúa sobre un único valor. Como por ejemplo el valor de -10 .
      Operador Binario Operandos 5 +10
    • Los operadores aritméticos sirven para realizar operaciones aritméticas básicas.
      • Es importante resaltar que los paréntesis se pueden usar para cambiar el orden usual de evaluación de una expresión.
      • Al evaluar una expresión construida en C++, hay que considerar la prioridad de los operadores.
      • ¿Cuál es el resultado de la siguiente expresión:
        • 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 
      10 + (8 - 4) * (10 * (12 + 6) / 6) ?
    •  
      • 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.
    •  
      • 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.
      • Si los operadores ++ y -- están de prefijos, la operación de incremento se efectúa antes de la operación de asignación.
      • Ejemplo del operador de incrementación
      ¿Cuál es el valor de a y de b? int a = 1, b; b = a++ // b vale 1 y a vale 2 int a = 1, b; b = ++a;
      • 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.
    •  
      • Estos operadores se utilizan con expresiones, al ser evaluados pueden devolver un valor verdadero (cualquier valor distinto de 0), o un valor falso (0)
      • El operador ! tiene prioridad mas alta que &&, que a su vez tiene mayor prioridad que el ||.
      • Asociatividad de izquierda a derecha
      • Los operadores matemáticos tienen precedencia sobre los operadores relacionales, y los operadores relacionales tienen precedencia sobre los operadores lógicos.
      + > !
      • Las estructuras básicas son: secuencia, selección y repetición.
      • Secuenciales
      • Condicionales
      • Repetitivas
      • La ejecución comienza con la primera sentencia y luego se ejecutan las demás, una tras otra, hasta llegar al final del bloque.
      • El bloque de sentencias se define por el carácter llave de apertura ({) para marcar el inicio del mismo, y el carácter llave de cierre (}) para marcar el final, como se muestra a continuación:
      •     {
      • sentencia 1 ;
      • sentencia 2 ;
      • ………
      • sentencia n ;
      • }
      • La sentencia if permite decidir, a partir del resultado de evaluar una expresión lógica
      • Formato 1
      Ejemplo: if (num1 % num2 == 0) cout << num1 << &quot; es divisible por &quot; << num2; if (expresión_lógica) { sentencia 1; ::: sentencia n; } if (expresión_lógica) sentencia;
      • Formato 2
      if (expresión_lógica) { sentencia 1; ::: sentencia n; } else { sentencia 1; ::: sentencia n; } if (expresión_lógica) sentencia 1 ; else sentencia 2 ;
      • Ejemplo Formato 2
      if (annos > 3) { aumento = sueldo_base * 0.30; sueldo_neto = sueldo_base + aumento; } else { aumento = sueldo_base * 0.15; sueldo_neto = sueldo_base + aumento; }
      • Formato 3
      if (expresión_lógica) sentencia 1 ; else if (expresión_lógica) sentencia 2 ; else ::: if (expresión_lógica) sentencia 3 ; else sentencia n ;
      • Ejemplo Formato 3
      if (numero1 == numero2) cadena = &quot;Los dos números son iguales&quot;; else  if (numero1 > numero2)   cadena = &quot;El primer número es mayor que el segundo&quot;; else cadena = &quot;El primer número es menor que el segundo&quot;;
      • La sentencia switch es una sentencia de C++ que se utiliza para seleccionar una alternativa entre varias disponibles y tiene el siguiente formato:
      switch (expresion) { case etiqueta 1 : sentencia 1 ; break; case etiqueta 2 : sentencia 2 ; break; ::: case etiqueta N : sentencia n ; break; default : sentencia d ; }
      • En el siguiente ejemplo se evalúa lo que contiene el carácter edo_civil y dependiendo de su valor, se guarda un mensaje que contiene el estado civil, pero como cadena de caracteres.
      string mensaje; char edo_civil; ::: // de alguna manera edo_civil toma un valor switch (edo_civil) { case 'S': case 's': mensaje = &quot;SOLTERO&quot;; break; case 'C': case 'c': mensaje = &quot;CASADO&quot;; break; case 'D': case 'd': mensaje = &quot;DIVORCIADO&quot;; break; case 'V': case 'v': mensaje = &quot;VIUDO&quot;; break; default: mensaje = &quot;Estado Invalido&quot;; }
      • 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.
      • En C++ se dispone de las sentencias: while, do .. while y for, para construir los bucles o estructuras repetitivas.
    • 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 Es una expresión lógica o booleana
    • Ejemplo de un bucle o estructura repetitiva, que permite mostrar por pantalla los números enteros del 1 al 100. Bucle controlado con contador int cont = 1; //Inicializar cont while (cont <= 100) //Control del bucle { cout << cont << endl; /*Imprime el contenido de cont*/ ++cont; /*Incrementa cont, cuando llegue a 100 se saldr á del bucle*/ }
    • Ejemplo que lee varias notas (no se saben cuentas) las acumula y cuenta dentro del bucle. Al terminar de procesar todas las notas, usa un valor centinela (-1) como último dato, para salirse del ciclo y por último, calcular e imprimir el promedio. Bucle controlado con valor centinela int nota, suma = 0, cont = 0; const int CENTINELA = -1; cout<<&quot;Ingrese la nota (-1) para finalizar : &quot;; cin>>nota; while (nota != CENTINELA) { suma += nota; ++cont; cout<<&quot;Ingrese la nota (-1) para finalizar : &quot;; cin>>nota; } cout << &quot;El promedio de notas es : &quot; << suma/cont << endl;
    • Es el usuario el que tiene la potestad de continuar o no con el bucle, respondiendo a una pregunta que se le hace, relacionada con el control del mismo. A continuación se ilustra esta técnica con el ejemplo anterior. Bucle controlado preguntando al usuario si desea la continuación del ciclo int nota, resp, suma = 0, cont = 0; cout<<&quot;Existe alguna nota (1)SI (2)NO : &quot;; cin>>resp; while (resp == 1) { cout<<&quot;Ingrese la nota : &quot;; cin>>nota; suma += nota; ++cont; cout<<&quot;Existe alguna nota (1)SI (2)NO : &quot;; cin>>resp; } cout << &quot;El promedio de notas es : &quot; << suma/cont << endl;
    • 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) do { sentencia 1; sentencia 2; ::: sentencia n; } while (condición) Cuerpo Del Bucle Primero se ejecuta y luego se pregunta
    • Ejemplo donde el bucle se repetirá mientras el carácter leído no sea un dígito y se termina cuando se introduzca un carácter que es un dígito. char caracter; do { cout<<&quot;Ingrese digito (0-9) : &quot;; cin>>caracter; } while (caracter < '0' or caracter > '9'); cout<<&quot;El digito es : &quot;<<caracter<<endl;
    • 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
    • Ejemplo, donde se suman los 10 primeros números enteros y se imprime el resultado obtenido. int suma = 0; for (int n = 1; n <=10; n++) suma += n; cout << &quot;La suma de los primeros 10 numeros es:” << suma << endl;
      • Una función contiene una o más sentencias que realizan una tarea específica.
      • Pueden retornar un valor y ser llamadas desde cualquier parte de un programa.
        • La función tiene un nombre, y cuando el control de la ejecución del programa consigue este nombre, inmediatamente es ejecutada, y se dice que la función fue invocada o llamada. Una vez que termina la ejecución de la función (finalizó con su tarea), el control de ejecución es devuelto al punto desde el cual la función fue llamada.
        • Las funciones pueden tener parámetros que modifican su funcionamiento. Estos par ámetros se suministran a la función cuando esta es invocada.
        • En la programación orientada a objetos, las funciones se utilizan para definir los métodos de las clases.
      • Una función no puede ser invocada (llamada) si no ha sido declarada previamente. La declaración de una función, llamada también prototipo de la función tiene el siguiente formato:
      • Donde:
      • tipo_de_retorno : tipo del valor devuelto por la función, puede ser de un tipo predefinido del C++, de un tipo definido por el usuario, o de tipo void que indica que no retorna ningún valor.
      • nombre_función : cualquier identificador válido.
      • tipo param1, tipo param2 ... tipo paramn: Tipos de valores que se le deben suministrar a la función para que haga su trabajo; estos valores se conocen como parámetros. Algunas funciones no los requieren.
      Parámetros formales o ficticios tipo_de_retorno nombre_función (tipo param 1 , tipo param 2 , .. tipo param n );
      • Los parámetros de una función pueden ser por valor y por referencia, o puede no tener parámetros.
      • Párametros por valor: En C++ el paso por valor significa, que cuando el control pasa a la función, los valores de los parámetros en la llamada, se copian en los parámetros formales o ficticios de la función. Si se cambia el valor de un parámetro que fue pasado por valor, el cambio solo re refleja en la función y no tiene efecto fuera de esta.
      • Parámetros por referencia: Cuando se necesita que un parámetro pasado a la función, sea modificado por alguna de las instrucciones que esta contiene y su valor devuelto al punto donde fue invocada la función, se debe pasar el parámetro por referencia.
      • Para declarar un parámetro como paso por referencia, el símbolo & debe preceder al nombre del parámetro.
      • La definición de una función le indica al compilador como ésta trabaja. Incluye el encabezado y el cuerpo de la función.
      • El encabezado es igual al prototipo de la función, pero sin el punto y coma.
      • El cuerpo describe lo que hace la función y va encerrado entre llaves. La definición de una función tiene siguiente formato:
      • Si una función tiene un tipo de retorno, ésta lo devuelve utilizando la sentencia return que normalmente aparece al final.
      • Una función puede tener más de una sentencia return.
      tipo_de_retorno nombre_función (tipo param1, tipo param2, .. tipo paramn) { acciones //cuerpo de la función }
    • A continuación se muestra la definición de la función LeerNombre, string LeerNombrePersona() { string nom; //variable local de la función cout << &quot;Ingrese nombre de la persona&quot;; cin.sync(); /*limpia el Buffer antes de leer el string nom*/ getline(cin,nom); //lee nom de tipo string return nom; //retorna la variable nom }
      • Las funciones para poder ser ejecutadas han de ser llamadas o invocadas. Una función se invoca por su nombre, y se le debe suministrar valores a cada uno de los parámetros incluidos en su definición (si los tiene).
      • Una función que es llamada, recibe el control del programa, comenzándose a ejecutarse desde el principio y cuando termina (se alcanza una sentencia return o la llave de cierre (})) el control del programa vuelve y retorna al punto desde el cual la función fue llamada.
      • A continuación se muestra como invocar la función LeerNombrePersona definida anteriormente.
      string nombre; /*declaración de la variable que recibirá lo que retorna la función*/ nombre = LeerNombrePersona(); /*llamada de la función*/