Sei sulla pagina 1di 21

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

INGENIERÍA ELECTRICA

PROGRAMACION ORIENTADA A OBJETOS


PRACTICA 1.
FUNCIONES DE ENTRADA Y SALIDA C++

Al término de la práctica, enviar con el formato establecido, en clase, al correo de


envió de tareas.

La práctica debe contener, (impresiones en pantalla, una carpeta principal, y


subcarpetas donde contenga cada subcarpeta los ejemplos y ejercicios. Además
de adjuntar archivos cpp y .exe

E/S POR CONSOLA EN C++

INTRODUCCION TEORICA

Entrada y Salida estándar en C++ .

Un programa en C++ puede realizar operaciones de entrada y salida de varias formas distintas.
A continuación describiremos lo que se conoce como flujos. Un flujo de entrada no es más que
la serie de entradas que alimentan un ordenador para que el programa las utilice. En esta
sección supondremos que la entrada proviene del teclado. Asimismo, un flujo de salida es la
serie de salidas que el programa genera. En esta sección supondremos que las salidas se envían
a la pantalla de un terminal
PROGRAMACIÓN ORIENTADA A OBJETOS

En C++ se pueden seguir utilizando las mismas sentencias para mostrar información por
pantalla o pedirla mediante teclado. Pero a estas antiguas se añaden 2 nuevas de la misma potencia
y mayor facilidad de uso. La cabecera que utilizan estas dos sentencias es iostream.h.

Salidas con cout


Los valores de variables se pueden enviar a la pantalla empleando cout. Es posible enviar a la
pantalla cualquier combinación de variables y cadenas.
Por ejemplo:

cout << num_dulces << “dulces\n”;

Esta instrucción le dice a la computadora que despliegue dos cosas: el valor de la variable
num_dulces y la cadena “dulces\n”. Esta instrucción es equivalente a:

cout << num_dulces ;


cout << “dulces\n”;

En los ejemplos anteriores hemos utilizado una secuencia de caracteres especial ‘\n’. Esta
secuencia indica al ordenador que salte a una nueva línea en la salida.

Existen otras secuencias especiales. Todas ellas empiezan con ‘\’ y se les llama secuencias de
escape. No deben aparecer espacios entre ‘\’ y el carácter.

Se pueden incluir expresiones aritméticas, como se muestra en el siguiente ejemplo:


cout << “El precio total es: “ << (precio1 + precio2);
El doble símbolo << se conoce como operador de inserción.

Algunas secuencias de escape:

\n nueva línea
\t tabulación horizontal.
\\ diagonal invertida
\” comillas dobles
Ejemplo:

// Envia una línea en blanco a la salida estándar

//(pantalla)

cout << “\n”;

Practica 1 2
PROGRAMACIÓN ORIENTADA A OBJETOS

Otra forma de enviar un salto de línea es la utilización de endl.


// Envia una línea en blanco a la salida estándar (pantalla)

cout << endl;

Entrada con cin


cin es el flujo de entrada estándar. Supondremos que la entrada estándar es el teclado.

Veamos un ejemplo:

cin >> num_pasteles;

En la sentencia anterior lo que hacemos es leer un dato introducido por teclado y almacenarlo
en una variable ‘num_pasteles’.

Entrada y Salida de caracteres.

Todos los datos se envían como caracteres. Cuando un programa envía a la salida el número 10,
en realidad lo que envía son los dos caracteres ‘1’ y ‘0’. Qué la computadora interprete el
número 10 o los caracteres ‘1’ y ‘0’ depende del programa.

C++ ofrece algunos recursos para la entrada y salida de datos de caracteres.

Funciones miembro o métodos:

• get: permite a un programa leer un carácter de entrada y guardarlo en una variable de tip
char. Está función toma un argumento, que debe ser una variable de tipo char. Por
ejemplo:

char siguiente_simbolo;
cin.get(siguiente_simbolo);

Comparación de cin >> y cin.get:


char c1,c2,c3,c4,c5;
//Introduce 4 caracteres en 2 lineas diferentes
cin.get(c1);
cin.get(c2);
cin.get(c3);
cin.get(c4);
//Imprimo los caracteres leidos
cout << "Los 4 caracteres leidos son:\n";
cout.put(c1);
cout.put(c2);
cout.put(c3);
cout.put(c4);

Practica 1 3
PROGRAMACIÓN ORIENTADA A OBJETOS

Con cin >>:

//Prueba con cin


char c1, c2, c3, c4;

//Introduce 4 caracteres separados por espacios


cin >> c1;
cin >> c2;
cin >> c3;
cin >> c4;
cout << "Los 4 caracteres leidos son:\n";

cout << c1 << c2 << c3 << c4;

La diferencia consiste en que el primero lee los espacios y ‘\n’ y los almacena en las
variables y el segundo ignora estos caracteres y los utiliza como caracteres
separadores.

put: es análoga a la función miembro get sólo que se emplea para salida. Mediante put un
programa puede enviar a la salida un carácter. La función miembro put recibe Un
argumento que debe ser una expresión de tipo char (constante o variable).

Por ejemplo:
char ch;
ch=’a’;
cout.put(ch);

ignore: este método permite descartar caracteres existentes en el buffer de entrada.


char ch1,ch2;
cout << “ Introduce 2 caracteres en líneas diferentes:\n”;
cin.get(ch1);
cin.ignore(); //Ignora ‘\n’
cin.get(ch2);
cin.ignore(); // Ignora ‘\n’
cout << “Los caracteres leídos son:\n”;
cout.put(ch1);
cout.put(‘ ‘); //Escribo un espacio de separacion
cout.put(ch2);

SINTAXIS.
MOSTRAR POR PANTALLA:

cout << expresión;

PEDIR POR TECLADO:

Practica 1 4
PROGRAMACIÓN ORIENTADA A OBJETOS

cin >> variable; La variable pude ser de cualquier tipo.

EJEMPLOS.
Realizar los siguientes ejemplos, explicando la ejecución del método y que realiza cada
función.

/**ejemplo 1
* Hola.cpp
* Codigo que simplemente muestra el mensaje estandar Hola
* Compilado: g++ Hola.cpp -o Hola
*/
using namespace std;
#include <iostream>
int main () {
// Sacamos por salida estandar un mensaje
cout << "Hola!\n";
return 0;
}

Practica 1 5
PROGRAMACIÓN ORIENTADA A OBJETOS

1.- En este ejercicio vimos como imprimir texto que a diferencia de el lenguaje c utilizamos cout
en lugar de printf, aparte de usar el using namespace para palabras reservadas.

/** ejemplo2
* Test.cpp
* Programa del ejemplo simple, para saber qué es lo que hace ejecútalo
*/

using namespace std;


#include <iostream>
int main() {
int x = 5;
int y = 7;
cout << "\n";
cout << x + y << " " << x * y;
cout << "\n";
return 0;
}

Practica 1 6
PROGRAMACIÓN ORIENTADA A OBJETOS

2.-Al igual que en el ejemplo anterior vemos la diferencia con el lenguaje c y coorroboramos que las operaciones
aritméticas se pueden hacer de la misma mmanera que el lenjuage c.

/**Ejemplo 3
* Logicos.cpp
* Programa para probar operadores Logicos
*/
using namespace std;
#include <iostream>
int main () {
// Sacamos por salida standar un mensaje
cout << "Vamos a probar los operadores\n";
unsigned int test = 0;
int a = 23, b = 21, c = 34;
// Veamos el resto de valores
cout << "Valores: " << c << " " << b << " " << a << endl;
// Tomamos el valor a
cout << "Dame valores. \na=";
cin >> a;
// Tomamos el valor b
cout << "b=";
cin >> b;
// Tomamos el valor c
cout << "c=";
cin >> c;
cout << "Y ahora son estos: c=" << c << " b=" << b << " a=" << a << endl;
// Veamos una sentencia if-else sencilla
if (!(a == b))
cout << "a y b no son iguales" << endl;
else
cout << "a y b son iguales" << endl;
// Veamos otra sentencia if-else sencilla
if ((a == b) || (b == c))
cout << "A y B son iguales o B y C son iguales" << endl;

Practica 1 7
PROGRAMACIÓN ORIENTADA A OBJETOS
else
cout << "ni A y B son iguales ni B y C son iguales" << endl;
// Nota. Ley de De Morgan
// !(A && B) == !A || !B
// !(A || B) == !A && !B
return 0;
}

3.-Este ejemplo nos muestra igual las diferencias entre lenguajes y ahora vemos que utilizamos la
palabra cin en lugar de scanf la cual nos sirve para leer un dato introducido por teclado y almacenarlo
en una variable.

/**ejemplo 4
* Logicos2.cpp
* Programa para probar operadores Logicos 2
*/
using namespace std;
#include <iostream>
int main () {
// Sacamos por salida standar un mensaje
cout << "Vamos a probar los operadores\n";
unsigned int test = 0;
int a = 23, b = 21, c = 34;
// Veamos el resto de valores
cout << "Valores: " << c << " " << b << " " << a << endl;
// Tomamos el valor a
cout << "Dame valores. \na=";
cin >> a;
// Tomamos el valor b

Practica 1 8
PROGRAMACIÓN ORIENTADA A OBJETOS
cout << "b=";
cin >> b;
// Tomamos el valor c
cout << "c=";
cin >> c;
cout << "Y ahora son estos: c=" << c << " b=" << b << " a=" << a << endl;
// Veamos una sentencia if-else sencilla
if (!a)
cout << "A es false (igual 0)" << endl;
else
cout << "A es true (distinto de 0)" << endl;
// Veamos una sentencia if-else sencilla
if (!b)
cout << "B es false (igual 0)" << endl;
else
cout << "B es true (distinto de 0)" << endl;
// Veamos una sentencia if-else sencilla
if (!c)
cout << "C es false (igual 0)" << endl;
else
cout << "C es true (distinto de 0)" << endl;
// Sentencia con operador logico o TERNARIO ()?:
c = (a == b)?0:1;
cout << "C es : " << c << endl;
return 0;
}

4.-Nuevamente observamos que los operadores logicos se usan de igual manera que en el lenguaje c,
tambien vemos que para las condicionales if else se usa la misma sintaxis que en lenguaje c.

EJEMPLO: 5

Practica 1 9
PROGRAMACIÓN ORIENTADA A OBJETOS

#include <iostream.h>
#include <stdio.h>
#include <conio.h>

void main()
{
int i,j;
double d;
clrscr();

i=10;
j=15;
cout <<”Introducir valor: “;
cin>>d;

cout << “Estos son los valores: “;


cout << i << “ “<< j << “ “<< d;
getch();
}

PROGRAMA CORREGIDO
using namespace std;
#include <iostream>
int main()
{
int i,j;
double d;
i=10;
j=15;
cout <<"Introducir valor: ";
cin>>d;

cout << "Estos son los valores: ";


cout << i << " "<< j << " "<< d;
}

Practica 1 10
PROGRAMACIÓN ORIENTADA A OBJETOS

5.-En este ejemplo utilizamos el coocimiento que adquirimos en los ejemplos anteriores para poder
corregir el programa.

EJERCICIOS.
Realice los siguientes ejercicios en forma manual y posteriormente realice un programa para encontrar
una solución, comparar ambos casos (en forma manual y en programa)

Nota: aplica para todos los ejercicios.

Ejercicio 1 evaluación de expresiones.

Suponga que:

distancia =1, V=50, n=10, t=5.

Evalué las siguientes expresiones.

a) n/t+3

b) v/t +n-10* distancia

c) distancia/5

Practica 1 11
PROGRAMACIÓN ORIENTADA A OBJETOS

d) 18/t

e) –t*n

f) –v/20

g) –v/20

h) v – 3 * n +4 * distancia

i) (v+n)/ (t + distancia)

j) V+n/t+distancia

PROGRAMA REALIZADO

using namespace std;

#include <iostream>

int main ()

int t,d,v,n;

d=1;

v=50;

n=10;

t=5;

cout << "\n";

cout << n / t + 3;

cout << "\n";

cout << v/t+n-10*d;

cout << "\n";

cout << d/5;

cout << "\n";

cout << 18/t;

cout << "\n";

Practica 1 12
PROGRAMACIÓN ORIENTADA A OBJETOS

cout << -t*n;

cout << "\n";

cout << -v/20;

cout << "\n";

cout << v-3*n+4*d;

cout << "\n";

cout << (v+n)/ (t + d);

cout << "\n";

cout << v+n/t+d;

cout << "\n";

return 0;

Ejercicio 2 Expresiones con punto flotante.

Determine el valor de las siguientes expresiones en punto flotante.

a) 3.0 + 4.0 * 6.0

b) 3.0 * 4.0 / 6.0 + 6.0

c) 2.0 * 3.0 /12.0 * 8.0 /4.0

d) 10.0 * (1.0 + 7.0 *3.0)

e) 20.0 – 2.0 / 6.0 + 3.0

f) 20.0 -2.0 / (6.0 +3.0)

g) (20.0 - 2.0) / 6.0+3.0

h) (20.0 – 2.0 ) / (6.0 +3.0)

Practica 1 13
PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMA REALIZADO

using namespace std;

#include <iostream>

int main ()

float a,b,c,d,e,f,g,h;

a=3.0+4.0*6.0000;

b=3.0 * 4.0 / 6.0 + 6.0;

c=2.0 * 3.0 /12.0 * 8.0 /4.0;

d=10.0 * (1.0 + 7.0 *3.0);

e=20.0 - 2.0 / 6.0 + 3.0;

f=20.0 -2.0 / (6.0 +3.0);

g=((20.0 - 2.0) / 6.0+3.0);

h=((20.0 - 2.0 ) / (6.0 +3.0));

cout << "\n";

cout<<"a="<<a;

cout << "\n";

cout<<"b="<<b;

cout << "\n";

cout<<"c="<<c;

cout << "\n";

cout<<"d="<<d;

cout << "\n";

Practica 1 14
PROGRAMACIÓN ORIENTADA A OBJETOS

cout<<"e="<<e;

cout << "\n";

cout<<"f="<<f;

cout << "\n";

cout<<"g="<<g;

cout << "\n";

cout<<"h="<<h;

return 0;

Ejercicio 3 Calculo de resistencia de un circuito serie.

Realizar un programa que calcule la resistencia total de un circuito en serie. En tal circuito, la resistencia
total es la suma de todos los valores individuales de las resistencias, suponga que el circuito en una
cantidad de resistores de 56 Homs, 33 homs y 15 homs.

Suponga que la cantidad de

Resistores de 56 ohms es “m”

Resistores de 33 ohms es “n”

Resistores de 15 ohms es “p”

PROGRAMA REALIZADO

Practica 1 15
PROGRAMACIÓN ORIENTADA A OBJETOS

using namespace std;

#include <iostream>

int main ()

float m,n,p,rt,s;

m=56;

n=33;

n=15;

cout<<"valor de resistencia m=";

cin>>m;

cout<<"\nvalor de la resistencia n=";

cin>>n;

cout<<"\nvalor de la resistencia p=";

cin>>p;

rt=m+n+p;

cout<<"\nla resistencia total es="<<rt;

Ejercicio 4.Distancia de un automóvil

Realizar un programa que calcule la distancia de un automóvil, si:

Distancia = velocidad de viaje/ tiempo transcurrido

Distancia “millas”

Velocidad de viaje “millas/hora”

Tiempo transcurrido “horas”

Modificar o agregar un resultado más, si el tiempo transcurrido se da en “minutos”

PROGRAMA REALIZADO

Practica 1 16
PROGRAMACIÓN ORIENTADA A OBJETOS

using namespace std;

#include <iostream>

int main ()

int numero;

float d,t,t1,v;

cout<<"Digite 1 para tiempo en minutos y 2 para tiempo en horas";

cin>>numero;

switch(numero)

case 1: cout<<"El tiempo en minutos es: ";

cin>>t1;

cout<<"La velocidad en millas por horas es: ";

cin>>v;

t=t1/60;

d=v/t;

cout<<"La distancia en millas es: "<<d;

break;

case 2:cout<<"El tiempo en horas es: ";

cin>>t;

cout<<"La velocidad en millas por horas es: ";

cin>>v;

Practica 1 17
PROGRAMACIÓN ORIENTADA A OBJETOS

d=v/t;

cout<<"la distancia en millas es: "<<d;

break;

default: cout<<"No digito un numero entre 1 y 2"; break;

Ejercicio 5. Intereses.

En 1627 la isla de Chalco fue vendida a los franceses por 24 pesos, Si los ingresos de esa venta se hubieran
depositado en un banco que paga el 5% de intereses anuales.

Cuál sería el saldo principal al final del año 2010?

PROGRAMA REALIZADO

using namespace std;

#include<stdio.h>

Practica 1 18
PROGRAMACIÓN ORIENTADA A OBJETOS

#include<conio.h>

#include<math.h>

#include<iostream>

int main()

double capital, tasa, interes, potencia;

int meses;

cout<<"Da el valor del capital inicial:\n";

cin>>capital;

cout<<"Da el valor del interes:\n";

cin>>tasa;

cout<<"Da el numero de meses a calcular:\n";

cin>>meses;

for(int i=1; i<= meses; i++)

if(i==1)

potencia = (1+(tasa/100));

else

potencia *= (1+(tasa/100));

Practica 1 19
PROGRAMACIÓN ORIENTADA A OBJETOS

interes = capital * potencia;

cout<<"El resultado es:\n"<<interes;

return 0;

CONCLUSION

Esta practica nos sirvió principalmente para poder notar las diferencias entre el lenguaje c y c++
gracias a los ejemplos mostrados pude notar grandes diferencias a la hora de leer e imprimir
datos entre lenguajes, esas palabras son printf y sacnf que fueron remplazadas por cout y cin
que utilizábamos anteriormente.

Practica 1 20
PROGRAMACIÓN ORIENTADA A OBJETOS

También pude notar que al momento de usar operadores lógicos, aritméticos y operadores
condicionales se utilizaban y declaraban de la misma manera.

Practica 1 21

Potrebbero piacerti anche