









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento proporciona una introducción completa a los conceptos básicos de la programación, incluyendo algoritmos, estructuras de datos, lenguajes de programación, desarrollo web y aplicaciones móviles. Se explica la importancia de los algoritmos en la resolución de problemas y se exploran diferentes tipos de algoritmos, como los de búsqueda y ordenamiento. También se abordan las estructuras de datos, como las listas lineales, y se analizan las estructuras selectivas y repetitivas en la programación. Una excelente herramienta para estudiantes que desean aprender los fundamentos de la programación.
Tipo: Resúmenes
1 / 17
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










Introducción La programación es un proceso mediante el cual creamos programas que son ejecutados por un sistema computacional, todo ello con el fin de resolver una tarea. Todo programa implementa un algoritmo. Un algoritmo es conjunto de acciones 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. La construcción de un algoritmo (y por tanto la de creación de un programa) se puede basar en varias técnicas de diseño. Lenguajes de programación. Existen diversos lenguajes de programación, cada uno con sus propias reglas y sintaxis. Algunos de los lenguajes más populares son: C++, Java, Python y JavaScript. Cada lenguaje tiene sus ventajas y desventajas, y es importante elegir uno que se adapte a las necesidades del proyecto. Algoritmos y estructuras de datos Los algoritmos son secuencias de pasos que resuelven un problema específico. Las estructuras de datos son formas de organizar y almacenar información en la memoria de una computadora. Comprender los algoritmos y las estructuras de datos es fundamental para la programación eficiente y optimizada. Lenguajes de programación web más importantes
Aplicaciones móviles y programación La programación también se utiliza para desarrollar aplicaciones móviles. Los sistemas operativos como Android e iOS ofrecen plataformas de desarrollo que permiten a los programadores crear aplicaciones para dispositivos móviles. Conocer los principios básicos de la programación móvil es beneficioso para los estudiantes de Computación e Informática. Seguridad en la programación La seguridad en la programación es un aspecto crítico a tener en cuenta. Los programadores deben ser conscientes de las vulnerabilidades y amenazas potenciales en el software que desarrollan. Esto implica aprender sobre prácticas seguras de codificación, autenticación, autorización y protección de datos. Pruebas y depuración de programas Las pruebas y la depuración son etapas importantes en el desarrollo de software. Es necesario probar y verificar el funcionamiento correcto de un programa antes de su implementación. La depuración implica identificar y corregir errores o fallos en el código. Aprender técnicas efectivas de prueba y depuración mejora la calidad del software. Herramientas y entornos de desarrollo Existen numerosas herramientas y entornos de desarrollo que facilitan la programación. IDEs como Visual Studio Code, PyCharm y Eclipse proporcionan características útiles, como resaltado de sintaxis, autocompletado y depuración integrada. Familiarizarse con estas herramientas ayuda a los estudiantes de Computación e Informática a desarrollar programas de manera más eficiente. Recursos y comunidades de programación En Internet, hay una gran cantidad de recursos y comunidades de programación que brindan apoyo y conocimientos adicionales. Foros, tutoriales en línea y plataformas de aprendizaje como Stack Overflow, GitHub y Coursera son valiosos para los estudiantes de Computación e Informática. Participar en estas
comunidades fomenta el aprendizaje continuo y la colaboración. La programación es una habilidad esencial en el campo de la Computación e Informática. En este artículo, hemos explorado los conceptos básicos de la programación, desde los lenguajes y algoritmos hasta el desarrollo web y las pruebas de software. A medida que los estudiantes se sumergen en este mundo, es importante practicar, aprender de la experiencia y mantenerse actualizado con las últimas tendencias y tecnologías. 4.2. Algoritmos. Al diseñar un programa, el desafío principal es crear y describir un procedimiento que esté completamente bien definido, que no tenga ambigüedades, y que efectivamente resuelva el problema. Así es como la programación no es tanto sobre computadores, sino sobre resolver problemas de manera estructurada. El objeto de estudio de la programación no son los programas, sino los algoritmos. Un algoritmo es un procedimiento bien definido para resolver un problema. Todo el mundo conoce y utiliza algoritmos a diario, incluso sin darse cuenta: Una receta de cocina es un algoritmo; si bien podríamos cuestionar que algunos pasos son ambiguos (¿cuánto es «una pizca de sal»? ¿qué significa «agregar a gusto»?), en general las instrucciones están lo suficientemente bien definidas para que uno las pueda seguir sin problemas. La entrada de una receta son los ingredientes y algunos datos como: ¿para cuántas personas se cocinará? El proceso es la serie de pasos para manipular los ingredientes. La salida es el plato terminado. Áreas de programación
Las tres partes de un algoritmo son: − Input (entrada). Información que damos al algoritmo con la que va a trabajar para ofrecer la solución esperada. − Proceso. Conjunto de pasos para que, a partir de los datos de entrada, llegue a la solución de la situación. − Output (salida). Resultados, a partir de la transformación de los valores de entrada durante el proceso. De este modo, un algoritmo informático parte de un estado inicial y de unos valores de entrada, sigue una serie de pasos sucesivos y llega a un estado final en el que ha obtenido una solución. Asimismo, los algoritmos presentan una serie de características comunes. Son: − Precisos. Objetivos, sin ambigüedad. − Ordenados. Presentan una secuencia clara y precisa para poder llegar a la solución. − Finitos. Contienen un número determinado de pasos. − Concretos. Ofrecen una solución determinada para la situación o problema planteados. − Definidos. El mismo algoritmo debe dar el mismo resultado al recibir la misma entrada. Tipos de algortimos Existen diversas clasificaciones de algoritmos, en función de diferentes criterios. Según su sistema de signos (cómo describen los pasos a seguir), se distingue entre algoritmos cuantitativos y cualitativos, si lo hacen a través de cálculos matemáticos o secuencias lógicas. Asimismo, si requieren o no el empleo de un ordenador para su resolución, se clasifican en computacionales y no computacionales.
Pero, si nos fijamos en su función (qué hace) y su estrategia para llegar a la solución (cómo lo hace), encontramos muchos más tipos de algoritmos. Destacamos los siguientes cinco tipos de algoritmos informáticos: Algoritmos de búsqueda Los algoritmos de búsqueda localizan uno o varios elementos que presenten una serie de propiedades dentro de una estructura de datos. Existen diversos tipos de búsquedas, entre las que sobresalen: Búsqueda secuencial. En la que se compara el elemento a localizar con cada elemento del conjunto hasta encontrarlo o hasta que hayamos comparado todos. Búsqueda binaria. En un conjunto de elementos ordenados, hace una comparación con el elemento ubicado en el medio y, si no son iguales, continúa la búsqueda en la mitad donde puede estar. Y así sucesivamente en intervalos cada vez más pequeños de elementos. Ejemplos de algoritmos de Búsqueda y Ordenamiento
código de longitud variable. Cuanto mayor sea la frecuencia le corresponderá un código más corto. Algoritmos probabilísticos Es una técnica que usa una fuente de aleatoriedad como parte de su lógica. Mediante un muestreo aleatorio de la entrada llega a una solución que puede no ser totalmente óptima, pero que es adecuada para el problema planteado. Se utiliza en situaciones con limitaciones de tiempo o memoria y cuando se puede aceptar una buena solución de media, ya que a partir de los mismos datos se pueden obtener soluciones diferentes y algunas erróneas. Para que sea más probable ofrecer una solución correcta, se repite el algoritmo varias veces con diferentes submuestras aleatorias y se comparan los resultados. Tipos de algoritmos probabilísticos Algoritmo de Montecarlo. Dependiendo de la entrada, hay una pequeña probabilidad de que no acierte o no llegue a una solución. Se puede reducir la probabilidad de error aumentando el tiempo de cálculo. Algoritmo de Las Vegas. Se ejecuta en un periodo de tiempo concreto. Si encuentra una solución en ese tiempo ésta será correcta, pero es posible que el tiempo se agote y no encuentre ninguna solución. 4.3. Diagramas de flujo. Un diagrama de flujo, también llamado flujograma, es la representación gráfica de procesos, sistemas o algoritmos informáticos a través de formas geométricas y flechas conectoras. Las formas normalmente indican etapas del proceso u opciones de desarrollo. Las flechas representan secuencias de tareas y la relación entre los pasos. Algoritmo voraz de Dijkstra
Las organizaciones usan diagramas de flujo para simplificar sus procesos al transmitirlos de manera visual. Cada paso del flujograma indica cuál es la siguiente acción a realizar. Al estar ordenados cronológicamente, resultan fáciles de seguir y útiles a la hora de tomar decisiones, ordenar procesos, identificar errores, etc. Por ejemplo, una empresa de software aplica un diagrama de flujo para lanzar una aplicación, los nuevos empleados para completar una tarea de manera ordenada, y el departamento de calidad para asegurarse que sus productos cumplen con los protocolos necesarios. Los diagramas de flujo tienen sus ventajas:
Importancia de las listas lineales para los desarrolladores Es importante que un desarrollador comprenda las ventajas de las listas lineales en programación, porque en el desarrollo de software la elección de la estructura de datos adecuada es esencial para lograr un rendimiento eficiente y cumplir con los requisitos funcionales de una aplicación. Saber cuándo y cómo utilizar listas lineales, como listas enlazadas, arrays dinámicos o pilas, entre otras, le permite a los desarrolladores seleccionar la estructura de datos más apropiada para un problema específico. Esto evita la ineficiencia y los errores que podrían surgir al elegir una estructura inadecuada. Las listas lineales, en particular las listas enlazadas, son eficientes en cuanto a uso de memoria y operaciones de inserción y eliminación. Comprender estas ventajas ayuda a los desarrolladores a optimizar el uso de recursos en sus aplicaciones, lo que es esencial, especialmente en sistemas que manejan grandes cantidades de datos. En resumen, las listas son una herramienta valiosa para cualquier desarrollador. Ofrecen flexibilidad en la manipulación de datos, eficiencia en la inserción y el uso de memoria, además de permitir mantener elementos del mismo tipo. Si bien pueden no ser la opción más eficiente en todas las situaciones de búsqueda, siguen siendo una estructura de datos versátil y esencial en la caja de herramientas de cualquier programador. 4.5. Estructuras selectivas. Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir. Esta toma de decisión se basa en la evaluación de una o más condiciones que nos señalarán como alternativa o consecuencia, el camino a seguir. Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una decisión, se marca el camino correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente. Por lo que para alcanzar la solución de un problema o subproblema debemos aplicar prácticamente un árbol de decisión. Estructura selectiva doble.
Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas las podemos clasificar de la siguiente forma: 1.SI ENTONCES (Estructura selectiva simple) 2.SI ENTONCES / SINO (Estructura selectiva doble) 3.SI MULTIPLE (Estructura selectiva múltiple) Cabe señalar que cuando a las estructuras selectivas las aplicamos en cascada, podemos utilizar una combinación de las estructuras señaladas anteriormente en la clasificación. La estructura selectiva simple si entonces. Donde: CONDICIÓN expresa la condición a evaluar. OPERACIÓN expresa la operación o conjunto de operaciones que se van a realizar si la condición resulta verdadera. En lenguaje algorítmico: Si condición entonces Hacer operación La estructura selectiva doble si entonces/sino. Donde:
ACCION N expresa la operación o conjunto de operaciones que se van a realizar si el selector toma el valor N. ACCION N+1 expresa la operación que se va a realizar cuando se continúe con el flujo normal del diagrama. 4.6. Estructuras repetitivas Dentro de la programación estructurada existen unas instrucciones que permite que el computador realice una misma instrucción mas de una vez utilizando los mismos datos o un conjunto de datos diferentes. Estas estructuras son las instrucciones repetitivas, que permiten realizar una instrucción más de una vez, esto también, se denomina bucles o interacciones. Todas la estructuras repetitivas deben tener una variable de control que permite realizar las interacciones hasta que esta variable cumpla una condición dada. Esta variable de control puede tener dos procedimientos:
Lógica de programación. (s. f.). https://mdm.usta.edu.co/remos_downloads/oev/logica_de_programacion/temas/estruct uras_repetitivas.htm Introducción a la programación — Programación. (s. f.). http://progra.usm.cl/apunte/materia/introduccion.html Maluenda, R. (2023, 19 octubre). Qué es un algoritmo informático: características, tipos y ejemplos. Profile Software Services. https://profile.es/blog/que-es-un-algoritmo-informatico/ Lógica de programación. (s. f.-b). https://mdm.usta.edu.co/remos_downloads/oev/logica_de_programacion/temas/estruct uras_repetitivas.htm