Sunteți pe pagina 1din 29

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECANIA Y ELECTRICA DEPARTAMENTO DE INGENIERA ELCTRICA ACADEMIA DE COMPUTACIN

MTODOS NUMRICOS
TAREA 2: SOLUCION DE EJERCICIOS CAPITULO 2

Nombre: MARTINEZ HERNANDEZ ADRIAN Boleta: 2013301293 Profesor: ING. ENRIQUE MARTNEZ ROLDN
Fecha:

Grupo:2AV6 Carrera:ICA

26 de Febrero del 2013

Captulo 2 Problema 1:ejecutar el siguiente cdigo fuente (declarando valor_logico como entero y luego declarndolo como float): cout<<valores lgicos de las siguientes expresiones <<endl; cout<<3>5<<endl; cout<<5>3<<endl; cout<<15>3*5<<endl; cout<<!(5==3)<<endl; Anlisis: Clculos: 3>5;5>3;15>3*15;!(5==3) Datos de Salida: 1 o 0

Algoritmo : programa que da un valor a expresiones

Inicio: Var: int valor_logico Imprimir: valor lgico de las siguientes expresiones Valor valor_logico=(3>5)es =, valor_logico ; Imprimir: valor_logico valor_logico= (5>3) es=, valor_logico; imprimir: valor_logico valor_logico= (15>3*15) es =, valor_logico; imrpimir: (15>3*15)es= , valor lgico; valor_logico=!(5==3); imprimir:! (5==3)es =, valor_logico Fin

Implementacin en Lenguaje C++: #include <iostream> 2

#include <stdio.h> using namespace std; int main() { Int valor_logico; valor_logico=(3>5); cout <<"(3>5)es ="<< valor_logico<< endl; valor_logico=(5>3); cout <<"(5>3)es ="<< valor_logico<< endl; valor_logico=(15>3*15); cout <<"(15>3*15)es ="<< valor_logico<< endl; valor_logico=!(5==3); cout <<"!(5==3)es ="<< valor_logico<< endl; return 0; } Captura de Pantalla de Salida:

Anlisis: Clculos: 3>5;5>3;15>3*15;!(5==3) Datos de Salida: 1 o 0

Algoritmo : programa que da un valor a expresiones 3

Inicio: Var: float valor_logico Imprimir: valor lgico de las siguientes expresiones Valor valor_logico=(3>5)es =, valor_logico ; Imprimir: valor_logico valor_logico= (5>3) es=, valor_logico; imprimir: valor_logico valor_logico= (15>3*15) es =, valor_logico; imrpimir: (15>3*15)es= , valor lgico; valor_logico=!(5==3); imprimir:! (5==3)es =, valor_logico Fin

Implementacin en Lenguaje C++: #include <iostream> #include <stdio.h> using namespace std; int main() { float valor_logico; valor_logico=(3>5); cout <<"(3>5)es ="<< valor_logico<< endl; valor_logico=(5>3); cout <<"(5>3)es ="<< valor_logico<< endl; valor_logico=(15>3*15); cout <<"(15>3*15)es ="<< valor_logico<< endl; valor_logico=!(5==3); cout <<"!(5==3)es ="<< valor_logico<< endl; return 0; } 4

Captura de Pantalla de Salida:

Problema 2) escribir un programa que tras pedir 2 numeros por la pantalla muestra cual es el mayor nmero (hgase con la sentencia if y con el operador condicional: expresin? valor1:valor2)

Anlisis: determinar que numero es mas grande que el otro Datos de entrada: valor1, valor2 Clculos: si valor1<valor 2 entonces; si valor2<valor1 entonces; Datos de salida: valor1, valor 2 valor2, valor1 Algoritmo: Inicio: Var: valor1,valor2; Imprimir: dame el primer valor; Leer: valor1; Imprimir: dame el segundo valor; Leer: valor2; Si valor1>valor2 entonces; Imprimir: valor1 Imprimir: valor2; Valor1<valor2; Imprimir= valor2: 5

Imprimir: valor1; Fin Implementacin en Lenguaje C++: #include <iostream> using namespace std; int main() { int valor1, valor2; cout<<"dame el valor 1\n"<<endl; cin>>valor1; cout<<"dame el valor 2\n"<<endl; cin>>valor2; cout<<"\n"<<endl; if(valor1>valor2) { cout<<"valor 1="<<valor1<<"\n"<<endl; cout<<"valor 2="<<valor2<<"\n"<<endl; } else { cout<<"valor 2="<<valor2<<"\n"<<endl; cout<<"valor 1="<<valor1<<"\n"<<endl; } return 0; } Captura de Pantalla de Salida

Problema 3)leer 3 numeros enteros y si el primero es negativo, calcular el producto de los 3, en caso contrario calcular la suma de ellos Anlisis:condicionar que si el primer numero es negativo o positivo Datos de entrada: numero enteros Clculos: Fahrenheit= si x es menor que 0 hacer el producto de los nmeros; si x es mayor o igual a 0 hacer la suma de los nmeros; Datos de salida: x + y + z o x * y * z; Algoritmo: Inicio: Var: x, y, z; Imprimir: introduce el valor de x Leer: x Imprimir: introduce el valor de y Leer: y Imprimir: introduce el valor de z Leer: z Si x<0 entonces x*y*z Si x>0 entonces x+y+z Imprimir: x*y*z o x+y+z; Fin Implementacin en Lenguaje C++: 7

#include <iostream> using namespace std; int main() { int x, y, z; cout<<"dame el valor del primer numero"<<endl; cin>>x; cout<<"dame el valor del segundo numero x"<<endl; cin>>y; cout<<"dame el valor del tercer numero"<<endl; cin>>z; if(x<0) { cout<<x<<"*"<<y<<"*"<<z<<"="<<x*y*z<<endl; } else { cout<<x<<"+"<<y<<"+"<<z<<"="<<x+y+z<<endl; } return 0; } Captura de Pantalla de Salida

Problema 4) Crear un programa que calcule la cada de potencial producida por una resistencia segn la ley de ohm (V*=I*R) a partir de la resistencia y la intensidad que pasa a su travs. Anlisis: ley de ohm Datos de entrada: r y v; Clculos: v= r*i Datos de salida: volts Algoritmo: Inicio: Var: v,r,i; Imprimir: dame el valor de la resistencia Leer: r Imprimir: dame el valor de la intencidad Leer: i V= r*i; si r>0 y r<=1000 entonces Imprimir: el votaje es =v volts Si r<0 y r>1000 entonces Imprimir: lo sentimos el valor de la resistencia no puede ser negativa o mayor a 1000 Fin Implementacin en Lenguaje C++: 9

#include <iostream> using namespace std; int main() { float r,i,v; cout<<"dame el valor de la resistencia\n"<<endl; cin>>r; cout<<"dame el valor de la intensidad\n"<<endl; cin>>i; v=r*i; if(r>0 && r<=1000) { cout<<"el voltaje es ="<<v<<"v"<<endl; } else { cout<<"lo sentimos el valor de la resistencia no puede ser negativa ni ser mayor a 1000 ohm's"<<endl; } return 0; } Captura de Pantalla de Salida

10

Problema 5) sea un sistema de ecuaciones de la forma: ax+by=c dx+ey=y que puede resolverse usando las sig. Formulas x= (ce-bf)/(ae-bd) y=(af-cd)/(ae-bd) Anlisis: Datos de entrada: a,b,c,d,e,f Clculos: x= (ce-bf)/(ae-bd) y=(af-cd)/(ae-bd) Datos de salida: valor x valor y Algoritmo: Inicio: Var: a,b,c,d,e,f,x,y; Imprimir: dame el valor de a Leer: a Imprimir: dame el valor de b Leer: b Imprimir: dame el valor de c Leer: c Imprimir: dame el valor de d Leer: d Imprimir: dame el valor de e Leer: e Imprimir: dame el valor de f 11

Leer: f

x=((c*e)-(b*f))/((a*e)-(b*d)); y=((a*f)-(c*d))/((a*e)-(b*d)); si a*e b*f es diferente de 0 entonces Imprimir: imprimir resultado de x y y Si a*e-b*f es = a 0 entonces Imprimir: el valor de x y y es indefinido Fin Implementacin en Lenguaje C++: #include <iostream> using namespace std; int main() { float x,y,a,b,c,d,e,f; cout<<"dame el valor de a\n"<<endl; cin>>a; cout<<"dame el valor de b\n"<<endl; cin>>b; cout<<"dame el valor de c\n"<<endl; cin>>c; cout<<"dame el valor de d\n"<<endl; cin>>d; cout<<"dame el valor de e\n"<<endl; cin>>e; cout<<"dame el valor de f\n"<<endl; cin>>f; x=((c*e)-(b*f))/((a*e)-(b*d)); y=((a*f)-(c*d))/((a*e)-(b*d)); if(((a*e)-(b*d))!=0) { cout<<"el valor de x es ="<<x<<endl; 12

cout<<"el valor de y es ="<<y<<endl; } else { cout<<"El valor de x y y es indefinido"<<endl; cout<<"Error el denominador de la divicion en x, y no puede tener valor de 0"<<endl; } return 0; } Captura de Pantalla de Salida

Problema 8) Escribir un programa pida un ao y diga si es bisiesto o no Anlisis: determinar que aos on bisiestos y cuales no 13

Datos de entrada: ao Clculos: ao actual - 2010 Datos de salida: ao bisiesto o ao no bisiesto Algoritmo: Inicio: Var: a,b,c,d; Imprimir: Qu ao es? Leer: a c=a/400; d=a/4; e=a/25; si c* 400 es igual a a o si d*4 es igual a a y a es diferente de e*25 entonces imprimir: el ao a es bisiesto si a= e*25 entonces imprimir: el ao a no es bisiesto

Fin

Implementacin en Lenguaje C++: #include <iostream> using namespace std; int main() { int a,b,c, d, e; cout<<"dame el ao que deseas saber si es bisiesto"<<endl; cin>>a; c=a/400; d=a/4; e=a/25; if(c*400==a or d*4==a && a!=e*25 ) { cout<<"el ao\t"<<a<<" es bisiesto"<<endl; 14

} else { cout<<"el ao\t"<<a<<" no es bisiesto"<<endl; } return 0; }Captura de Pantalla de Salida

Problema 9) calcular la fecha del domingo de pascua de cualquier ao Anlisis: calcular la fecha de pascua en cada ao Datos de entrada: numero entero Clculos: y=x/19; k=y; a=(y-k); w=a/4; 15

l=w; b=w-l; m=b/7; z=m; c=m-z; u=((19*a)+24)/30; n=u; d=u-n; q=((2*b)+(4*c)+(6*d)+5)/7; p=q; e=q-p;

f=22+d+e; Datos de salida: domingo de pascua Algoritmo: Inicio: Var: int n,z,k,l,p,f; float x,a,b,c,d,e,m,y,w,v,u,q; Imprimir: dame el ao Leer: x y=x/19; k=y; a=(y-k); w=a/4; l=w; b=w-l; m=b/7; z=m; c=m-z; u=((19*a)+24)/30; n=u; d=u-n; 16

q=((2*b)+(4*c)+(6*d)+5)/7; p=q; SI f es menor o igual a 31 entonces Imprimir: el dia f de marzo es pascua Si f es mayor o a 31 entonces Imprimir: el dia f-31 de abril es pascua Fin ,

Implementacin en Lenguaje C++: #include <iostream> using namespace std; int main() { int n,z,k,l,p,f; float x,a,b,c,d,e,m,y,w,v,u,q; cout<<"dame el ao que deseas saber que dia cae pascua"<<endl; cin>>x; y=x/19; k=y; a=(y-k); w=a/4; l=w; b=w-l; m=b/7; z=m; c=m-z; u=((19*a)+24)/30; n=u; d=u-n; q=((2*b)+(4*c)+(6*d)+5)/7; p=q; e=q-p; 17

f=22+d+e; cout<<a<<b<<c<<d<<e<<f<<endl; if(f<=31) { cout<<"marzo "<<f<<endl; } else { cout<<"abril "<<f-31<<endl; } return 0; } Captura de Pantalla de Salida

Problema 10) leer desde el teclado las cordenadas (x,y) de un punto y, mediante un men elegir opciones Anlisis:definir que funcin se ara Datos de entrada: coordenadas x y y Clculos: : cuadrante; s/n pertenece a la circunferencia; cartesianas a polares Datos de salida: cuadrante; s/n pertenece a la circunferencia; cartesianas a polares Algoritmo: Inicio:

18

Var: int p,x,y,r,r1,n,o; Imprimir: 1.- comrueba si x,y pertenecen a una circunferencia de radio 10 "2.- averigua en que punto del cuadrante esta X y Y" "3.- pasar las coordenadas a polares" "que opcion va a elegir?" Leer: p si (p==1) entonces

imprimi:"dame el valor de x" leer:x imprimir"dame el valor de y" leer: y r=10; r1=pow(x,2)+pow(y,2); si (r1>=r) entonces imprimir: "los puntos x , y pertenecen a la circunferencia" si (r1<r) entonces

imprimir "los puntos no pertenecen a la circunferencia"

si (p==2) entonces imprimir: "dame el valor de x"; leer: x imprimir: dame el valor de Y" leer: y; if (x>0 && y>0) entonces imprimir: "pertenece al primer cuadrante" si (x<0 && y>0) entonces imprimir: "pertenece al segundo cuadrante } si (x<0 && y<0) entonces 19

Imprimir: "pertenece al tercer cuadrante" si (x>0 && y<0) entonces imprimir: "pertenece al cuarto cuadrante" si (p==3) entonces cout <<"dame el valor de x" leer: x; imprimir: "dame el valor de y"<<endl; leer: y; n=sqrt(pow(x,2)+pow(y,2)); o=tan(y/x); imprimir: "el valor de la maggnitud es"n"y del angulo es"o,

Fin Implementacin en Lenguaje C++: #include <iostream> #include <math.h> using namespace std; int main() { int p,x,y,r,r1,n,o; cout <<"1.- comrueba si x,y pertenecen a una circunferencia de radio 10\n"<<endl; cout <<"2.- averigua en que punto del cuadrante esta X y Y\n"<<endl; cout <<"3.- pasar las coordenadas a polares\n"<<endl; cout <<"que opcion va a elegir?"<<endl; cin >>p; if (p==1) { cout <<"dame el valor de x"<<endl; cin >>x; cout <<"dame el valor de y"<<endl; cin >>y; r=10; 20

r1=pow(x,2)+pow(y,2); if (r1>=r) { cout <<"los puntos x , y pertenecen a la circunferencia"<<endl; } else cout <<"los puntos no pertenecen a la circunferencia"<<endl; } else if (p==2) { cout <<"dame el valor de x"<<endl; cin >>x; cout <<"dame el valor de Y"<<endl; cin >>y; if (x>0 && y>0) { cout <<"pertenece al primer cuadrante"<<endl; } else if (x<0 && y>0) { cout <<"pertenece al segundo cuadrante"<<endl; } else if (x<0 && y<0) { cout <<"pertenece al tercer cuadrante"<<endl; } else if (x>0 && y<0) { cout <<"pertenece al cuarto cuadrante"<<endl; } } else if(p==3) 21

{ cout <<"dame el valor de x"<<endl; cin >>x; cout <<"dame el valor de y"<<endl; cin >>y; n=sqrt(pow(x,2)+pow(y,2)); o=tan(y/x); cout <<"el valor de la maggnitud es"<<n<<"y del angulo es"<<o<<endl; } return 0; } Captura de Pantalla de Salida

22

Problema 11)escribir un programa que permita efectuar el calculo del rea de un cuadrado un circulo o un triangulo equiltero segn la opcin seleccionada por el usuario de un menu Anlisis:dependiendo la opcin elegida realizar lo indicado Datos de entrada:opcin deseada Clculos: area de un cuadrado circulo o triangulo Datos de salida: resutado area Algoritmo: Inicio:

Declarar: int t,c,o,a,b,d,l,r; float g; imprimir: 1.-area de un triangulo" "2.-area de un triangulo" "3.-area de un triangulo" Leer: a; si (a==1) entonces imprimir:"dame el valor de la base" leer: b; 23

imprimir: "dame el valor de la altura" leer: d; g=(b*d)/2; imprimir: "el valor del area del triangulo es g; si (a==2) entonces imprimir: "dame el valor del lado" leer: l; g=l*l; imprimir: "el valor del area del cuadrado es g si a no es ni 1 ni 2 entonces imprimir: "dame el valor del radio g cin >>r; g=i*(r*r); imprimir: "el valor del area del circulo esg Imprimir: , bytes Fin Implementacin en Lenguaje C++: #include <iostream> #define i 3.1416 using namespace std; int main() { int t,c,o,a,b,d,l,r; float g; cout <<"1.-area de un triangulo"<<endl; cout <<"2.-area de un triangulo"<<endl; cout <<"3.-area de un triangulo"<<endl; cin >>a; if (a==1) {cout <<"dame el valor de la base"<<endl; cin>>b; 24

cout <<"dame el valor de la altura"<<endl; cin>>d; g=(b*d)/2; cout <<"el valor del area del triangulo es\t"<<g<<endl; } else if (a==2) { cout <<"dame el valor del lado"<<endl; cin >>l; g=l*l; cout <<"el valor del area del cuadrado es\t"<<g<<endl; } else { cout<<"dame el valor del radio"<<endl; cin >>r; g=i*(r*r); cout <<"el valor del area del circulo es"<<g<<endl; } return 0; } Captura de Pantalla de Salida

25

Problema 12) dada la longitud de una circunferencia, averiguar si dicha longitud corresponde, con una determinada precisin, a una circunferencia de radio R. Anlisis: determinar con la longitud una circunferencia Datos de entrada: cm Clculos:d=t*(r*r) Datos de salida: si pertenece a una circunferencia; no pertenecen a una circunferencia Algoritmo: Inicio: Var: int c,r,d,t; Imprimir: "con la longitud y el radio determinara si es una circunferencia" imprimir: "dame el valor de la longitud" 26

leer: c; imprimir: "dame el valor del radio" leer: r; d=t*(r+r); si(c==d) entonces imprimir: el radio pertenece a la circunferencia"; else imprimir: el radio no pertenece a la circunferencia

Fin

Implementacin en Lenguaje C++: #include <iostream> using namespace std; #define i 3.1416 int main() { int c,r,d,t; cout <<"con la longitud y el radio determinara si es una circunferencia"<<endl; cout <<"dame el valor de la longitud"<<endl; cin >>c; cout <<"dame el valor del radio"<<endl; cin >>r; d=t*(r+r); if (c==d) { cout <<"el radio pertenece a la circunferencia"<<endl; } else { cout <<"el radio no pertenece a la circunferencia"<<endl; } 27

return 0; } Captura de Pantalla de Salida

28

CONCLUSIONES Aprendi como definir las condicionales para las funciones selectivas a si como razonar en cuanto a como poder generar programas con mayor complicacin como el caso del ao bisiesto.

29

S-ar putea să vă placă și