Logo Studenta

Practica 1 Conceptos de Algoritmos

¡Estudia con miles de materiales!

Vista previa del material en texto

Nombre:
Apellido:
Matricula:
Carrera:
Desarrollo de software
Materia:
Introducción a la Elaboración de Algoritmos.
Nombre del docente:
Tema:
Tarea 1
Fecha
14/09/2023
1. Algoritmos Fundamentales
Los algoritmos son fundamentales en la programación porque ayudan a los desarrolladores a crear software que sea eficiente y preciso. Existen diferentes tipos de algoritmos, como los de búsqueda, ordenamiento, recursión y teoría de grafos.
2. Diagrama de flujo de datos.
Es una forma visual para mostrar el movimiento de los datos a través de un sistema de información. Presenta como la información ingresa y sale del sistema, por que ruta pasan, donde se almacena y las fuentes y destinos de esa información.
Sirven para representar algoritmos de manera grafica.
3. Introducción al lenguaje de programación.
Un lenguaje de programación son un conjunto de reglas y símbolos que permiten a los programadores comunicarse con un pc. Es una forma de escribir instrucciones de manera estructura y precisa, para que la maquina pueda entender y aplicar esas instrucciones.
Son herramientas para crear programas, dentro de los lenguajes más usados están: Python: un lenguaje de alto nivel, versátil y fácil de aprender.
C: un lenguaje de bajo nivel, potente y eficiente.
Java: un lenguaje orientado a objetos, multiplataforma y popular.
JavaScript: un lenguaje de scripting, dinámico y usado para el desarrollo web. HTML/CSS: lenguajes de marcado y estilo, usados para crear páginas web.
4. Tipos de datos
Texto
Carácter: Este es un tipo de dato formado por una unidad o símbolo que puede ser una letra, un número, una mayúscula o un signo de puntuación.
Cadena: Tipo de dato formado por un conjunto de caracteres dispuestos de forma consecutiva que se representan en comilla.
Numérico
Entero: Tipo de dato formado por una variable numérica que no cuenta con parte decimal.
Real: Tipo de dato formado por una variable numérica que cuenta con parte decimal.
Lógico
Booleano: Este es un tipo de dato que puede representar dos valores: verdadero o falso.
5. Manejo de Variables
Una variable en informática es un espacio de memoria que almacena un valor que puede cambiar durante la ejecución de un programa.
Una variable en informática es un espacio de memoria que almacena un valor que puede cambiar durante la ejecución de un programa.
Por ejemplo, en un programa informático para sumar dos números introducidos por el usuario, se guarda cada valor en una variable diferente y finalmente se realiza la operación sumando las variables. Así cada vez que se ejecute el programa el usuario podrá introducir números diferentes y obtener su suma.
6. Representación de la información en las computadoras.
La representación de la información en las computadoras se basa en el sistema binario, que utiliza sólo dos valores: el cero y el uno (0, 1). A cada uno de estos valores se le llama bit (de Binary digit, que significa dígito binario)1. Los bits se pueden agrupar en unidades mayores, como los bytes, que son conjuntos de 8 bits2. Los bytes pueden representar diferentes tipos de datos, como números, letras, símbolos o imágenes
7. El desarrollo de programas web.
El desarrollo de programas web, es el proceso de crear sitios y aplicaciones para internet o intranet usando diferentes lenguajes de programación, el desarrollo web se divide en Frondtend, que es lo que se puede ver y usar, como el diseño el menú desplegable, los textos, etc.… y el Backend, lo que no se ve, es decir donde se almacenan los datos.
8. Pasos para la elaboración de un programa.
1- Buscar el objetivo
Es la fase donde se enuncia el problema u objetivo que se quiere cumplir. Es decir, qué quieres que haga tu programa.
2- Analizar el problema
Ya tienes claro qué tienes que hacer. Ya sabes que vas a freír un huevo. Pero necesitas analizar qué ingredientes necesitas. Eso es básicamente lo que debes definir en esta etapa, qué necesitas para tu programa.
3- Diseño del algoritmo
Es la etapa más creativa, en la que diseñas el algoritmo. Se puede hacer mediante un diagrama de flujo (gráfico) o mediante pseudocódigo (o ambos).
Ya conoces el objetivo, conoces lo que necesitas, ahora debes trazar el plan: la receta. Los pasos que debes seguir para conseguir el resultado buscado.
4- Codificación
Siguiente paso es el de la codificación, es decir, transcribir el pseudocódigo o pasar el diagrama a código fuente, debes conocer a fondo el lenguaje de programación que estés usando.
5- Prueba y depuración
Una vez el programa ya está creado, deberíamos compilarlo para pasarlo a un formato comprensible por la máquina, es decir, a binario. Una vez tenemos el ejecutable, puedes probarlo para ver si funciona adecuadamente.
6- Documentación
No es imprescindible, especialmente si se trata de un programa simple. Pero es una buena práctica escribir una guía o manual para el usuario o para futuros desarrolladores que quieran modificar tu código.
7- Mantenimiento
Aunque parezca que el programa ya está terminado, se podrían detectar fallos que hay que parchear, se pueden hacer ajustes, agregar nuevas funciones, etc. En definitiva, ir actualizando las versiones del software. Recuerda, que todo cambio debería ir también documentado.
9. Cloud Computing (computación en las nubes).
La computación en la nube (cloud computing) es una tecnología que permite acceso remoto a software, almacenamiento de archivos y procesamiento de datos por medio de internet, siendo así, una alternativa a la ejecución en una computadora personal o servidor local. En el modelo de nube, no hay necesidad de instalar aplicaciones localmente a computadoras.
10. Software como servicio. (SaaS).
El Software como servicio (SaaS) permite a los usuarios conectarse a aplicaciones basadas en la nube a través de Internet y usarlas. Algunos ejemplos comunes son el correo electrónico, los calendarios y las herramientas ofimáticas (como Microsoft Office 365).
SaaS ofrece una solución de software integral que se adquiere de un proveedor de servicios en la nube mediante un modelo de pago por uso.
11. Internet de las cosas.
El Internet of Things, Internet de las Cosas o IoT es un concepto que se refiere a la interconexión digital de los objetos cotidianos con Internet, convirtiéndose así en objetos inteligentes.
12. La Web semántica y la Web 3.0
La web semántica es una extensión de la web que busca hacer que la información sea más comprensible y accesible para las máquinas, mediante el uso de metadatos y ontologías1. La web semántica también se conoce como web 3.0 y tiene como objetivo mejorar la búsqueda, el filtrado y la integración de datos en internet23. ¿Qué te interesa saber sobre la web semántica?
13. Lenguajes de programación (programas y programación).
1. Action Script.- Se trata de un lenguaje de programación para la plataforma Adobe Fash, lo que permite la creación de aplicaciones y comandos en dicha plataforma de una manera más eficaz.
2. ADA. - Este lenguaje suele ser utilizado en la creación de programas con un alto nivel de confiabilidad, como es el caso del desarrollo de softwares militares e industriales de alta precisión y de costo elevado.
3. ASP. - Se trata de un sub-enguaje de programación enfocado a la creación de aplicaciones para servidores creado por Microsoft.
4. BASIC. - Es uno de los primeros lenguajes informáticos de programación que se enfocaban a un público no especializado en las variadas ecuaciones y cálculos necesarios en la principiante ciencia de la computación.
5. Ensamblador o assembler. - Es un lenguaje de programación propio de circuitos integrados, microprocesadores, microcontroladores y diversos circuitos integrados, gracias a que es un lenguaje de bajo nivel cuya estructura se acerca mucho al lenguaje utilizado	por	las	máquinas	(binario).
14. Tipos de lenguaje de programación
Lenguaje de alto nivel Lenguaje de bajo nivel Lenguaje de nivel medio
15. Lenguaje de alto nivel
Son lenguajes que pueden ejecutarse en diferentes sistemas y que son más fáciles de entender y escribir para los programadores. Dentro de este tipo haydos subtipos: los lenguajes interpretables y los lenguajes compilados.
16. Lenguaje de bajo nivel
Son lenguajes diseñados para un hardware específico y que no pueden migrar a otros computadores. Sacan el mayor provecho al sistema, pero no son portables.
17. Traductores de lenguaje: el proceso de traducción de un programa.
El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un lenguaje máquina comprensible por la computadora, se realiza mediante programas llamados “traductores”. Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina.
Hay tres tipos diferentes de traductores:
Compilador Interprete Ensamblador
18. Intérpretes.
El interprete es similar a un compilador, ya que es un traductor que se utiliza para convertir un lenguaje de programación de alto nivel en un lenguaje de programación de bajo nivel.
un intérprete interpreta cada instrucción una por una y la ejecuta sin generar ningún archivo.
19. Compiladores.
Un compilador es un traductor que se utiliza para convertir un lenguaje de programación de alto nivel a un lenguaje de programación de bajo nivel.
Un compilador compila todo el código fuente a la vez y genera un archivo ejecutable, Un programa compilado se ejecuta más rápido que uno interpretado, pero tarda más en compilar.
20. La Compilación y sus fases.
Análisis léxico: se divide el programa fuente en unidades llamadas tokens.
Análisis sintáctico: se verifica que los tokens sigan las reglas gramaticales del lenguaje.
Análisis semántico: se verifica que los tokens tengan significado y coherencia en el contexto del programa.
Generación de código intermedio: se produce una representación intermedia del programa que es independiente del lenguaje y de la máquina.
Optimización de código: se mejora el código intermedio eliminando redundancias, simplificando expresiones, reordenando instrucciones, etc.
Generación de código objeto: se traduce el código intermedio a código máquina o a un lenguaje ensamblador.
21. Evolución de los lenguajes de programación.
Los lenguajes de programación son las herramientas que usan los programadores para crear software. Los lenguajes de programación han evolucionado a lo largo del tiempo para adaptarse a las necesidades y desafíos de cada época. Algunos hitos importantes en la evolución de los lenguajes de programación son:
El primer lenguaje de programación fue el lenguaje ensamblador, creado en 1949, que permitía escribir instrucciones directamente al procesador usando códigos binarios o mnemónicos.
En la década de 1950, surgieron los primeros lenguajes de alto nivel, como Fortran, Lisp y Cobol, que usaban palabras y símbolos más cercanos al lenguaje humano y facilitaban la portabilidad del código entre diferentes máquinas.
En la década de 1960, se desarrollaron los primeros lenguajes de paradigma estructurado, como Algol, Pascal y C, que introdujeron conceptos como las funciones, las estructuras de control y los tipos de datos.
En la década de 1970, se popularizaron los lenguajes de paradigma orientado a objetos, como Smalltalk, Simula y C++, que permitían modelar el mundo real mediante clases, objetos, herencia y polimorfismo.
En la década de 1980, se crearon los primeros lenguajes de paradigma funcional, como Haskell, Erlang y Scheme, que se basaban en el cálculo lambda y las funciones puras sin efectos secundarios.
En la década de 1990, se consolidaron los lenguajes de paradigma multiparadigma, como Java, Python y Ruby, que combinaban características de diferentes paradigmas y ofrecían soporte para la programación concurrente, distribuida y web.
En la década de 2000, se desarrollaron los lenguajes de paradigma orientado a aspectos, como AspectJ, AspectC++ y Aspect.NET, que permitían modularizar el código según las preocupaciones transversales o aspectos4.
En la actualidad, existen muchos lenguajes de programación que siguen evolucionando y adaptándose a las nuevas tendencias y tecnologías, como el big data, la inteligencia artificial, el internet de las cosas o el desarrollo móvil. Algunos ejemplos son Scala, Kotlin, Swift y R.
22. Paradigmas de programación.
Los paradigmas de programación son modelos para resolver problemas comunes con nuestro código. Son caminos, guías, reglas, teorías y fundamentos que agilizan nuestro desarrollo y evitan que reinventemos la rueda.
Un paradigma puede ser como un mapa. Si quieres llegar de un punto "A" a un punto "B", tendrás diferentes caminos, unos pueden ser más cercanos o lejanos.
23. Lenguajes imperativos (procedimentales).
Los lenguajes de programación imperativos son aquellos que se basan en una estructura secuencial y jerárquica, y que ejecutan acciones de acuerdo con reglas precisas. Deben su nombre a que son lenguajes que indican a los ordenadores qué tienen que hacer y cómo deben hacerlo.
24. Lenguajes declarativos
Un lenguaje declarativo es un tipo de lenguaje de programación basado más en las matemáticas y en la lógica que los lenguajes imperativos, más cercanos estos al razonamiento humano. Los lenguajes declarativos no dicen cómo hacer una cosa, sino, más bien, qué cosa hacer.
25. Lenguajes orientados a objetos.
El lenguaje orientado a objetos es un lenguaje de programación que implementa el paradigma de programación orientada objetos. este paradigma se basa en el concepto de objetos, que son estructuras de datos que contienen tanto datos como métodos. la programación orientada objetos (POO) organiza el diseño de software en torno a los objetos en lugar de funciones y lógica.
Los lenguajes más conocidos en la actualidad que están orientados a objetos son Java, C# o Python.
26. Metodología de la programación
Una metodología de programación es un procedimiento que siguen los programadores para desarrollar un software de manera eficiente y ordenada. Existen diferentes metodologías de programación, como la programación estructurada, la programación orientada a objetos, la programación funcional, la programación lógica, etc.… Cada una tiene sus ventajas y desventajas, y se adapta mejor a ciertos tipos de problemas o proyectos.
27. Programación estructurada.
La programación estructurada es un enfoque para el desarrollo de programas informáticos en el que se usa una secuencia lógica para estructurar los pasos del programa. Esta estructuración de los pasos del programa se realiza con el fin de mejorar la comprensión y mantenimiento del código, así como para aumentar la velocidad de ejecución.
28. Programación orientada a objetos.
Esta metodología de desarrollo se basa en la idea de que los programas se pueden organizar como una colección de objetos interconectados, cada uno con su propio conjunto de datos y funcionalidades.
La programación orientada a objetos se centra en los objetos que los desarrolladores quieren manipular en lugar de la lógica necesaria para manipularlos. Este enfoque de la programación es muy adecuado para los programas que son grandes, complejos y activamente se están actualizando o manteniendo.
29. Herramientas de programación.
Las herramientas de programación son programas o aplicaciones que facilitan el desarrollo de software.
Las principales herramientas de programación son los editores de código, los compiladores o intérpretes, y los depuradores. Estas herramientas te permiten escribir, ejecutar y corregir el código fuente de un programa.
30. Editores de texto.
Los editores de texto son programas que permiten crear y modificar archivos de texto plano, los cuales se usan para escribir el código fuente de los programas. Algunos de los mejores editores de texto para programar son:
Brackets: un editor de texto para desarrolladores web, es open source y fue elaborado por la empresa Adobe.
Sublime Text: un editor multiplataforma y con multitud de funciones, es uno de los favoritos del público programador.
Visual Studio Code: un editor gratuito y potente que soporta muchos lenguajes de programación y tiene una gran comunidad de usuarios.
31. Programas ejecutables.
Un programaejecutable es un archivo que contiene instrucciones que la computadora puede ejecutar directamente. Por ejemplo, un archivo con extensión .exe en Windows es un programa ejecutable. Los programas ejecutables se pueden crear a partir de programas fuente escritos en algún lenguaje de programación, usando compiladores o intérpretes. Algunos ejemplos de software de programación que permiten crear programas ejecutables son PowerBASIC, GCC, Mono, Delphi, etc.
32. Proceso de compilación/ejecución de un programa.
El proceso de compilación/ejecución de un programa es el conjunto de pasos que se realizan para traducir el código fuente escrito en un lenguaje de programación a código máquina que pueda ser ejecutado por el ordenador. Estos pasos pueden incluir el preprocesamiento, la compilación, el ensamblado y el enlazado. Algunos lenguajes de programación no requieren una compilación previa, sino que se interpretan en tiempo de ejecución.
33. Consola de línea de comandos.
la Consola de línea de comandos es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple.
Las Consola de línea de comandos pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (batch), leyendo comandos desde un archivo de scripts.
34. Entorno de desarrollo integrado (IDE).
IDE (Entorno de Desarrollo Integrado) es una herramienta de software que proporciona un entorno de programación completo para los desarrolladores de software. Este conjunto de herramientas es utilizado para ayudar al desarrollo de software desde un mismo techo.
Visual Studio es el entorno de desarrollo integrado de Microsoft y ofrece todo tipo de herramientas y utilidades para la programación avanzada de aplicaciones multiplataformas dentro de su marco.

Continuar navegando