sábado, 8 de diciembre de 2012

Logica y Programacion


Bueno lectores, ustedes se preguntaran porque no me enfoque en algo muy importante en todo blog que es la historia y les quiero decir que no lo hice porque de eso hay mucha información en la web y quiero que es blog sea en lo mas posible hecho todo por mi, pero les suelto un datico busquen a Dennis Ritchie.
Lógica, esta palabrita fue la que defendí a capa y espada en la primera entrada del blog, ya que como les dije muchos libros la quieren abolir u olvidar y esto no puede ser así. La lógica en la vida cotidiana es aquello que se infiere de una, mejor dicho usted ve una mona y por lógica la clasifica como buena o mamacita, en programación es algo mas o menos parecido ya que la lógica tiene que ser secuencial, ósea tiene que tener un orden en especial o sino no la podemos aplicar, el orden lo determina la complejidad del programa que nos pidan que realicemos y eso salta a la vista, porque no es lo mismo hacer un programa para sumar dos números, que hacer una calculadora con todas las funciones que se apliquen en ing.
La lógica se adquiere leyendo información sobre el programa que nos pidan, como generalmente los programas son matemáticos se necesitan buenas bases de matemáticas, en especial propiedades Legitimas y no inventadas porque he visto a muchos haciendo esto: (a+b)^2 = a^2 + b^2 y ahí la cosa si es grave.

Un ejemplo aplicativo clave y tipo parcial es:

Como aun no entramos a programar en si, este “programa” lo hacemos como pregunta de cultura general, ósea como si fuera un parcial de castellano.

¿Usted como halla el mayor de tres números enteros? (TODOS DISTINTOS)

R:/Para resolver este problema debemos saber cuando un numero es mayor que otro, y un poco de matemáticas. Hagamos de cuenta que sabemos como diferenciar cuando un número es mayor que otro1 ahora procedemos a resolver la pregunta. Nuestra capacidad cognitiva solo nos permite laborar operaciones de a dos numeros, entonces si los números son a, b, c nosotros tenemos que comparar así: a > b[caso 1],   b > c[caso 2] y c > a[caso 3].
Si el caso 1 se cumple el mayor es a        #1
Si el caso 1 no se cumple pasamos al caso 2:
Si el caso 2 se cumple el mayor es b       #2
Si el caso 2 no se cumple pasamos al caso 3:
Si el caso 3 se cumple el mayor es c        #3

Lo anterior lo haría un programador de libros o un despistado mundial, ya que en programación hay que cuidar algo como si fuera un bebe y ese bebe se llama “Memoria”, en este tipo de programa no se nota la diferencia de memoria, pero mas adelante lo veremos a fondo.
La pregunta seria ¿Cómo reducir el código?
R:/ Hay dos formas claras de hacerlo y son:
PRIMERA: Eliminar el #3, la cara de todos me imagino será -> :O. Pero es lo mejor y lo explico así:

Si el caso 1 se cumple el mayor es a        #1
Si el caso 1 no se cumple pasamos al caso 2:
Si el caso 2 se cumple el mayor es b       #2

Si no se cumple ninguno de los dos casos por lógica el mayor seria c. Porque son tres números a, b, c sino es a es b y si no es ni a ni b es c.

SEGUNDA: Ordenar los números de menor a mayor y así el ultimo seria el mayor de los tres.
Pero bueno esto lo vamos a ver más adelante ya que es un programa típico en programación. En la universidad del Quindío en especial con Juan José Giraldo, uno de los mejores en programación.


 Los números ya vienen organizados en orden ascendente ósea que vienen de menor a mayor, lo que nos indica que de los números abc, el mayor es c porque esta por    “encima” de a y b.

No hay comentarios:

Publicar un comentario