Análisis y Diseño de Algoritmos
Prof: Ing. Victor Garro
Asistente: Marco Elizondo Vargas
PROGRAMACION
EN C++
1) Realización de cálculos utilizando expresiones aritméticas
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