instituto tecnologico de cancun \tarea progra unidad 2

24
INSTITUTO TECNOLOGICO DE CANCUN Programacion Basica Unidad: 2 diseño de algoritmo Profesora: Maria Jacinta Martinez Castillo Integrantes del aquipo: Anguino Ibarra Elton Francisco Javier Vargas Ramos Daniel Cesar Morales Carmona Justo Miguel

Upload: eleva-just

Post on 06-Jul-2015

168 views

Category:

Documents


2 download

DESCRIPTION

Instituto tecnologico de cancun \Tarea progra unidad 2

TRANSCRIPT

Page 1: Instituto tecnologico de cancun \Tarea progra unidad 2

INSTITUTO TECNOLOGICO DE CANCUN

Programacion Basica

Unidad: 2 diseño de algoritmo

Profesora: Maria Jacinta Martinez Castillo

Integrantes del aquipo:

Anguino Ibarra Elton Francisco Javier

Vargas Ramos Daniel Cesar

Morales Carmona Justo Miguel

Page 2: Instituto tecnologico de cancun \Tarea progra unidad 2

Introducción

Durante el desarrollo tecnológico el aumento de la productividad ha orillado al ser

humano a utilizar distintas técnicas para aumentarla. Las herramientas como; taladros de

mano, martillos, sierras, que posteriormente evolucionaron en herramientas mas

elaboradas como; los taladros de mono en taladros y fresadoras numéricos, martillos en

martillos neumáticos incorporados en robots complejos, sierras eléctricas y controladas

en cadenas de producción. Como vimos anteriormente se esta dando mucho la utilización

de programas computaciones los cuales son o fueron programados ya sea en serie o

manualmente, peor en todos lo casos en los hubo intervención humana de algún tipo en

donde el ser humano tubo que emplear sus conocimientos con lógica

Definición de lógica

Por lo que hemos visto, podríamos decir que la lógica es una disciplina que tiene un

carácter formal, ya que estudia la estructura o formas de pensamiento (tales como

conceptos, proposiciones, razonamientos) con el objeto de establecer razonamientos o

argumentos válidos o correctamente lógicos.

Además de estudiar las estructuras que conforman el pensamiento, a la lógica le

interesa descubrir las leyes y los principios que permiten conducirnos con rigor, precisión y

verdad hacia el conocimiento.

Una definición que nos puede ayudar a resumir los principales objetivos de la lógica es la

que nos proporciona Gregorio Fingermann; para este autor la lógica es: "La ciencia de las

leyes y de las formas del pensamiento, que nos da normas para la investigación científica y

nos suministra un criterio de verdad". Ahora bien, esta definición, como otras muchas

Page 3: Instituto tecnologico de cancun \Tarea progra unidad 2

que encontramos en los textos, nos hace pensar que la lógica solamente incide en un

pensamiento o en un conocimiento especializado, como el científico o el filosófico; sin

embargo, esto no es así, pues además de que la lógica es un "instrumento" para la ciencia,

lo es también para nuestra vida diaria. (Fingermann, 1977)

El pensamiento lógico es aquel que se desprende de las relaciones entre los objetos y procede de la propia elaboración del individuo. Surge a través de la coordinación de las relaciones que previamente ha creado entre los objetos. Es importante tener en cuenta que las diferencias y semejanzas entre los objetos sólo existen en la mente de aquel que puede crearlas. Enfocándonos en el caso particular de este ensayo sobre el pensamiento lógico aplicado a la programación podemos ver en ejemplos palpables que son puestos ante una tarea los cuales son los algoritmos que en su definición mas básica son un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema los cuales son elaborados con lógica para que estos algoritmos realmente tengan sentido; (Quispe, 2007) Para poder crear un programa que mide el IMC de una persona en donde: -El primer paso seria introducir un valor valido positivo en kg o en la unidad impuesta en el programa -Introducir el la altura en cm o en metros según la unidad impuesta en el programa -Se realiza una operación para poder categorizar el IMC en un rango -EL rango se establece y se lanza una frase como IMC=24 por la tanto: Peso normal (saludable) En el pequeño ejemplo anterior podemos notar que lleva una serie de pasos uno tras de otro que bien puede ser modificado de manera muy pequeña su orden pero no demasiado, durante las operaciones matemáticas no podemos darnos el lujo de cambiar la operación; imc = peso/(altura*altura), pero no puede ser intercambiado al lugar de la altura, la lógica de la operación se rompería y nuestro programa no serviría

Conclusión

La inteligencia humana si bien no estamos seguros de ser la máxima en este planeta, pero

como seres realmente pensantes somos capases de tener creatividad y lógica, las cuales

podemos utilizar para desarrollar cualquier cosa y problema como en el referido en este

ensayo la programación, de no tener disponible la inteligencia simplemente no hubiese

programas, ni informática ni mucho menos tecnología

Page 4: Instituto tecnologico de cancun \Tarea progra unidad 2

Bibliografía Fingermann, G. (1977). Lógica y teoría del conocimiento. México.

Quispe, R. (Marzo de 2007). rodolfoquispe. Recuperado el 18 de abril de 2012, de

http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php

Software DFD

Nos permite elaborar diagramas de flujo con el propósito de poderlos verificar y

comprobar la funcionalidad de los diagramas que nosotros vallamos a resolver.

En la pantalla principal en donde podemos ver varios símbolos y al ir señalando con el

puntero del ratón se irán presentando las descripciones de dichos símbolos que se

utilizan para diagramar utilizando este software. La notación que se utiliza con respecto a

la simbología es una notación estándar y parte de trabajo que podamos utilizar este

software es que podamos reconocer y adaptar los símbolos estándares ala forma y

notación de la simbología DFD. Algo a tomar en cuenta es que en este software se hace

una omisión en cuanto a la declaración de las variables que vallamos a utilizar, cuando

nosotros trabajamos diagrama de flujo la notación hace que toda variable a usar es

conveniente declararla al tipo de valor que valla contener durante la ejecución de el

algoritmo, es tarea se puede omitir por que en notaciones como variable “a” de tipo

entero, variable “nombre” de tipo cadena, es forma de notación no es permitida en este

software, lo que se puede hacer que estas variables se inicialicen en el caso genérico una

variable para contener un valor numérico en general se inicializa en un valor cero, y

variables del tipo carácter o cadena se inicializa a un valor vacío representado entre

comilla simple, pero como en este software se puede omitir esta parte, entonces se

omitiremos la declaración de variables y solamente estaría en todo caso para inicializarla a

un valor que deseamos o utilizarlas directamente.

Ejemplo:

Se realizo un diagrama para ingresar dos datos para hacer una suma simple y mostrar el

resultado de los mismos. Para ingreso de datos nosotros en simbología estándar

utilizamos el símbolo de paralelogramo en tanto acá no se dispone de ese símbolo pero se

cuenta con el símbolo de “lectura”,

Page 5: Instituto tecnologico de cancun \Tarea progra unidad 2

- entonces se hace un clic en el símbolo “lectura”

-nos ubicamos en medio de los dos círculos “inicio” y “fin”, damos un clic y quedara

insertado

-haciendo doble clic en el símbolo puesto, se mostrara una ventana en donde se indicara

en que variables quiero leer los datos (por ejemplo en una variable “a,b”

-aceptar, y quedara anotada gráficamente todo el símbolo lectura y va ha hacerse la

operación de ingresar o leer un valor para la variable “a” y la variable “b”

-Una vez que se tengan los datos dispuestos leídos resolveremos una expresión

-Colocamos un símbolo denotado como asignación (entre el símbolo de leer y fin)

-Hacemos clic y ya tenemos un símbolo de proceso conocido en simbología estándar

-Damos doble clic y saldrá una ventana donde en el lado izquierdo pondremos el nombre

de la variable y el lado derecho podrá ser un valor constante que se asigne a una variable

o una expresión algorítmica, en este caso utilizamos una variable identificada como suma

y quiero que contenga el resultado de la expresión de a+b

-Con el símbolo de salida obtendremos la forma de ver el resultado de esa variable

-doble clic

-escribimos suma

-aceptar

-Oprimimos el botón tipo “PLAY” que es ejecutar

-Saldrá una ventana titulada “entrada de valores por teclado”

-En un primer ingreso escribiremos un numero y oprimimos aceptar

-Volverá a salir la entrada de datos que corresponderá ala segunda variable

-Se introduce el segundo valor

-Se mostrara el resultado

En este caso se realizo la suma de 20+66 obteniendo el resultado de 86

Page 6: Instituto tecnologico de cancun \Tarea progra unidad 2

1.-Dado un numero entero positivo verificar e imprimir con mensajes:

-Que tenga dos dígitos

-Verificar si sus dígitos son pares

-promediar sus dígitos

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

Page 7: Instituto tecnologico de cancun \Tarea progra unidad 2

/**

*

* @author Eleva

*/

import javax.swing.*;

public class intento1 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

String introduce;

int numero;

introduce=JOptionPane.showInputDialog("Inserte un numero de dos digitos

pares: ");

numero= Integer.parseInt(introduce);

int aux = numero;

if (numero < 100 && numero > 9)

{

int d1 = numero % 10;

Page 8: Instituto tecnologico de cancun \Tarea progra unidad 2

numero = numero / 10;

int d2 = numero % 10;

if (d1 % 2 == 0 && d2 % 2 == 0)

System.out.println ("El promedio de los digitos de: " + aux + " es:

" + ((d1 + d2) / 2));

}

2.- Un numero es una capicúa si sus valores es el mismo tanto es leído a

izquierda derecha como derecha a izquierda. Por ejemplo 35253 es un

capicúa.

26547 no es un capicúa. Diseña un algoritmo que determine si un numero

introducido es un capicúa o no.

/**

*

* @author Eleva

*/

Page 9: Instituto tecnologico de cancun \Tarea progra unidad 2

import javax.swing.*;

public class programa2 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

int num, res, numInv=0,n;

num= Integer.parseInt(JOptionPane.showInputDialog("Inserte un

Numero:"));

n=num;

while(n !=0){

res=n%10;

n=n/10;

numInv= numInv*10 + res;

} if(num==numInv){JOptionPane.showMessageDialog(null,"El numero si es

Capicua");}

else {JOptionPane.showMessageDialog(null,"El numero no es Capicúa");}}

Page 10: Instituto tecnologico de cancun \Tarea progra unidad 2

3.-Pedir un numero de 0 al 99 y mostrar escrito. Por ejemplo, para 56

mostrar cincuenta y seis.

*

* @author Eleva

*/

import javax.swing.*

public class programa3 {

/**

* @param args the command line arguments

*/

Page 11: Instituto tecnologico de cancun \Tarea progra unidad 2

public static void main(String[] args) {

// TODO code application logic here

int num;

int unidades, decenas;

JOptionPane.showInputDialog("Introduzca un número (0 a 99): ");

num=entrada.entero();

unidades = num % 10;

decenas = num / 10;

switch(decenas){

case 0:

System.out.print("");

break;

case 1:

System.out.print("diez");

break;

case 2:

System.out.print("veinte");

break;

case 3:

System.out.print("treinta");

break;

Page 12: Instituto tecnologico de cancun \Tarea progra unidad 2

4.-Codificar el siguiente diagrama de flujo, e indique como quedaría el

planteamiento del problema. Analizan otra forma forma de resolver el

problema realizado los pasos de la metodología de solución de problemas

por medio de computadoras.

/*

Page 13: Instituto tecnologico de cancun \Tarea progra unidad 2

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package numero.menor;

import javax.swing.JOptionPane;

/**

*

* @author itzelithaa

*/

public class NumeroMenor {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

int a, b, c, d, menor;

a=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa un numero"));

b=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa otro

numero"));

Page 14: Instituto tecnologico de cancun \Tarea progra unidad 2

c=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa otro

numero"));

d=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa un ultimo

numero"));

if (a<b)

menor=a;

else

menor=b;

if (menor>c)

menor=c;

if (menor>d)

menor=d;

JOptionPane.showMessageDialog(null,"El numero menor es: "+menor);

}

}

5.-construir un programa que calcule el índice de masa corporal de una

persona(IMC=peso [kg]/altura [m]) e indique de masa corporal de una

persona en función del valor de IMC:

Valor de IMC Diagnostico

<16 Criterio de ingreso de hospital

De 16 a 17 Infrapeso

De 17 a 18 Bajo peso De 18 a 25 Peso normal (obesidad grado II)

De 25 a 30 Sobre peso (obesidad grado I) De 30 a 35 Sobre peso crónico(obesidad grado II)

De 30 a 35 Obesidad premórbida(Obesidad gradoIII)

Page 15: Instituto tecnologico de cancun \Tarea progra unidad 2

>40 Obesidad mórbida (obesidad de gradoIV)

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author Eleva

*/

import javax.swing.*;

import java.util.*;

public class problema4 {

/**

* @param args the command line arguments

*/

Public static void main(String[] args) {

// TODO code application logic here

System.out.println("Calculo del indice de masa corporal");

Page 16: Instituto tecnologico de cancun \Tarea progra unidad 2

Scanner entrada = new Scanner(System.in);

System.out.print("Introduce el peso (en kg): ");

double peso = entrada.nextDouble();

System.out.print("Introduce la altura (en centimetros): ");

double altura = entrada.nextDouble()/100;

double imc = peso/(altura*altura);

System.out.println("Para un peso de "+ peso +" kilogramos y");

System.out.println("una altura de "+ altura + " metros");

System.out.println("el indice de masa corporal es de "+ (int)imc);

if (imc<16) { System.out.println("Criterio de ingreso en hospital");

} else if (imc<17) { System.out.println("Infrapeso");

}

else if (imc<18) { System.out.println("Bajo peso");

Page 17: Instituto tecnologico de cancun \Tarea progra unidad 2

} else if (imc<26) { System.out.println("Peso normal (saludable)");

} else if (imc<30) { System.out.println("Sobrepeso( obesidad grado I)");

} else if (imc<35) { System.out.println("Sobrepeso crónico(obesidad grado

II)");

} else if (imc<40) { System.out.println("Obesidad premórbida (obesidad de

grado III)");

} else { System.out.println("Obesidad mórbida (obesidad de grado IV )");

}

}

Page 18: Instituto tecnologico de cancun \Tarea progra unidad 2

}

7.-sabemos que la pascua es el primero domingo tras la primavera,

podremos calcular que la fecha de pascua estará entre día 22 de marzo

como mínimo y 25 de abril como máximo

Desarrollo: la fórmula de gauss nos permite calcular fácilmente la fecha del

domingo de pascua:

Sea:

-“a” el resto de la división del año propuesto por 19

-“b” el resto de la división del año propuesto por 4

/*

* To change this template, choose Tools | Templates

Page 19: Instituto tecnologico de cancun \Tarea progra unidad 2

* and open the template in the editor.

*/

package pascua;

/**

*

* @author itzelithaa

*/

import javax.swing.JOptionPane;

public class Pascua {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

int x=Integer.parseInt(JOptionPane.showInputDialog(null,"Introdusca un

año:"));

int a=x%19, b=x%4, c=x%7, d=((19*a)+24)%30, e=((2*b)+(4*c)+(6*d)+5)%7,

fecha=22+d;

if (fecha>31)

{

Page 20: Instituto tecnologico de cancun \Tarea progra unidad 2

fecha = d+e-9;

JOptionPane.showMessageDialog(null,"La fecha es "+fecha+" de Abril");

}

else

JOptionPane.showMessageDialog(null,"La fecha es "+fecha+" de Marzo");

}

}

9.-Determinar e imprima la hipotenusa de un triangulo rectangulo

conocidas las longitudes de sus dos catetos,

public class nueve {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

Page 21: Instituto tecnologico de cancun \Tarea progra unidad 2

double hypo = 0;

double cateto1 = 2;

double cateto2 = 3;

hypo = Math.sqrt(Math.pow(cateto1, 2) + Math.pow(cateto2, 2));

System.out.println("La hipotenusa de un triangulo de lados "+cateto1+" y

"+cateto2+" es " + hypo);

// Con el método hypot

System.out.println("La hipotenusa de un triangulo de lados

"+cateto1+" y "+cateto2+" es " + Math.hypot(cateto1, cateto2));

}

}

Page 22: Instituto tecnologico de cancun \Tarea progra unidad 2

10.-El numero de sonidos emitidos por un grillo en un minuto es una

función de la temporada. Así, es posible determinar la temperatura

haciendo uso de un grillo como termómetro y aplicando la fórmula: t=

N/4+40, donde N es el numero de sonido emitidos por el grillo en un

minuto. Necesitamos un programa que estime la temperatura, tomando en

cuenta que si el grillo no emite ningún sonido (es decir, N cero) noes posible

hacer la estimación. Asimismo, tenga en cuenta que un valor negativo para

N es un error.

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author DANIEL

*/

import javax.swing.*;

public class tmp {

/**

* @param args the command line arguments

*/

Page 23: Instituto tecnologico de cancun \Tarea progra unidad 2

public static void main(String[] args) {

// TODO code application logic here

float t;

int n;

n=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese los numeros

emitidos del grillo"));

if (n>0)

{

t=(float) (n/4.0+40);

JOptionPane.showMessageDialog(null, "la temperatura es "+t+"°c");

}

else

JOptionPane.showMessageDialog(null, "no se aceptan numeros

negativos");

}

}

Page 24: Instituto tecnologico de cancun \Tarea progra unidad 2