Vous êtes sur la page 1sur 4

Prcticas de C++

Practica N 6

Informtica II Fundamentos de Programacin


Prof. Dr. Paul Bustamante

Practica N6 Programacin en C++

Pg. 1

NDICE
NDICE ........................................................................................................................................ 1 1. Introduccin...................................................................................................................... 1 1.1 Ejercicio 1: Mi primera Funcin ................................................................................ 1 1.2 Ejercicio 2: Funcin Calculo...................................................................................... 1 1.3 Ejercicio 3: complejos con Funciones........................................................................ 2

1. Introduccin.
Como ya lo hemos venido haciendo, el primer ejercicio de esta prctica debe realizarlo solo, con el fin de que pueda ganar ms experiencia en la programacin en C++. En algunos ejercicios se dar el cdigo, lo que no significa que slo tenga que escribirlo en el ordenador, debe tratar de realizarlos por su cuenta. Recuerde borrar los ficheros que estn en los subdirectorios \debug y \release del proyecto, para que libere espacio en su disco G\. 1.1 Ejercicio 1: Mi primera Funcin Este ejercicio pretende introducirle en el uso de las funciones. Para ello vamos a hacer una sencilla funcin que calcule el rea de un tringulo. Como bien sabr, para calcular el rea de un tringulo es necesario conocer la base y la altura. Estos datos debe pedirlos al usuario y luego calcular el rea por medio de la funcin. Crear el proyecto Ejer1 y el fichero AreaTriangulo.cpp (con el sgte. cdigo):
#include <iostream.h> float AreaTriangulo( float , float ); void main(void) { float base,alt; cout << "Escribe la base: " ; cin >> base; cout << "Escribe la altura: " ; cin >> alt; cout << "El area del triangulo es: " << AreaTriangulo(base,alt); } float AreaTriangulo( float b, float h) { float tmp = b*h/2.0; return tmp; }

//declaracin

1.2 Ejercicio 2: Funcin Calculo Vamos a introducirnos en el clculo de la posicin de un cuerpo en cada libre. La ecuacin que rige este movimiento es: g *t2 y =h h: altura inicial (mts.) g: 9.81m/s^2 2.0 El ejercicio consiste en ir sacando por la consola las posiciones del cuerpo para un determinado diferencial de tiempo (dt), hasta que el cuerpo llegue a la superficie. Se debe ir almacenando el tiempo para ver cal es la duracin de la cada.
Informtica II Fundamentos de Programacin - Tecnun

Practica N6 Programacin en C++

Pg. 2

Los datos que el usuario debe dar son dos: 1) Altura de la cada del cuerpo (en mts.). 2) Diferencial de tiempo para el clculo (en milisegundos). La estructura del programa podra ser la siguiente:
#include <iostream.h> #include <math.h> void Calcula(float alt, float dt); void main(void) { float alt, dt, tot; cout << "Escribe la altura de la caida: " ; cin >> alt; cout << "Escribe el dt(ms) para el calculo: " ; cin >> dt; tot = Calcula(alt,dt); cout << "Tiempo total en caer(ms): " << tot << endl; } float Calcula(float alt, float dt) { //escribir el cdigo de la funcin return ?? }

Recuerde que el tiempo al inicio es cero, luego debe ir incrementndolo de acuerdo a lo que el usuario ha especificado por medio de dt. La funcin calcula debe devolver el tiempo total de la cada e imprimirlo al final de main. Para hacer este programa crea el proyecto Ejer2 y el fichero CaidaLibre.cpp.

1.3 Ejercicio 3: complejos con Funciones Este ejercicio consiste en hacer un programa que sume, reste, multiplique y divida 2 complejos, tal como en la prctica anterior, con la salvedad que ahora, como ya hemos aprendido en clase cmo se declaran y usan las funciones, tenemos que hacerlo todo con funciones, de tal forma que vamos dotar de modularidad a nuestro programa. A continuacin se muestra parte del cdigo, el cual Ud. debe completar para hacer todo lo que se pide:
#include <iostream.h> struct complejo{ float r,i; }; int Menu(); complejo GetComplejo(); PrtComplejo( complejo c); complejo Suma( complejo c1, complejo c2); void main() { complejo c1,c2,c3; char *operador[]={" +"," -"," *"," /"}; Informtica II Fundamentos de Programacin - Tecnun

Practica N6 Programacin en C++ while(true){ int opt=Menu(); if (opt==5) break; c1=GetComplejo(); c2=GetComplejo(); switch(opt){ case 1: c3=Suma(c1,c2); break; case 2: /*c3=Resta(c1,c2);*/ break; case 3: /*c3=Multiplica(c1,c2);*/ break; case 4: /*c3=Divide(c1,c2);*/ break; } PrtComplejo(c1); cout << operador[opt-1]; PrtComplejo(c2); cout << "\n -------- "; PrtComplejo(c3);

Pg. 3

} } complejo Suma( complejo c1, complejo c2) { complejo c; c.r=c1.r+c2.r; c.i=c1.i+c2.i; return c; } PrtComplejo( complejo c) { cout << "\n(" << c.r << "," << c.i<<"i)"; } complejo GetComplejo() { complejo c1; char ch; cout << "Dar r,i: "; cin >> c1.r >> ch >> c1.i; return c1; } int Menu() { int opt; while(true){ cout << "\n\n**** Menu ****"; cout << "\n1. Sumar"; cout << "\n2. Restar"; cout << "\n3. Multiplicar"; cout << "\n4. Dividir"; cout << "\n5. Salir"; cout << "\n\tOpcion: "; cin >> opt; if (opt > 0 && opt < 6) return opt; }

Informtica II Fundamentos de Programacin - Tecnun

Vous aimerez peut-être aussi