Fundamento de programacion

18

Click here to load reader

description

Elementos básicos de programación.

Transcript of Fundamento de programacion

Page 1: Fundamento de programacion

Lógica de programación

Producción de Multimedia ficha 480093Instructor Jackeline Quintero

• La logica

• Metodología para Solucionar un Problema

• Variables, Constantes y operadores

• Estructuras Básicas y Técnicas para Representar Algoritmos

• Metodología, Técnica y Tecnología para solucionar un Problema

Page 2: Fundamento de programacion

La lógica

Se define lógica como:

a) "La lógica es la ciencia de la demostración, pues sólo se preocupa de formular reglas para alcanzar verdades a través de la demostración" (Aristóteles).b) "La lógica o arte de razonar es la parte de la ciencia que enseña el método para alcanzar la verdad" (San Agustín).c) "La lógica es la ciencia de las leyes necesarias del entendimiento y de la razón"(Kant).d) "La lógica es la ciencia de la idea pura de la idea en el elemento abstracto del pensamiento" (Hegel).e) "La lógica es la ciencia de las aspiraciones intelectuales que sirven para estimación de la prueba" (J. S. Mill).

Entonces podríamos resumir que lógica «es la forma de hacer mas obvia y fácil una cosa»

Page 3: Fundamento de programacion

La lógica es ese conjunto de razonamientos que nos permiten solucionarfácilmente determinados problemas o lograr fácilmente determinados objetivos.Cada persona puede tener un enfoque diferente en cuanto a dicha solución y esmuy importante que, cuando se trabaja en equipo, se escuche cuál es la soluciónde los otros. Indiscutiblemente que para cada problema ha de existir unasolución óptima, obvia y además muy sencilla.

Porqué razón cada persona puede llegar a encontrar una solución diferente aun determinado problema..? Son múltiples las explicaciones pero se debedestacar dentro de ellas el entorno social, la preparación, el conocimiento, laconvivencia y la utilización de conceptos nuevos acerca de la misma lógica, sumismo entorno personal y muchas mas razones que pueden hacer que una personavea la solución de un problema con una óptica diferente a como la podemos vernosotros.

Siempre que usted vaya a resolver un problema sea muy lógico, esto quiere decirque sencillamente guíese por sus mínimos razonamientos y busque siempre elcamino mas obvio y sencillo.

No existe un problema que se resuelva con lógica cuya solución no sea sencilla.Antes de comenzar a pensar en la lógica de programación piense en su propialógica. Diseñe las soluciones pensando en sus propias reglas y luego si ajústese alas reglas que la lógica de programación impone para facilitar la posteriorcodificación.

Page 4: Fundamento de programacion

Qué es la Informática..?

Es la Ciencia que estudia, aplica y optimiza el tratamiento eficiente de lainformación.

Sabe usted que significa el tratamiento eficiente de la información..?

La ciencia que se ocupa de que la información, cualquiera que sea suprocedencia o su destinación, cumpla con dos objetivos:

A. Veracidad : “Toda información debe ser verdad (es decir veraz)”. De nadale sirve a usted que vaya al Banco y solicite su saldo e inmediatamente y sinninguna demora le den un saldo que no corresponde a la realidad.

B. Oportunidad : “Toda información debe llegar en el momento indicado ( o seaoportunamente)”. De nada le sirve que en el Banco le digan que su verdaderosaldo se lo entregan en 10 meses.

Page 5: Fundamento de programacion

Porqué cada que se habla de Informática se relaciona inmediatamente el concepto con computadores..?

Pues sencillamente porque en la actualidad los computadores son los

dispositivos que mejor pueden cumplir con el objetivo de la Oportunidad ya

que trabajan a velocidades impresionantemente altas (millonésimas de

segundo).

Y quien es el encargado de cumplir con la veracidad...?

Pues el ser humano que es quien planea, organiza, programa y ejecuta todo lo

que el computador va a entregar como información.

Inicio

Page 6: Fundamento de programacion

Metodología para Solucionar un Problema

Siempre que vamos a resolver un problema nos enfrentamos con la dificultad de tener que encontrar precisamente eso:

Una Solución.

Cuál es el primer paso que debemos dar cuando nos enfrentamos a unproblema...?

Lo primero que debemos tener muy claro es Cual es el problema.

Es evidente que no podemos avanzar hacia la casa de un amigo el cual nosabemos en donde vive porque las posibilidades de que lleguemos son casinulas. De manera que lo primero a conocer muy bien es el problema como tal,que en nuestros términos lo vamos a ver no como un problema sino como unobjetivo

Page 7: Fundamento de programacion

Objetivo

Es lo mas importante en el desarrollo de un problema es por ahí por dondedebe comenzar.

Tener claro el objetivo nos va a permitir obtener dos beneficios que a lapostre serán mas grandes de lo que podemos pensar:

A. Tener claro el objetivo nos permite saber hacia donde vamos.

B. Tener claro el objetivo nos permite saber hasta donde debemos llegar.

Tener claro el objetivo nos permite algo adicional.

El objetivo es el faro que solo cuando está bien claro nos ilumina el caminopara lograrlo.

Cuando el objetivo está suficientemente claro podemos vislumbrar un caminológico para llegar hasta él.

Ese camino lógico va a tener un nombre dada la lógica de programación, y esenombre es:

Page 8: Fundamento de programacion

Algoritmo

Qué es un Algoritmo...?

Es un conjunto de pasos secuenciales y ordenados que permiten lograr unobjetivo. Que sean pasos secuenciales significa que deben ser ejecutados unodespués de otro y que sean pasos ordenados quiere decir que deben llevar unorden quasi-obligatorio (u obligatorio en la mayoría de los casos). Como puedenotar el algoritmo permite lograr un objetivo. O sea que éste es el camino quenecesitamos para lograrlo.

Como se estructura un algoritmo..?

Parecer muy obvio pero aún así se lo voy a decir. Un algoritmo se estructuracomenzando en un Inicio y terminando en un Fin.

Veamos entonces un ejemplo: Desarrollar un algoritmo que nos permita adquirirel libro El Coronel no tiene quien le escriba de Gabriel García Márquez.

Page 9: Fundamento de programacion

Objetivo:

Adquirir el libro El Coronel no tiene quien le escriba de Gabriel García Márquez.Mucha atención al objetivo. Solamente es adquirirlo en ningún momento elobjetivo es leerlo o resumirlo ni nada, solamente adquirirlo.

Algoritmo:

Salimos del lugar en donde estemos y nos dirigimos hacia una librería. En casode que ya estemos en una pues sencillamente solicitamos si tienen el libro, si lotienen lo adquirimos y si no lo tienen vamos a otra librería en donde repetimosel proceso.Explicado así el algoritmo no va a pasar de ser un breve texto explicativo quenos va a permitir lograr algo y que en este caso es la adquisición de un Librodeterminado. Pero podríamos organizar este algoritmo de manera que fuera unpoco mas estético y, porqué no decirlo, un poco mas entendible comenzando porel hecho de que esta vez le vamos a colocar un nombre al algoritmo y que lovamos a generalizar para conseguir cualquier libro siempre y cuando estécompletamente definido

Page 10: Fundamento de programacion

Algoritmo Adquisicion_Libro

Inicio1. Saber cuál es el libro que se quiere adquirir2. Desplazarnos hacia una librería3. Preguntar si tienen el libro que necesitamos4. Si lo tienenadquirirlo y Parar allí (dentro de este algoritmo)Si no lo tienenir al paso 2

Fin

Análisis del algoritmo

a. Casi todas las líneas van numeradas, pero no todas.b. En la línea 1 se debe cumplir esa orden para poder continuar con el resto delalgoritmo, porque se asume en algoritmo que no solo se pasa por encima de laslíneas sino que se realizan las tareas allí indicadas.

Page 11: Fundamento de programacion

c. Si realizamos todos los pasos que indica este algoritmo, podremos obtener ellibro que sea porque la connotación de éste es absolutamente genérico sinrestricciones ya que en ningún momento se está diciendo que nos desplacemoshacia una librería que quede en la ciudad.d. Si luego de recorrer todas las librerías de todos los países de todo el mundovemos que no se pudo conseguir el libro entonces podemos obtener dosconclusiones: Una es que el libro que buscábamos no lo tiene ninguna libreríaporque está agotado y la otra es que el libro es posible que nunca hayaexistido.e. Si probamos este ejemplo con el libro en mención (o sea El Coronel no tienequien le escriba) tendremos un alto porcentaje de seguridad de que loconseguimos a menos que esté agotado.

En el análisis e. se habló de una prueba. Textualmente dice “Si probamos esteejemplo ....”. Esto significa que todo algoritmo debe ser probado antes de serejecutado con el propósito de que tengamos una alta certeza en cuanto al logrodel objetivo. Precisamente éste es el tercer concepto que tendremos claro

Page 12: Fundamento de programacion

Prueba de Escritorio.

Qué es pues la Prueba de Escritorio..?

Es la simulación de la puesta en marcha de un algoritmo. Con la Prueba deEscritorio podemos determinar si el algoritmo que hemos diseñado logra elobjetivo propuesto. De no ser así podremos concluir que se debe corregir elalgoritmo hasta lograr que satisfaga el objetivo propuesto.

Algoritmos Computacionales

Se consideran como tales todos aquellos algoritmos que deben serpreferiblemente implementados en un computador para aprovechar su velocidadde procesamiento. Un ejemplo de estos puede ser el algoritmo que genere losprimeros 100 números primos, recordando que un número primo es aquel que solopuede ser dividido exactamente entre la unidad y entre si mismo, que si bienpodrían ser calculados utilizando un papel y un lápiz, la utilización de uncomputador en unión con el algoritmo adecuado nos va a dar un resultado muchomas rápido y absolutamente confiable (de hecho depende de que el algoritmoigualmente sea muy confiable).

Page 13: Fundamento de programacion

Transcripción.

Este es el proceso a través del cual “convertimos” un algoritmo, escrito entérminos muy coloquiales e informales, en un listado de instrucciones entendiblesa un computador y que se ajustan a las reglas sintácticas de determinado lenguajede programación. Podríamos decir que es la “traducción” de un algoritmo con la“ortografía” de un Lenguaje de Programación.Qué son las reglas sintácticas de un Lenguaje de Programación..? Son todas lasrestricciones técnicas sobre las cuales está construido el Lenguaje.El algoritmo escrito con dichas reglas se llamará Programa.

Qué es pues un Programa..?

Es un algoritmo escrito con las instrucciones, las restricciones y las reglas de unLenguaje de Programación.

Digitación

Es el proceso a través del cual le escribimos al computador el programa quehemos acabado de escribir en papel. Para ello nos valemos de un programa llamadoEditor de texto que nos permite escribir un texto y grabarlo. Visto neutralmente,un programa no es mas que un texto escrito bajo la óptica de algunas reglaspreestablecidas por los creadores de un Lenguaje de Programación.

Page 14: Fundamento de programacion

Compilación

qué es la compilación..?

Es el proceso a través del cual el computador revisa que el programa que hemosdigitado se ajuste a las reglas sintácticas de un determinado Lenguaje deProgramación.

Quién realiza realmente el proceso llamado compilación..?

Pues lo realiza un programa llamado Compilador que es el encargado de evaluar dos tipos de errores:

Errores de Sintaxis.

Podríamos asociar los errores de sintaxis en un Lenguaje de Programación conlos errores de Ortografía en nuestro idioma. Son aquellos erroresrepresentados en la omisión de alguna o algunas reglas sintáctica (hablando deun Lenguaje de Programación). Por ejemplo es normal que algunas veces, enmedio de una expresión matemática, abramos un paréntesis que luego se nosolvida cerrar... entonces al momento de compilar, el compilador nos indicaráprecisamente ese error.

Page 15: Fundamento de programacion

Errores de Precaución.

Algunos compiladores nos hacen, por decirlo así, cierto tipo de recomendaciones para efectos de mejoramiento o aseguramiento de nuestros programas.

Porqué se habla de algunos compiladores..?

Pues porque dado que existen varios Lenguajes de Programación, cada Lenguajede Programación tiene su propio compilador o sea su propio revisor sintáctico.

Porqué existen varios Lenguajes de Programación..?

Esto sí obedece a dos factores: el primero es la especificidad de los Lenguajes yaque son desarrollados para que cumplan de la mejor manera ciertos objetivos(refiriéndonos al mundo de la informática) y el segundo es un factor netamentecomercial pues los Lenguajes de Programación son producidos por empresasfabricantes de software.

Page 16: Fundamento de programacion

Los errores difíciles realmente de encontrar en un programa son el tercer tipo deerror y son:

Errores Lógicos.

Pues en la Prueba de Escritorio, allí y solo allí usted podrá determinar si sualgoritmo está realmente bien o no es decir si logra o no el objetivo propuesto.

Ejecución o Puesta en Marcha

Luego de que hemos realizado las correcciones pertinentes para que nuestrocompilador nos reporte cero errores de sintaxis y cero errores de precaución yaestamos en condiciones de poner a “correr” nuestro programa o sea encondiciones de ser ejecutado por el computador. Si lo que queríamos inicialmente(o sea nuestro objetivo) era generar los 100 primeros números pares entonces almomento de la ejecución deberán aparecer en pantalla los 100 primeros númerospares.

Page 17: Fundamento de programacion

Verificación de Resultados

Este último paso es útil ya que con lo que nos entregue la ejecución del programapodremos saber si se cumplió el objetivo inicial o no. En caso de que no se hayacumplido el objetivo inicial ( al llegar a este punto ) ser por algunas de lassiguientes razones :

a. No teníamos claro el objetivo y fallamos en todo el procesob. No realizamos bien la prueba de escritorio y nos la saltamos creyendo que elalgoritmo estaba bienc. No conocíamos bien las reglas sintácticas del lenguaje con el que pensábamostrabajar y el programa transcrito final terminó siendo una representacióntécnica diferente del algoritmo inicial lo que sí podemos asegurar es que simantenemos esta metodología paso a paso y cada uno lo realizamosconcienzudamente, siempre al realizar la Verificación de Resultados se va asatisfacer con éstos el objetivo inicial.

Page 18: Fundamento de programacion

Ejercicios a desarrollar.

1. Desarrollar un algoritmo que permita adquirir una revista.2. Desarrollar un algoritmo que permita entrar a una casa que está con llave.3. Desarrollar un algoritmo que permita dar un beso.4. Desarrollar un algoritmo que permita empacar un regalo.5. Desarrollar un algoritmo que permita encender un vehículo.6. Desarrollar un algoritmo que permita fritar un huevo.7. Desarrollar un algoritmo que permita mirar por un telescopio.8. Desarrollar un algoritmo que permita botar la basura.9. Desarrollar un algoritmo que permita tomar un baño.10. Desarrollar un algoritmo que permita estudiar para un examen.11. Desarrollar un algoritmo que permita tocar determinada canción con un instrumento musical.12. Desarrollar un algoritmo que permita viajar en avión.13. Desarrollar un algoritmo que permita encender un bombillo.14. Desarrollar un algoritmo que permita encender una vela.15. Desarrollar un algoritmo que permita apagar una vela.

Inicio