0% encontró este documento útil (0 votos)
3 vistas

Programación y Algoritmos

El documento presenta un análisis detallado sobre los fundamentos de programación y algoritmos, así como las estructuras de control de datos, esenciales para el desarrollo de software. Se discuten conceptos clave como algoritmos, lenguajes de programación, funciones, procedimientos y metodologías ágiles como Scrum y XP, que son cruciales para la gestión de proyectos tecnológicos. Además, se examinan las estructuras de control, su utilidad y las ventajas y desventajas de cada tipo, proporcionando una base sólida para futuros ingenieros de sistemas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas

Programación y Algoritmos

El documento presenta un análisis detallado sobre los fundamentos de programación y algoritmos, así como las estructuras de control de datos, esenciales para el desarrollo de software. Se discuten conceptos clave como algoritmos, lenguajes de programación, funciones, procedimientos y metodologías ágiles como Scrum y XP, que son cruciales para la gestión de proyectos tecnológicos. Además, se examinan las estructuras de control, su utilidad y las ventajas y desventajas de cada tipo, proporcionando una base sólida para futuros ingenieros de sistemas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Instituto Universitario Politécnico

“Santiago Mariño”
Extensión Sede Cabimas

Programación y Algoritmos

Alumno: Alexandra Rincón Mora.


Cédula: 24.156.638
47.Ingeniería de Sistemas
Cátedra: Lógica de programación (SI)

Chile, 22 de Noviembre del 2024.


Índice General

INTRODUCCIÓN 3

UNIDAD II: PROGRAMACIÓN Y ALGORITMOS 4

F UNDAMENTOS TEÓRICOS DE A LGORITMOS Y P ROGRAMACIÓN : 4


F UNDAMENTOS TEÓRICOS DE L ENGUAJES DE P ROGRAMACIÓN : 4
C ONCEPTOS BÁSICOS DE P ROGRAMACIÓN : 4
F UNCIONES Y P ROCEDIMIENTOS : 5
M ETODOLOGÍAS Á GILES PARA EL D ESARROLLO DE P ROYECTOS T ECNOLÓGICOS
M ETODOLOGÍAS COMO S CRUM , E XTREME P ROGRAMMING (XP) Y P ROCESO
U NIFICADO D IRIGIDO (PUD) 5

UNIDAD III: ESTRUCTURAS DE CONTROL DE DATOS 5

C ONCEPTOS B ÁSICOS DE E STRUCTURAS DE C ONTROL : 5


TIPOS DE ESTRUCTURAS DE CONTROL: 6
VENTAJAS Y DESVENTAJAS DE LAS ESTRUCTURAS DE CONTROL: 6

CONCLUSIÓN 12

BIBLIOGRAFÍA 13

2
Introducción

El presente trabajo aborda, en detalle, los conceptos fundamentales de


programación y algoritmos, junto con las estructuras de control de datos, esenciales
en el desarrollo de software. Se expone en la Unidad II la importancia de los
algoritmos, los lenguajes de programación y metodologías como Scrum y XP.

Por otra parte, en la Unidad III se describen las estructuras de control de


datos, destacando su utilidad en la resolución de problemas computacionales. Este
análisis busca proporcionar herramientas teóricas y prácticas necesarias para
comprender los cimientos del desarrollo tecnológico.

Para un estudiante de Ingeniería de Sistemas, el dominio de estos temas no


solo fortalece el pensamiento lógico y la capacidad de resolver problemas, sino que
también es una herramienta esencial para abordar proyectos reales de desarrollo
tecnológico. Estos conocimientos constituyen el puente entre la teoría y la práctica,
preparando a los futuros ingenieros para adaptarse a los cambios constantes de la
industria y para diseñar soluciones innovadoras, escalables y eficientes. Este
trabajo es, por tanto, un paso importante en el camino de aprendizaje para el
desarrollo profesional en el campo de la tecnología.

3
Unidad II: Programación y Algoritmos

Fundamentos teóricos de Algoritmos y Programación :

Un algoritmo se define como una secuencia finita y ordenada de pasos para


resolver un problema o realizar una tarea específica (Sommerville, 2011). La
programación utiliza estos algoritmos para estructurar y ejecutar instrucciones en
un lenguaje comprensible para las computadoras.

Análisis: Los algoritmos son la esencia de la solución de problemas; como


estudiante de ingeniería es necesario comprenderlos, ya que no solo mejora las
habilidades de programación, sino que también fomenta el pensamiento lógico y
estructurado, habilidades clave en el desarrollo de software y la optimización de
procesos.

Fundamentos teóricos de Lenguajes de Programación :

Los lenguajes de programación, como Python, Java y C++, se clasifican


según su nivel de abstracción. Estos se componen de sintaxis (estructura) y
semántica (significado), que permiten la comunicación entre el programador y la
máquina (Deitel & Deitel, 2015).

Análisis: El dominio de lenguajes de programación capacita a los futuros


ingenieros de sistemas para abordar problemas desde múltiples perspectivas.
Además, permite elegir la herramienta adecuada para cada tarea, optimizando
recursos y tiempo en el desarrollo.

Conceptos básicos de Programación:

La programación se basa en conceptos como variables, operadores y


estructuras de datos. Estos elementos, combinados con estructuras de control,
permiten construir programas que interactúan con los usuarios y resuelven
problemas complejos (Pressman, 2014).

4
Análisis: Para un estudiante de Ingeniería de Sistemas, el dominio de los
conceptos básicos de programación es el primer paso hacia la construcción de
soluciones robustas y escalables. Esto también fomenta una base sólida para
aprender otras tecnologías avanzadas.

Funciones y Procedimientos:

Las funciones son bloques reutilizables que realizan tareas específicas y


retornan valores. Los procedimientos son similares, pero no necesariamente
producen un resultado (GeeksForGeeks, 2024).

Análisis: El uso de funciones y procedimientos ayuda a los estudiantes a estructurar


sus programas de forma modular, lo que mejora la legibilidad y facilita el
mantenimiento del código en proyectos complejos.

Metodologías Ágiles para el Desarrollo de Proyectos Tecnológicos


Metodologías como Scrum, Extreme Programming (XP) y Proceso
Unificado Dirigido (PUD)

Metodologías como Scrum y Extreme Programming (XP) son enfoques ágiles


que priorizan la colaboración, la flexibilidad y la entrega rápida de productos
funcionales (scrum.org, 2024).

Análisis: Implementar metodologías ágiles en proyectos académicos y


profesionales permite a los futuros ingenieros de sistemas adaptarse a los cambios
constantes en las necesidades del cliente, garantizando entregables de alta calidad
y en tiempos óptimos.

Unidad III: Estructuras de Control de Datos

Conceptos Básicos de Estructuras de Control :

5
Las estructuras de control determinan el flujo de un programa, permitiendo
decidir, repetir o interrumpir procesos según condiciones específicas (Deitel &
Deitel, 2015).

Análisis: Comprender estas estructuras es esencial para diseñar programas que


reaccionen de forma dinámica a diversas condiciones. Esto fomenta la capacidad
de crear soluciones personalizadas y eficientes.

Tipos de Estructuras de Control:

1. Estructuras Secuenciales: Ejecutan las instrucciones en el orden en que


aparecen.

2. Estructuras Condicionales: Permiten tomar decisiones basadas en


condiciones (e.g., if, else, switch).

3. Estructuras de Saltos: Alteran el flujo normal de ejecución (e.g., goto,


break). (Pressman, 2014).

Análisis: Un manejo adecuado de los tipos de estructuras permite resolver


problemas complejos de manera eficiente y modular. En el contexto académico, su
implementación práctica en simulaciones y proyectos prepara a los estudiantes para
los desafíos reales.

Ventajas y Desventajas de las Estructuras de Control:

• Secuenciales: Sencillas de implementar, pero limitadas en complejidad.

• Condicionales: Versátiles, pero pueden ser difíciles de depurar si se anidan


demasiado.

• Saltos: Útiles en casos específicos, aunque su uso excesivo puede


complicar el código. (Sommerville, 2011).

6
Análisis: El conocimiento de las ventajas y limitaciones de cada estructura en una
gran guía en la selección adecuada para cada situación, optimizando el rendimiento
y reduciendo errores.

La estructura secuencial es la base de todo programa, donde las


instrucciones se ejecutan una tras otra, en el mismo orden en que se escriben. No
hay desviaciones ni repeticiones en esta estructura; cada paso del programa sigue
un flujo lineal. Usar esta estructura es de gran ventaja ya que es sencilla de
implementar y es ideal para resolver problemas con un flujo directo de pasos; sin
embargo, no puede manejar decisiones ni repetir acciones; por lo tanto, es limitada
en aplicaciones dinámicas.

Ejemplo en pseudocódigo:

Inicio

Leer número1

Leer número2

suma ← número1 + número2

Mostrar suma

Fin

La estructura condicional permite tomar decisiones basadas en una condición


lógica. Estas estructuras evalúan expresiones booleanas (verdadero/falso) para
determinar qué bloque de código ejecutar.

1. Condicional Simple: Solo evalúa una condición. Si es verdadera,


ejecuta un bloque de código; si es falsa, no hace nada.

Ejemplo en pseudocódigo:

Inicio

Leer número

Si número > 0 Entonces

Mostrar "El número es positivo"

7
Fin Si

Fin

2. Condicional Doble: Proporciona dos caminos posibles según la


evaluación de la condición.

Ejemplo en pseudocódigo:

Inicio

Leer número

Si número >= 0 Entonces

Mostrar "El número es positivo o cero"

Sino

Mostrar "El número es negativo"

Fin Si

Fin

3. Condicional Múltiple: Evalúa múltiples condiciones mediante una


estructura como switch o anidando varios if.

Ejemplo en pseudocódigo usando switch:

Inicio

Leer opción

Segun opción Hacer

Caso 1: Mostrar "Seleccionó la opción 1"

Caso 2: Mostrar "Seleccionó la opción 2"

Caso 3: Mostrar "Seleccionó la opción 3"

De otro modo: Mostrar "Opción inválida"

Fin Segun

Fin

8
Las estructuras de saltos permiten alterar el flujo normal de ejecución del
programa. Aunque son útiles en ciertos casos, deben utilizarse con moderación, ya
que pueden reducir la claridad y legibilidad del código.

• IF, ELSE, ELSE IF

Estas son variantes de estructuras condicionales. Se utilizan para decidir


entre múltiples alternativas basadas en condiciones.

Ejemplo en pseudocódigo:

Inicio

Leer calificación

Si calificación >= 90 Entonces

Mostrar "Sobresaliente"

Sino Si calificación >= 80 Entonces

Mostrar "Notable"

Sino Si calificación >= 70 Entonces

Mostrar "Aprobado"

Sino

Mostrar "Reprobado"

Fin Si

Fin

• WHILE: Repite un bloque de código mientras una condición sea verdadera.

Ejemplo en pseudocódigo:

Inicio

contador ← 0

Mientras contador < 5 Hacer

Mostrar contador

9
contador ← contador + 1

Fin Mientras

Fin

• DO WHILE: Es similar a WHILE, pero siempre ejecuta el bloque al menos


una vez, ya que evalúa la condición después del bloque de código.

Ejemplo en pseudocódigo:

Inicio

contador ← 0

Hacer

Mostrar contador

contador ← contador + 1

Mientras contador < 5

Fin

• GOTO: Permite saltar a una etiqueta específica en el programa. Es poco


usado porque complica la lectura del código.

Ejemplo en pseudocódigo:

Inicio

Leer número

Si número < 0 Entonces

IrA negativo

Fin Si

Mostrar "El número es positivo"

IrA fin

Negativo:

Mostrar "El número es negativo"

10
Fin:

Fin

• BREAK y CONTINUE:

1. BREAK: Interrumpe el bucle actual.

2. CONTINUE: Salta el resto del código en la iteración actual y pasa a la


siguiente.

Ejemplo en pseudocódigo con BREAK y CONTINUE:

Inicio

Para i ← 0 Hasta 10 Hacer

Si i = 5 Entonces

Continuar

Fin Si

Si i = 8 Entonces

Romper

Fin Si

Mostrar i

Fin Para

Fin

El dominio de estas estructuras es fundamental, ya que permiten crear


programas dinámicos y resolver problemas de manera eficiente. Comprender cómo
y cuándo usar cada estructura fortalece la capacidad de desarrollar aplicaciones
robustas, escalables y legibles, habilidades esenciales en el mundo profesional del
desarrollo tecnológico.

11
Conclusión

En el presente trabajo se abordaron los fundamentos esenciales de la


programación, los algoritmos y las estructuras de control de datos, aspectos que
conforman la base del desarrollo de software moderno. En la Unidad II, se definieron
los conceptos de algoritmos y programación, destacando cómo los algoritmos
proporcionan un enfoque lógico y estructurado para resolver problemas, mientras
que la programación traduce estas soluciones en instrucciones ejecutables por una
computadora. También se exploraron los lenguajes de programación, cuya sintaxis
y semántica permiten la comunicación efectiva entre el programador y el hardware,
y los conceptos básicos como variables, operadores y estructuras, que son los
bloques de construcción de cualquier programa. Además, se revisaron las funciones
y procedimientos, herramientas clave para modularizar y optimizar el código, y las
metodologías ágiles como Scrum y XP, que facilitan la gestión eficiente de proyectos
tecnológicos en entornos dinámicos y colaborativos.

En la Unidad III, se analizaron las estructuras de control de datos, esenciales


para definir el flujo lógico de ejecución en un programa. Las estructuras
secuenciales, condicionales y de saltos permiten manejar decisiones, repeticiones
y excepciones, aportando flexibilidad y dinamismo en la solución de problemas
computacionales. Se destacaron sus ventajas y desventajas, lo que permite elegir
la estructura adecuada para optimizar el rendimiento del código y mejorar su
legibilidad.

12
Bibliografía

1. Deitel, H. & Deitel, P. (2015). Cómo programar en Java. Pearson.


2. Sommerville, I. (2011). Ingeniería de software. Pearson.
3. Pressman, R. (2014). Ingeniería del software: Un enfoque práctico.
McGraw Hill.
4. GeeksForGeeks. (2024). Concepts of Functions and Procedures.
Recuperado de https://www.geeksforgeeks.org
5. Scrum.org. (2024). What is Scrum?. Recuperado de
https://www.scrum.org

13

También podría gustarte