Resumen Temas Del Parcial
Resumen Temas Del Parcial
Resumen Temas Del Parcial
La programación se define como el proceso de crear un conjunto de instrucciones que una computadora
puede seguir para realizar una tarea específica. La función principal de la programación es escribir
programas que permiten la comunicación usuario-máquina. Esto nos ofrece la posibilidad de automatizar
tareas, desarrollar distintos tipos de software dependiendo de la necesidad y la resolución a problemas.
Algoritmos
1.1 ¿Qué son los Algoritmos?
Un algoritmo es un conjunto de instrucciones definidas y ordenadas para
resolver un problema o realizar un cálculo. A partir de un estado e
información inicial, se siguen una serie de pasos ordenados para llegar a la
solución de una situación.
En programación, un algoritmo supone el paso previo a ponerse a escribir
el código. De este modo, un programa informático no sería más que un
conjunto de algoritmos ordenados y codificados en un lenguaje de
programación para poder ser ejecutados en un ordenador.
Programas
2.1 ¿Qué son los programas?
Un programa es un conjunto de instrucciones ya definidas que le indican a la computadora qué hacer.
Estas instrucciones son algoritmos ya escritos en un lenguaje de programación, para que la computadora
pueda entender lo que se debe hacer.
Los programas se pueden usar para realizar una gran variedad de tareas, como:
● Calcular: los programas pueden usarse para realizar cálculos matemáticos simples o complejos.
● Procesar información: son utilizados para leer, procesar y almacenar información.
● Controlar dispositivos: son empleados para controlar dispositivos como robots, impresoras y
cámaras.
● Comunicarse: sirven para comunicarse con otros dispositivos o con personas a través de redes.
Lenguajes de la programación
Es un sistema de signos con un conjunto de instrucciones que permite la interacción de los humanos con
las computadoras. Dicho lenguaje está compuesto por símbolos, reglas sintácticas y semánticas.
2
el hardware a nivel bajo y ayuda a quienes quieran construir software, incluso de alto
nivel.
3
Conceptos de paradigmas de programación
Los paradigmas de programación son las filosofías que guían la forma en la que los desarrolladores desarrollan
software. Al entender estos paradigmas, el programador puede desarrollar de manera más eficiente. La elección
del paradigma adecuado para un proyecto específico es fundamental para el éxito del desarrollo de software en un
mundo tecnológicamente diverso y en constante cambio.
Tipos de paradigmas de programación
Programación imperativa: Los lenguajes de programación imperativa son como
unas instrucciones paso a paso, redactadas para el ordenador. Describen de forma
explícita qué pasos deben llevarse a cabo y en qué secuencia para alcanzar
finalmente la solución deseada. Se reconocen porque describen detalladamente los
pasos que debe seguir el programa para alcanzar un estado deseado.
Programación lógica
Programación funcional
Programación estructurada
Surgió debido a las dificultades que conllevaba a la hora de depurar o modificar los primeros códigos, gracias a esto
se llega a tener un código mejor organizado y limpio. Es el más común, con ella todos los programadores aprenden a
crear código; da instrucciones a la computadora de manera secuencial, una detrás de otra y en orden hasta haber
cumplido con todas.
Se entiende como el mecanismo donde el usuario debe hacerse cargo de programar el ordenador para que sea capaz
de tomar decisiones propias basándose en los postulados y parámetros de la lógica matemática. En este paradigma
de programación, las instrucciones del programa suelen expresar o representar hechos y reglas relacionadas con
problemas dentro de un sistema de lógica formal.
Este tipo de programación es de código abierto, quiere decir que puede ser modificado dependiendo de los problemas
o necesidades que surjan.
Programación funcional
La programación funcional es un paradigma declarativo. Nos enfocaremos en "qué" estamos haciendo y no en "cómo"
se está haciendo que sería el enfoque imperativo. Esto quiere decir que nosotros expresaremos nuestra lógica sin
describir controles de flujo; no usaremos ciclos o condicionales.
Su objetivo principal es reducir los efectos secundarios que se logran aislándolos del resto del código del
software.
Este tipo de programación es de código cerrado, quiere decir que, aunque esta diseñada para dar un resultado,
el código del programa no puede ser modificado debido que fue diseñado para llegar a una respuesta en común.
Programación Estructurada
Definición
Es un paradigma de la programación, es decir, un estilo de codificar los algoritmos orientado a mejorar la claridad,
calidad y tiempo de desarrollo de un programa de computadora recurriendo únicamente a subrutinas y a tres
estructuras de control básicas que se aplica en los
lenguajes de programación.
Orígenes
A finales de los años 1970 surgió una nueva forma de programar que no solamente permitía desarrollar programas
fiables y eficientes, sino que además estos estaban escritos de manera que se facilitaba su comprensión en fases de
mejora posteriores.
Su estructura
Estructura secuencial: Consiste en una secuencia de instrucciones del lenguaje o funciones del programador que se
ejecutan en orden.
Estructura condicional: Ejecuta una estructura si se cumple una condición booleana. Por ejemplo, un “si-entonces”.
Estructura iterativa con condición: Repite una estructura mientras se cumpla una condición booleana. Por ejemplo, un
“mientras-hacer”.
PROGRAMACIÓN ORIENTADA A OBJETOS
Los objetos de programación son objetos del mundo real, así como conceptos
abstractos con propiedades y comportamientos específicos. Los objetos tienen una
estructura interna que combinas variables, funciones y estructuras de datos. Usando
el nombre del objeto y la sintaxis del lenguaje de programación, puede mostrar el
valor del objeto y llamar a sus funciones predefinidas. Los elementos de objeto se
dividen en dos categorías: propiedades y métodos. Las propiedades, también
llamadas propiedades, contienen información sobre un objeto. Por ejemplo, si
consideramos un objeto automóvil, algunas de sus propiedades serán: color, marca,
modelo o año de fabricación. Los métodos definen las operaciones que se pueden
realizar con el objeto.
1. Clases y Objetos: -Las clases son como plantillas o moldes que definen las
propiedades y Comportamientos de los objetos. Los objetos son instancias
específicas de esas clases que Pueden contener tanto datos (atributos) como
código (métodos) que opera en esos datos.
2. Encapsulación: -La encapsulación consiste en ocultar los detalles internos de
un objeto y Exponer solo lo necesario para su uso externo. Esto se logra
definiendo los atributos y métodos De un objeto como públicos, privados o
protegidos.
3. Herencia: - La herencia es un mecanismo que permite que una clase herede
atributos y Métodos de otra clase. Esto fomenta la reutilización del código y la
organización jerárquica de Las clases.
4. Polimorfismo: - El polimorfismo es la capacidad de objetos de diferentes
clases de responder Al mismo mensaje de manera diferente. Esto significa que
un mismo mensaje puede tener Diferentes implementaciones dependiendo
del tipo de objeto que lo recibe, lo que facilita la Flexibilidad y la extensibilidad
del código.
Beneficios de la POO
Complejidad
Limitaciones de escalabilidad
Problemas de mantenibilidad
Tema 4: Programación Orientada a Eventos (Resumen)
1. ¿Qué es la Programación Orientada a Eventos (POE)?
2. Características
• A diferencia de la Programación de tipo estructurada, la POE otorga al
usuario un control total del programa, determinando que parte del programa
se efectuará.
https://4geeks.com/es/lesson/event-driven-programming-es#tipos-de-eventos
4. Ventajas
5. Desventajas
Flexibilidad: Es tanto su ventaja como desventaja, ya que se detecta de una
manera menos rápida y sencilla los defectos operativos, resultando
imprevisible al programador.
La resolución de problemas por computadora es un proceso estructurado y sistemático que implica una serie de etapas
para abordar y resolver un problema utilizando herramientas y técnicas computacionales.
Definición del problema: Es importante comprender y definir claramente el problema que se desea resolver.
Análisis del problema: En esta etapa, se descompone el problema en partes más pequeñas y manejables.
Diseño del algoritmo: Aquí se desarrolla un plan de acción o un algoritmo que describa los pasos necesarios para
resolver el problema. Puede ser expresado en forma de diagrama de flujo, pseudocódigo o cualquier otra
representación lógica.
Codificación: En esta etapa, se traduce el algoritmo a un lenguaje de programación comprensible para la computadora.
Pruebas y depuración: Una vez que se ha codificado el programa, se realizan pruebas exhaustivas con diferentes
conjuntos de datos de entrada para verificar su correcto funcionamiento y detectar posibles errores o fallas.
Mantenimiento: Después de que el programa ha sido probado y se ha verificado su correcto funcionamiento, puede ser
necesario realizar tareas de mantenimiento, como actualizar el código para adaptarlo a nuevos requisitos, optimizarlo
para mejorar su rendimiento o documentarlo adecuadamente.
“La resolución de un problema' mediante un ordenador consiste en el proceso que, a partir de la descripción de un
problema, expresado habitualmente en lenguaje natural y en términos propios del dominio del problema, permite
desarrollar un programa que resuelva dicho problema”.
Problema de decisión: un problema de decisión es un problema computacional que se puede plantear como una
pregunta de sí o no de los valores de entrada. En palabras más sencillas, es que uno hace una pregunta, en este caso
matemática, y el algoritmo resuelve la pregunta con un sí o un no.
Problemas de búsqueda: Los problemas de búsqueda con aquellos en los que se utilizan técnicas para resolver un
problema sabiendo que cada técnica debe desencadenar un resultado y que poco a poco me ayudará a llegar al
resultado final. Algunos ejemplos ilustrativos pueden ser: casos de factorización.
Problemas de optimización: En este tipo de problemas se busca utilizar la menor cantidad de algoritmos con mayor
capacidad de resolución ara que así se optimicen las funciones del procedimiento, esto también se podría decir que
como la anterior de búsquedas, pero con algunos atajos para mayor eficacia.
El análisis consiste en una clara definición del problema, donde se contemple exactamente lo que debe hacer el
programa y el resultado o solución deseada.
Datos de Entrada de que se dispone, proceso o tratamiento que ha de realizarse con estos datos, información de salida
deseada
Diseño del algoritmo
Teniendo en cuenta que un algoritmo es un método para resolver problemas, una vez analizado el mismo se precisa
diseñar un algoritmo que indique claramente los pasos a seguir para resolverlo.
Para realizar un determinado proceso, se le debe suministrar al ordenador una fórmula para la resolución de un
problema (algoritmo), cuyo diseño debe ser independiente de la computadora que resuelve el problema.
En esta etapa se realizará una representación de la secuencia. Estas representaciones son las herramientas de:
diagramas de flujo, pseudocódigos y/o tablas de decisión.
DIAGRAMA DE FLUJO
Es la representación gráfica de un algoritmo, el cual muestra los pasos o procesos a seguir para alcanzar la solución de
un problema, basándose en la utilización de diversos símbolos para representar operaciones específicas.
Símbolos Principales
Pseudocódigo
El pseudocódigo es una forma de representar código, como algoritmos, funciones y otros procesos, utilizando una
combinación de lenguaje natural y elementos similares al lenguaje de programación.
Se llama «pseudocódigo» porque no es realmente ejecutable. En cambio, es una forma de que los humanos
comprendan y planifiquen la lógica de la programación — describir los pasos de un programa de forma que sea fácil de
entender para los humanos, sin dejar de ser lo suficientemente detallado como para convertirse rápidamente en un
lenguaje de programación específico.
Con esto podemos decir que el pseudocódigo o (falso lenguaje) es una serie de pasos bien detallados y claros que
conducen a la resolución de un problema.
Características:
● Una de las principales ventajas del pseudocódigo es que permite a los desarrolladores esbozar su código sin
atascarse en la sintaxis y la estructura de un lenguaje concreto.
● Mayor eficacia
● Mayor flexibilidad
● Mejora la colaboración
Algoritmos
Prueba de escritorio
Una gran cantidad de las aplicaciones que utilizamos hoy en día, son creadas en
base a la codificación, ya que por lo general la misma se utiliza para crear
softwares.
Compilación/Ejecución
● El proceso de compilación
● Ejecución de programa
Tipos de Errores
Documentación de Software