Análisis y Diseño de Algoritmos                                                                                                      

Prof: Ing. Victor Garro

Asistente: Marco Elizondo Vargas

 

PROGRAMACION EN C++

 

 

CAPITULO 4 Expresiones Matemáticas

 

 

1)      Realización de cálculos utilizando expresiones aritméticas

 

Una expresión es una combinación de operadores y operandos y siguen las reglas del algebra

 

 

OPERADOR

OPERANDO

+

SUMA

-

RESTA

*

MULTIPLICACION

/

DIVISION

%

PORCENTAJE

 

Los operadores + - * / se pueden utilizar con cualquiera de los tipos de datos básicos y solo el % se debe utilizar con tipos enteros, el operador modulo devuelve el resto de una división entera.

El signo – tiene dos funciones, primera es el operador de resta  y segunda se puede usar como menos monario para invertir el signo de un numero, un operador monario utiliza un operando.

Los operador * / y % tienen mayor prioridad que + y –

 

Ej:

 

#include <stdio.h> à Es importante observar que los signos  <>  los utilizamos en una biblioteca o librería de C++, en cambio las “ “ las  pondremos cuando creemos nuestras  bibliotecas o librerías

 

main ( )

{

  printf (“%d”, 5/2”);

  printf (“ %d”, 5%2”);

  printf (“ %d”, 4/2”);

  printf (“ %d”, 4%2”);

}

 

2)      Añadir comentarios a un programa

 

Esto es lo mas fácil de todo imaginemos que tenemos un código escrito en C++  con miles de funciones si tuviéramos que retomar ese código pasado algún tiempo nos perderíamos enseguida, pues los comentarios solo sirven para recordarnos lo que hace ese código fuente en cada  momento, los comentarios se pueden poner de dos formas, la primera con /* comentario */ o bien de esta otra forma //comentario, bien los comentarios solo se rigen mediante una regla y es que tienen que ir al final de una función o encima de la función pero nunca entre la función

 

Ej:

 

//Intrusión de librerías à Comentario correcto

#include  <stdio.h>

/* Comienzo del main */à Comentario correcto

main ( )

{

  printf (“Esto es /* imprime en pantalla Esto es */”);à Este comentario estaría mal puesto y nos daría un error

}

 

3)      Escriba sus propias funciones

 

Las funciones  son bloques constituyentes de C hasta ahora los pocos ejemplos que hemos visto solo traían la función main ( ),sin embargo la mayoría de los programas que se  escriban tendrán multitud de funciones

 

Ej:

 

#include <stdio.h>

 

main ( ) à  Function principal

{

   printf (“Estoy probando”)

   funcionX; // Llama a la funcionX

 

 Funcion1 ( )

 {

   printf (“De funciones”);

  }

.

.

.

 FuncionX ( )

 {

   printf (“ Un ejemplo “);

   funcion1; // Llama a la funcion1

 }

}

 

 

Cada función debe ser llamada con un nombre distinto nunca en la vida pueden haber dos funciones con el mismo nombre, veamos el ejemplo anterior luego aprenderemos ha llamar a funciones desde otra funciones.

 

Como vemos al principio tenemos la biblioteca aunque a partir de ahora la llamaremos librería

Luego tenemos la  función principal el main, dentro del main tenemos varias funciones y dentro de cada función tenemos las sentencias si nos damos cuentas tenemos una sentencia que se llama funcionX; esto lo que hace es llamar a dicha función

 

Resumiendo lo que este programa mostraría es Estoy probando un ejemplo de funciones

 

4)      Utilización de funciones para devolver valores

 

Al igual que hemos utilizado las funciones para llamar a otras funciones también podemos utilizar la funciones para devolver un valor

 

Ej:

 

//librerías necesarias

#include <stdio.h>

#include <math.h>à Librería necesaria para cualquier calculo matemático

 

//función Main

Main ( )

{

  double answer;  à Variable de tipo doble

  answer = sqrt (10.0); à sqrt se usa para sacar la raiz cuadrada y una vez que haya sido sacada la variable answer tomara ese valor

  printf (“%f”, answer”);

}

 

5)      Utilización de argumentos de una función

 

Como se indicó anteriormente un argumento de función es un valor que se pasa a una función cuando se llama dicha función, una función puede tener cero o varios argumentos el limite viene dado por el compilador que se este utilizando pero el ANSI deja por lo menos 31 argumentos.

 

Ej:

 

#include <stdio.h>

 

main ()

{

 sum (1, 20);

 sum ( 9, 6);

 sum (81, 9);

}

 

sum (int x, int y)

{

 printf (“%d”, x+y);

}

 

Para finalizar este tema, debe mencionarse el hecho de que es posible alterar el formato de impresión de los datos en pantalla mediante el uso de la funcionalidad que proporciona la biblioteca iomanip. Mediante la misma es posible indicar el número de decimales de precisión con el que queremos escribir un número en punto flotante, el número de espacios que vamos a emplear para escribir un dato, caracteres de relleno, etc. Esto se realiza mediante la inserción en el flujo de salida de modificadores, que afectarán a los datos que se introduzcan a continuación. Alguno de estos modificadores son los siguientes:

 

setprecision(). Para indicar el número de dígitos significativos en un dato en

punto flotante. Afecta a todos los datos que se introduzcan con posterioridad.

setw(). Permite indicar el número de espacios que se emplearán para escribir

un dato, alineando al mismo a la derecha dentro de dicho espacio. Si el espacio

requerido es mayor que el indicado, el modificador se ignora. Sólo afecta al

dato que se indica a continuación.

setfill(): Para especificar el carácter de relleno que se empleará para los

espacios no usados al escribir un dato (según un modificador setw()).

 

A continuación se muestra un ejemplo:

 

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

const double a1 = 1.1;

const double a2 = 10.12;

const double a3 = 101.179;

cout << setprecision(2) << a3 << endl;

cout << setprecision(4) << a3 << endl;

cout << setprecision(5) << a3 << endl;

cout << “a1” << setw(10) << setfill(‘.’) << a1 << endl;

cout << “a2” << setw(10) << setfill(‘.’) << a2 << endl;

cout << “a3” << setw(10) << setfill(‘.’) << a3 << endl;

}

 

Este código produciría la siguiente salida en pantalla:

 

1e+02

101.2

101.18

a1.......1.1

a2.....10.12

a3....101.18

Free Web Hosting