trabajo algoritmos

7
Algoritmos y lógica de programación Resumen—La aplicación de los métodos de programación en dev-c++ son primordiales para la solución de tareas especializadas, especialmente en ingeniería debido a que el profesional puede recurrir a el estudio de líneas de código en c++ para hacer cálculos de un manera más rápida, precisa y practica Palabras Claves—Algoritmo, Condicional, Declaración, Dev-c++, Proposición. I. INTRODUCCIÓN L siguiente trabajo se desarrolló con el fin de solucionar una serie de algoritmos (expuestos en el documento)en las que se pudo fortalecer el método de codificación de programas (.exe) utilizando el compilador dev-c++. E II. OBJETIVOS i. Aplicar métodos de codificación en dev-c++ para la solución de operaciones matemáticas. ii. Recopilar estudios e información necesarios para la codificación en dev-c++. iii. Analizar el comportamiento de los algoritmos propuestos. iv. Fortalecer el conocimiento en el área de la programación y el estudio de algoritmos. III. MARCO TEÓRICO i. Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división Para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones. ii. Programación Declaraciones Hay que distinguir entre región declarativa de una declaración y parte declarativa. En el supuesto de una declaración de una variable (por ejemplo I: Integer := 0;) se extiende por una región de texto que abarca sólo una línea, sin embargo, otras declaraciones más complejas como procedimientos y paquetes constituyen muchas más líneas de texto. iii. Sentencia condicional Instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. Aplicación de métodos de programación en dev-c++ Juan David Gutiérrez 201312038 ingeniería de minas

Upload: joseinqui

Post on 21-Dec-2015

234 views

Category:

Documents


0 download

DESCRIPTION

algoritmos programación

TRANSCRIPT

Algoritmos y lógica de programación

Resumen—La aplicación de los métodos de programación en dev-c++ son primordiales para la solución de tareas especializadas, especialmente en ingeniería debido a que el profesional puede recurrir a el estudio de líneas de código en c++ para hacer cálculos de un manera más rápida, precisa y practica

Palabras Claves—Algoritmo, Condicional, Declaración, Dev-c++, Proposición.

I. INTRODUCCIÓN

L siguiente trabajo se desarrolló con el fin de solucionar una serie de algoritmos (expuestos en el documento)en

las que se pudo fortalecer el método de codificación de programas (.exe) utilizando el compilador dev-c++.

E

II.OBJETIVOS

i. Aplicar métodos de codificación en dev-c++ para la solución de operaciones matemáticas.

ii. Recopilar estudios e información necesarios para la codificación en dev-c++.

iii. Analizar el comportamiento de los algoritmos propuestos.

iv. Fortalecer el conocimiento en el área de la programación y el estudio de algoritmos.

III.MARCO TEÓRICO

i. Algoritmo

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división Para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

ii. Programación Declaraciones

Hay que distinguir entre región declarativa de una declaración y parte declarativa. En el supuesto de una declaración de una variable (por ejemplo I: Integer := 0;) se extiende por una región de texto que abarca sólo una línea, sin embargo, otras declaraciones más complejas como procedimientos y paquetes constituyen muchas más líneas de texto.

iii. Sentencia condicional

Instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.

Los tipos más conocidos de sentencias condicionales son el SI. ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales.

iv. Dev-C++

Es un entorno de desarrollo integrado (IDE) para programar en lenguaje C/C++. Usa MinGW que es una versión de GCC (GNU Compiler Collection) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC.

El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto.

v. Proposición Lógica

Definición. Una proposición es una oración con valor referencial o informativo, de la cual se puede predicar su veracidad o falsedad, es decir, que puede ser falsa o verdadera pero no ambas a la vez. La proposición es la expresión lingüística del razonamiento, que se caracteriza por ser verdadera o falsa empíricamente, sin ambigüedades. Son proposiciones las oraciones aseverativas, las leyes científicas, las fórmulas matemáticas, las fórmulas y/o esquemas lógicos, los enunciados cerrados o claramente definidos. No son proposiciones las opiniones y suposiciones; los proverbios, modismos y refranes; los enunciados abiertos no definidos; las oraciones interrogativas, exclamativas,

Aplicación de métodos de programación en dev-c++

Juan David Gutiérrez 201312038 ingeniería de minas

Algoritmos y lógica de programación

imperativas, desiderativas y dubitativas; las interjecciones en general; ni las operaciones aritméticas.

IV. DIAGRAMA DE FLUJO DE LOS PROBLEMAS PROPUESTOS

Problema 1:

Problema 2:

Problema 3:

Problema 4:

Algoritmos y lógica de programación

Problema 5:

V. CÓDIGO #include <iostream.h>#include <conio.h>#include <math.h>void menu(){char o;do{a1:cout<<"\t\t\t u u ppppp ttttttt ccccc\n";cout<<"\t\t\t u u p p t c\n";cout<<"\t\t\t u u ppppp t c\n";cout<<"\t\t\t uuuu p t ccccc\n"; cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tjuan david gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n"; cout<<"\t\t\t|\tingenieria de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";

cout<<" _______________________________\n";cout<<" |\tMENU DE OPCIONES\t |\n";cout<<" |_______________________________|\n";

Algoritmos y lógica de programación

cout<<"\n";cout<<"1) punto 1 (y=1+x+2x+3x+....+nx)\n";cout<<"2) punto 2 (z=(x-y)^2+(x-2y)^2+(x-3y)^2+....(x-ny)^2)\n";cout<<"3) punto 3 (z=(E(i=1)^n(x-y)^2 )/(n(i=1)^n(sinx+cosx)^(2-i))\n";cout<<"4) punto 4 (raiz utilizando metodo de newton)\n";cout<<"5) punto 5 (y=(E(i=1)^n(i)^2i )/(n(i=1)^n(i)^(z-i) )\n";cout<<"6) salir\n";cout<<"\n";cout<<"Ingrese la opcion deseada Opcion: ";cin>>o;cout<<endl;system ("cls");switch(o){ case '1': {float x,y,i;p1:cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tjuan david gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n";cout<<"\t\t\t|\ingeniería de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";cout<<"1) punto 1 \n";cout<<"problema:y=1+x+2x+3x+....+nx"<<endl;cout<<endl;cout<<"ingrese valor de x=";cin>>x;cout<<endl;y=1;if (x<=9999999){for (i=1;i<=x;i++)y=y+(i*x);cout<<endl;cout<<"valor valor de y=";cout<<y;}else cout<<"el valor de x es demasiado grande para calcularlo";cout<<endl;cout<<endl;cout<<" para volver al menú presione cualquier tecla";getch();system ("cls");goto a1;} break;case '2':{double x,y,i,s;cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tJuan David Gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n";cout<<"\t\t\t|\ingeniería de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";cout<<"2) punto 2 \n";cout<<"problema:z=(x-y)^2+(x-2y)^2+(x-3y)^2+....(x-ny)^2"<<endl;cout<<endl;cout<<"ingrese valor de x=";cin>>x;cout<<endl;cout<<"ingrese valor de y=";cin>>y;cout<<endl;s=0;if (y<=99999999){for(i=1;i<=y;i++)s=s+pow((x-(i*y)),2);cout<<"valor de z=";cout<<s;}else cout<<"el valor ingresado de y es demaciado grande"; cout<<endl;cout<<endl;cout<<"presione cualquier tecla para volver al menu ";getch();system ("cls");goto a1;

}break;case '3':{double x,i,p,s,f,y,n,t,a,g,r,h,m,l;cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tjuan david gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n";cout<<"\t\t\t|\tingenieria de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";cout<<"3) punto 3\n";cout<<"problema= z=(E(i=1)^n(x-y)^2 )/(n(i=1)^n(sinx+cosx)^(2-i) )"<<endl;cout<<""<<endl;cout<<"ingrese el valor x=";cin>>x;cout<<"ingrese el valor y=";cin>>y;cout<<"ingrese el valor n=";cin>>n;if (n<=999999){p=0;s=1;l=1;h=(3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679*x)/180;t=sin(x);r=sin(h);a=cos(x);g=cos(h);for (i=1;i<=n;i++)p=p+(pow((x-y),2));for (i=1;i<=n;i++)s=s*(pow((t*a),(2-i)));for (i=1;i<=n;i++)l=l*(pow((r*g),(2-i)));if (s!=0){f=p/s;cout<<"operacion en radianes="<<f<<endl;}else cout<<"el denomiador es cero en radianes "<<endl;if (l!=0){m=p/l;cout<<"operacion en grados="<<m<<endl;}else cout<<"el denomiador es cero en grados"<<endl;cout<<endl;cout<<"presione cualquier tecla para volver al menu ";}elsecout<<endl<<"el valor de n es demaciado grande para ejecutar la operacion"<<endl;getch(); system ("cls");goto a1;}break;case '4': { double x,r,z,y;long i,;cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tjuan david gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n";cout<<"\t\t\t|\tingenieria de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";cout<<"4) punto 4 \n";cout<<"problema: calcular la raiz cudrada de un numero utilizando el metodo de newton "<<endl;cout<<endl;cout<<"ingrese el valor de el numero que al que desea hallar la raiz cuadrada=";cin>>x;cout<<endl;if (x<0){cout<<"la raiz cuadrada de un numero negativo no existe"<<endl;cout<<endl;

Algoritmos y lógica de programación

cout<<"presione cualquier tecla para volver al menu ";}else{y=x-0.00001;i=1;while (((0>x-pow(y,2))||(x-pow(y,2)>0.0001))&&(i<=10000000)){i=i+1;r=x/y;y=(r+y)/2;}if (i<=10000000){cout<<"la raiz cuadrada de "<<x<<"="<<y;}else {cout<<"la raiz cuadrada de "<<x<<"="<<y<<" (aproximadamente)";}cout<<endl;cout<<endl;cout<<"presione cualquier tecla para volver al menu ";}getch();system ("cls");goto a1;}break;case '5': { double n,i,z,s,p,t;cout<<"\n";cout<<"\t\t\t _______________________________\n";cout<<"\t\t\t|\tjuan david gutierrez\t|\n";cout<<"\t\t\t|\t 201312038\t\t|\n";cout<<"\t\t\t|\tingenieria de minas\t|\n";cout<<"\t\t\t|\t uptc\t\t|\n";cout<<"\t\t\t|_______________________________|\n";cout<<"\n";cout<<"5) punto 5 \n";cout<<"problema= y=(E(i=1)^n(i)^2i )/(n(i=1)^n(i)^(z-i) )"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"ingrese un valor n=";cin>>n;cout<<"ingrese un valor z=";cin>>z;p=0;s=1;for (i=1;i<=n;i++)p=p+(pow((i),(2*i)));for (i=1;i<=n;i++)s=s*(pow((i),(z-i)));cout<<endl<<endl;if (s!=0);else cout<<"el denomiador no puede ser cero"<<endl;t=p/s;if (t<=999999999)cout<<"resultado de la operacion="<<t<<endl;else cout<<"no se puede determinar el valor de la operacion"<<endl;cout<<endl;cout<<endl;cout<<"presione cualquier tecla para volver al menu ";getch();system ("cls");goto a1;} break;case '6':exit(0); break;}}while( o>6); }main(){menu();return 0;}

VI. CONCLUSIÓN

i. Se pudo fortalecer habilidades de programación básicas.

ii. Se recopilo información importante para la comprensión y desarrollo de algoritmos y métodos de organización de datos.

iii. Se comprendió la importancia de la delimitación de variables para evitar errores de cálculo.

iv. Se utilizaron códigos de condicionamiento, declaración, proporción y de ciclo:

I. INFOGRAFÍA

HTTP://ESPANOL.ANSWERS.YAHOO.COM/QUESTION/INDEX? QID=20111104201344AAFGJOW

HTTP://ES.WIKIPEDIA.ORG/WIKI/C%2B%2B

HTTP://ES.WIKIPEDIA.ORG/WIKI/ALGORITMO

HTTP://ES.WIKIBOOKS.ORG/WIKI/PROGRAMACI %C3%B3N_EN_ADA/DECLARACIONES

HTTP://ES.WIKIPEDIA.ORG/WIKI/SENTENCIA_CONDICIONAL

HTTP://WEBATARIO.BLOGSPOT.COM/2008/02/PROPOSICIN- LGICA.HTML

HTTP://PROGRA.USM.CL/APUNTE/EJERCICIOS/1/METODO- NEWTON.HTML

HTTP://WWW.PROGRAMACIONFACIL.COM/ CPP:INSTRUCCION_SWITCH

HTTP://ZARZA.USAL.ES/~FGARCIA/DOC/TUTO2/II_2.HTM

HTTP://WEBS.ADAM.ES/RLLORENS/PI.HTM