Fundamentos de programación: un enfoque práctico
5/5
()
Información de este libro electrónico
Relacionado con Fundamentos de programación
Libros electrónicos relacionados
Estructuras de datos y algoritmos fundamentales Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación: Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java Calificación: 0 de 5 estrellas0 calificacionesLa Era del Código Calificación: 0 de 5 estrellas0 calificacionesLa Guía Definitiva Para Desarrolladores De Software: Trucos Y Conseños Calificación: 4 de 5 estrellas4/5Aprende a programar con pseudocódigo, diagramas de flujo y ejercicios de ejemplo resueltos en C: Algoritmos y lógica para aprender programación desde cero Calificación: 0 de 5 estrellas0 calificacionesHTTP - Lo mínimo que todo desarrollador web debe saber Calificación: 5 de 5 estrellas5/5Curso de Programación con Java Calificación: 4 de 5 estrellas4/5Fundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesAlgoritmos a Fondo - Con implementaciones en c y java Calificación: 5 de 5 estrellas5/5Programación en C# para Principiantes Calificación: 0 de 5 estrellas0 calificacionesDiseño de algoritmos y su programación en C Calificación: 0 de 5 estrellas0 calificacionesProgramación en C++ Calificación: 2 de 5 estrellas2/5Aprende a Programar en C++ Calificación: 5 de 5 estrellas5/5Diseño de Software Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación de Apps. Android y iPhone Calificación: 5 de 5 estrellas5/5Curso de Ingeniería de Software Calificación: 4 de 5 estrellas4/5El Libro Negro del Programador Calificación: 4 de 5 estrellas4/5PHP 8: Curso práctico de formación Calificación: 0 de 5 estrellas0 calificacionesEl Libro Práctico Del Programador Ágil Calificación: 5 de 5 estrellas5/5Programacion Orientada a Objetos y Estructura de Datos a Fondo Calificación: 0 de 5 estrellas0 calificacionesProgramación y Lógica Proposicional Calificación: 4 de 5 estrellas4/5Programación estructurada a fondo: Implementación de algoritmos en C Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Software: Requisitos, Estimaciones y Análisis Calificación: 0 de 5 estrellas0 calificacionesProgramación estructurada y orientada a objetos Calificación: 0 de 5 estrellas0 calificacionesAndroid: Programación de dispositivos móviles a través de ejemplos Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación con Java - 2ª Edición Calificación: 5 de 5 estrellas5/5De qué hablo cuando hablo de programar (volumen 2) Calificación: 0 de 5 estrellas0 calificacionesSistema operativo GNU Linux: Un enfoque práctico Calificación: 0 de 5 estrellas0 calificacionesAprende programación de computadoras Calificación: 5 de 5 estrellas5/5
Programación para usted
Aprende a programar: Crea tu propio sitio web Calificación: 4 de 5 estrellas4/5Excel de la A a la Z: El Manual Práctico Paso a Paso de Microsoft Excel para Aprender Funciones Básicas y Avanzadas, Fórmulas y Gráficos con Ejemplos Fáciles y Claros Calificación: 0 de 5 estrellas0 calificacionesPython para principiantes Calificación: 5 de 5 estrellas5/5Python Paso a paso: PROGRAMACIÓN INFORMÁTICA/DESARROLLO DE SOFTWARE Calificación: 4 de 5 estrellas4/5GuíaBurros Microsoft Excel: Todo lo que necesitas saber sobre esta potente hoja de cálculo Calificación: 4 de 5 estrellas4/5HTML para novatos Calificación: 5 de 5 estrellas5/5Ortografía para todos: La tabla periódica de la ortografía Calificación: 5 de 5 estrellas5/5El gran libro de Python Calificación: 5 de 5 estrellas5/5Arduino. Trucos y secretos.: 120 ideas para resolver cualquier problema Calificación: 5 de 5 estrellas5/5Lógica de programación: Solucionario en pseudocódigo – Ejercicios resueltos Calificación: 4 de 5 estrellas4/5Linux Essentials: una guía para principiantes del sistema operativo Linux Calificación: 5 de 5 estrellas5/5Curso básico de Python: La guía para principiantes para una introducción en la programación con Python Calificación: 0 de 5 estrellas0 calificacionesPython a fondo Calificación: 5 de 5 estrellas5/5El Libro Práctico Del Programador Ágil Calificación: 5 de 5 estrellas5/5Diseño Web con CSS Calificación: 5 de 5 estrellas5/5Aprende a programar en C# Calificación: 5 de 5 estrellas5/5VBA Excel Guía Esencial Calificación: 5 de 5 estrellas5/5Python Aplicaciones prácticas Calificación: 4 de 5 estrellas4/5Fundamentos De Programación Calificación: 5 de 5 estrellas5/5Arduino. Edición 2018 Curso práctico Calificación: 4 de 5 estrellas4/5Aprender a programar con Excel VBA con 100 ejercicios práctico Calificación: 5 de 5 estrellas5/5115 Ejercicios resueltos de programación C++ Calificación: 3 de 5 estrellas3/5JavaScript: Guía completa Calificación: 4 de 5 estrellas4/5Introducción al Uso de Formularios (UserForms) en VBA Calificación: 3 de 5 estrellas3/5Arduino para Principiantes Calificación: 4 de 5 estrellas4/5Bases de Datos con MySQL Calificación: 4 de 5 estrellas4/5Aprender HTML5, CSS3 y Javascript con 100 ejerecios Calificación: 5 de 5 estrellas5/5Aprende a Programar en C++ Calificación: 5 de 5 estrellas5/5
Comentarios para Fundamentos de programación
1 clasificación1 comentario
- Calificación: 5 de 5 estrellas5/5el conocimiento básico es el mejor al empezar a programar en todo tipo de lengüajes de programación. Gracias
Vista previa del libro
Fundamentos de programación - Sergio Francisco Hernández Alamilla
Introducción del eBook
En los años recientes las aplicaciones de la computación se han diversificado rápidamente, ahora incursionan en áreas en las que jamás se habría pensado que podía intervenir una computadora. Las herramientas de software que se han generado son cada vez más sofisticadas. Sin embargo, los problemas actuales presentan retos aún mayores, que exigen de las herramientas computacionales el más alto grado de flexibilidad.
En consecuencia, día a día se presentan lenguajes de programación o scripting, que permiten extender la funcionalidad del software, e incluso crear nuevas herramientas de acuerdo con las necesidades de un proyecto. Es así como la programación ha dejado de ser un conocimiento exclusivo del desarrollador de software y se ha convertido en una poderosa herramienta para otros profesionistas: artistas digitales, diseñadores, ingenieros y financieros, entre otros.
Sin importar el dominio específico donde se utilice, los fundamentos de la programación son esencialmente los mismos, y su correcta comprensión es un primer paso a considerar. Este eBook aborda esos fundamentos desde un punto de vista práctico, apoyándose en ejemplos y ejercicios que permiten la adecuada comprensión de cada tema. Así, abre al lector una puerta a la enorme gama de oportunidades que ofrece el apasionante mundo de la programación.
Capítulo 1. Introducción a la programación
Organizador temático
Introducción a la programación
1.1. Uso de programas para la solución de problemas
Una de las competencias más valiosas en cualquier actividad profesional es la de analizar problemas e identificar soluciones eficientes que los resuelvan. En áreas donde el software juega un papel importante, esta labor es aún más compleja, ya que con frecuencia existen múltiples caminos para llegar a resultados similares. Por esta razón resulta de gran importancia comprender el funcionamiento del software que se utiliza día con día, para posteriormente adentrarse en el proceso que se sigue para crearlo.
En la Figura 1.1 se observa el funcionamiento general del software. Por principio éste recibe información de entrada, es decir, aquellos datos necesarios para su funcionamiento. Comúnmente esta información de entrada proviene de un archivo, del teclado, del mouse, de una URL o de un flujo de datos. El software procesa la información de entrada y ofrece información de salida. Según el propósito con que haya sido diseñado, la salida puede ser un mensaje en pantalla, una gráfica, una imagen, un archivo o cualquier otra representación de información válida.
Figura 1. 1. Funcionamiento general del software.
En la práctica, con frecuencia, pueden encontrarse herramientas de software prediseñadas que resuelven los problemas más comunes para un problema específico. Si se prueban estas herramientas en diferentes escenarios en la gran mayoría de los casos se resolverá el problema satisfactoriamente. Pero si se piensa más allá, ¿qué sucede cuando estas herramientas, no cuentan con la funcionalidad para hacer lo que un proyecto en particular requiere? O peor aún, ¿qué pasa si no existe una herramienta que ofrezca una solución al problema que se ha presentado?
Sin importar cuán sofisticada sea una pieza de software, siempre habrá situaciones de uso no contempladas en su diseño original que no resolverá.
En este punto la programación entra en escena ya que permite agregar funcionalidad a las herramientas existentes, o bien, diseñar nuevos elementos de software.
Elaborar un programa, en términos prácticos, consiste en escribir una secuencia de instrucciones en un lenguaje que la computadora sea capaz de interpretar y procesar.
La programación es el proceso que consiste en escribir, analizar y depurar programas, diseñados en un lenguaje de programación, para que sean interpretados correctamente por una computadora.
Por si esto fuera poco, de manera colateral, la programación desarrolla en el programador habilidades muy útiles, altamente valoradas y difíciles de desarrollar como la capacidad de abstracción, de análisis, de síntesis y el razonamiento lógico. Además, la programación permite automatizar tareas repetitivas y operaciones complejas, cuya realización demandaría mucho más tiempo y precisión del que puede disponer una persona.
1.2. Del lenguaje natural al lenguaje máquina
Comunicar instrucciones de manera efectiva a una computadora no es una tarea fácil, de hecho ha sido un tema estudiado durante décadas por expertos en ciencias computacionales. La principal dificultad asociada a este problema radica en los mecanismos de comunicación tan disímiles que utilizan las personas y las computadoras. Mientras las primeras se expresan a través del uso su lenguaje natural, las segundas entienden a la perfección el simple y elemental código binario.
Cada una de estas formas de comunicación tiene ventajas y desventajas. El lenguaje natural, por un lado, es adecuado para las personas por su riqueza expresiva, pero tiene la enorme desventaja de ser ambiguo y demasiado impreciso para ser interpretado correctamente por una computadora. Por su parte, el código binario es preciso y concreto, lo que facilita que la computadora lo comprenda, pero es muy difícil de utilizar por las personas, debido sobre todo a su escasa capacidad expresiva y a lo complejo que resulta asociar cada significado con un término o símbolo numérico.
Como es de suponerse ante tal desbalance el punto medio es con frecuencia lo más adecuado. Partiendo de este razonamiento, se han creado decenas, quizá cientos, de lenguajes de programación, que no son más que una representación intermedia entre el lenguaje natural de las personas y el lenguaje binario de la computadora. En la Figura 1.2 puede observarse este fenómeno.
Figura 1. 2. Diferentes mecanismos de comunicación.
El lenguaje de programación es un conjunto de reglas sintácticas y semánticas que definen la forma de escribir programas para ser interpretados por una computadora.
Los lenguajes de programación buscan proporcionar al usuario lo mejor de ambos mundos. Por un lado, tienen una sintaxis bien definida que les permite ser expresados sin ambigüedad y, al mismo tiempo, su semántica ofrece la flexibilidad y la expresividad necesarias para representar soluciones a problemas complejos.
Cuando se usa un lenguaje de programación es posible comunicar instrucciones a la computadora de manera cada vez más eficiente y precisa, con el fin aprovechar al máximo sus ventajas en favor de la generación de soluciones a los principales problemas de la industria y de las personas.
1.3. Diseño de algoritmos
Hasta este punto se ha abordado el funcionamiento general del software y la dificultad implícita de programar una computadora. Sin embargo, es importante no perder de vista que la solución al problema es diseñada por las personas. Para ello primero se lleva a cabo un análisis concienzudo del problema, luego se elabora una secuencia ordenada de los pasos que deben llevarse a cabo para resolverlo y finalmente se elabora el programa, es decir, se traduce la solución que se diseñó a un lenguaje de programación que la computadora sea capaz de entender.
A la secuencia ordenada de pasos que deben seguirse para resolver un problema se le denomina algoritmo.
Un algoritmo debe ser en principio: preciso, definido y finito. Su diseño se deriva directamente del análisis que se hace del problema, y es independiente de cualquier lenguaje de programación.
En la Figura 1.3 se observa el proceso de programación y la relación entre cada una de las actividades que lo integran. Es muy importante notar la separación entre la fase de resolución del problema y la fase de trabajo en la computadora. Un principio primordial para la programación eficiente consiste en que el algoritmo deberá ser diseñado antes de escribir una sola instrucción en la computadora. Esta es la regla de oro que se debe recordar y privilegiar siempre que se emprenda la tarea de programar una computadora.
Figura 1. 3. Proceso para la solución de problemas a través de la programación.
A continuación se muestra un ejemplo concreto que permitirá comprender mejor el proceso descrito:
Enunciado del problema: Actualmente en la planta automotriz se están realizando pruebas con los nuevos modelos de autos, una de ellas consiste en determinar el rendimiento de gasolina de manera experimental. Para ello se conduce el auto durante una cierta distancia y se registran la distancia recorrida en kilómetros y cantidad precisa de gasolina empleada en litros.
Análisis del problema
El primer paso consiste en identificar los datos de entrada y los datos de salida (ver la Figura 1.1). Además es necesario distinguir aquellos elementos importantes de los que no son relevantes dentro del enunciado del problema.
Datos de entrada: Distancia recorrida (en kilómetros) y cantidad de gasolina (en litros).
Datos de salida: Rendimiento de gasolina (en kilómetros por litro).
Análisis: El dato de que se el auto se desarrolla en una planta automotriz es irrelevante, lo mismo el dato que el auto es nuevo. El enunciado podría quedar de la siguiente manera:
Dados los datos de la distancia recorrida y la cantidad de gasolina empleada, determinar el rendimiento de un auto en kilómetros por litro
.
Al explorar las fórmulas o relaciones útiles, se plantea la solución utilizando una regla de tres que involucre los datos de los que se disponen:
Dado el análisis, las variables necesarias para elaborar el algoritmo serían: distancia, gasolina y rendimiento.
Diseño del algoritmo
El segundo paso consiste el escribir el algoritmo. En la Figura 1.4 se observa el algoritmo diseñado; siempre se comienza por Inicio y se avanza de manera secuencial hasta terminar en Fin. El diseñador de algoritmos debe tener como objetivo cumplir con tres importantes características: que el algoritmo sea preciso, sea definido y sea finito.