Está en la página 1de 10

UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

FACULTAD DE INGENIERÍA EN SISTEMAS


CENTRO DE CHIMALTENANGO
CATEDRÁTICO: ING. PABLO A. DE LEON BAUTISTA
CURSO: PROGRAMACIÓN II
SECCIÓN: A

TEMA Examen Corto 1


FECHA 12 de febrero de 2022

CARNÉ NOMBRE COMPLETO FIRMA


1990-20-5697 Santiago Junajpu Conos Sipac Santiago
J.C.
1990-19- Adolfo Rafael Velásquez
10701 Pajarito
1990-20- Daniel Josue Taquirá
24247 Hernández
1990-20- Wiliam Adalberto López
10995 Guerra

1. ¿Qué es un Algoritmo?
Un algoritmo constituye una lista bien definida, ordenada y finita de operaciones,
que permite encontrarla solución a un problema determinado. Dado un estado inicial
y una entrada, es a través de pasos sucesivos y bien definidos que se llega a un
estado final, en el que se obtiene una solución (si hay varias) o la solución (si es
única).
Juganaru Mathieu, M. (2015). Introducción a la programación. México D.F, Mexico:
Grupo Editorial Patria. Recuperado de https://elibro.net/es/ereader/umg/39449?
page=15.

2. ¿Qué es un Sistema?
Un sistema es "un objeto complejo cuyas partes o componentes se relacionan con al
menos alguno de los demás componentes"

3. ¿Qué es un DFD?
Un diagrama de flujo de datos (DFD) traza el flujo de la información para cualquier
proceso o sistema. Emplea símbolos definidos, como rectángulos, círculos y flechas,
además de etiquetas de texto breves, para mostrar las entradas y salidas de datos
Structured Design: Fundamentals of a Discipline of Computer Program and Systems
Design’.

4. ¿Qué es una palabra reservada?


Una palabra reservada nos sirve para acceder a los métodos de la superclase se
utilizará la palabra reservada super. Esta palabra reservada está disponible en
cualquier método no estático de una subclase.
Moreno Pérez, J. C. (2015). Programación. Madrid, Spain: RA-MA Editorial.
Recuperado de https://elibro.net/es/ereader/umg/62476?page=131.

5. ¿Para qué se utiliza la instrucción “mod” en un algoritmo?


Esta función se utiliza para probar si dos números pueden dividirse de manera
exacta o aislar el resto de un cálculo de división. Esta función divide un número
entre otro y devuelve el resto.
Juganaru Mathieu, M. (2015). Introducción a la programación. México D.F, Mexico:
Grupo Editorial Patria. Recuperado de https://elibro.net/es/ereader/umg/39449?
page=63.

6. ¿Indique la procedencia de los operadores aritméticos?


Los operadores aritméticos son utilizados para realizar operaciones matemáticas.
Moreno Pérez, J. C. (2015). Programación. Madrid, Spain: RA-MA Editorial.
Recuperado de https://elibro.net/es/ereader/umg/62476?page=25.

7. ¿Cuáles son los operadores lógicos?


Con los operadores lógicos se pueden realizar operaciones lógicas. En la siguiente
tabla A y B no son los operadores, sino que son los operandos como se puede ver:

Moreno Pérez, J. C. (2015). Programación. Madrid, Spain: RA-MA Editorial.


Recuperado de https://elibro.net/es/ereader/umg/62476?page=26.

8. ¿Qué es un procedimiento?
Los métodos para la gente que haya programado en cualquier lenguaje de
programación son los llamados procedimientos o funciones.
Moreno Pérez, J. C. (2015). Programación. Madrid, Spain: RA-MA Editorial.
Recuperado de https://elibro.net/es/ereader/umg/62476?page=39.

9. ¿Qué es una función?


Una función es una sección de un programa que calcula un valor de manera
independiente al resto del programa.

Una función tiene tres componentes importantes:


1. los parámetros, que son los valores que recibe la función como entrada;
2. el código de la función, que son las operaciones que hace la función; y
3. el resultado (o valor de retorno), que es el valor final que entrega la función.

En esencia, una función es un mini programa. Sus tres componentes son análogos
a la entrada, el proceso y la salida de un programa.

10. ¿Qué es un parámetro?


Un parámetro es un tipo de variable que es recibida por una función, procedimiento
o subrutina. Un parámetro influye en el comportamiento o el resultado de la
ejecución de la función, procedimiento o subrutina (de ahora en más sólo
procedimiento) que lo recibe. La semántica de cómo pueden ser declarados los
parámetros y cómo los argumentos son pasados a los parámetros de los
procedimientos, son definidos por cada lenguaje de programación.

11. ¿Cuál es la diferencia entre un parámetro por referencia y uno por valor?
Cuando es por valor, la información de la variable se almacena en una dirección de
memoria diferente al recibirla en la función, por lo tanto si el valor de esa variable
cambia no afecta la variable original, solo se modifica dentro del contexto de la
función.

Cuando es por referencia, la variable que se recibe como parámetro en la función


apunta exactamente a la misma dirección de memoria que la variable original por lo
que si dentro de la función se modifica su valor también se modifica la variable
original.

12. ¿Qué es un vector?


Es un arreglo, generalmente asociados a los arreglos unidimensionales. Es una
zona de almacenamiento contiguo, que contiene una serie de elementos del mismo
tipo y se distinguen entre sí por un índice. Vector también es la clase de la librería
estándar de C + +, que funciona como arreglo dinámico. El vector es una de las
múltiples estructuras llamadas contenedores (otras son los conjuntos, mapas y
listas).

Es implementada como una plantilla de clase y puede ser iniciada como vector de
números enteros, vector de cadenas, vector de instancias de una clase definida por
el usuario, etc.

13. Represente una matriz de 2x3


En C + + :
int myMatriz1[2][3];

14. ¿Qué es una pila?


Es una estructura de datos que permite almacenar datos en el orden LIFO (Last In
First Out). La recuperación de los datos es realizada en el orden inverso de su
inserción. Es una estructura de datos en la inserción y la extracción de elementos se
realiza solo por un extremo que se denomina cabeza. Como consecuencia, los
elementos de una pila serán eliminados en orden inverso al que se insertaron. Es
decir, el último elemento que se metió en la pila será el primero en salir de ella.

15. ¿Qué es una cola?


Una cola es un grupo ordenado de elementos del mismo tipo, en la cual dichos
elementos se añaden por un extremo (Final) y se quitan por el otro extremo (Frente).
Esto significa que los elementos se sacan en el mismo orden en el que fueron
insertados o introducidos en la cola, siendo por ello considerada como una
estructura de datos FIFO (First In First Out), es decir, que el primer elemento en
entrar es el primer elemento en salir.

16. ¿Qué es una sentencia?


Una sentencia es una línea de código en algún lenguaje de programación. Un
programa está constituido por múltiples sentencias de programación, lo que es
llamado código fuente.

Un algoritmo de programación está constituido por una o más sentencias de


programación.
Las sentencias de programación suelen tener algún carácter que determina su final,
por lo general es un punto y coma (;) o un punto final (.), y algunas están separadas
simplemente por enters (retorno de carro).

17. ¿Qué es POO?


La Programación Orientada a Objetos (POO) es un paradigma de programación, es
decir, un modelo o un estilo de programación que nos da unas guías sobre cómo
trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de
programación se utiliza para estructurar un programa de software en piezas simples
y reutilizables de planos de código (clases) para crear instancias individuales de
objetos. Lo que buscamos es dejar de centrarnos en la lógica pura de los
programas, para empezar a pensar en objetos, lo que constituye la base de este
paradigma. Esto nos ayuda muchísimo en sistemas grandes, ya que en vez de
pensar en funciones, pensamos en las relaciones o interacciones de los diferentes
componentes del sistema.

18. Que es una clase


Una clase, es simplemente una abstracción que hacemos de nuestra experiencia
sensible. El ser humano tiende a agrupar seres o cosas -objetos- con características
similares en grupos -clases-. Así, aun cuando existen por ejemplo multitud de vasos
diferentes, podemos reconocer un vaso en cuanto lo vemos, incluso aun cuando ese
modelo concreto de vaso no lo hayamos visto nunca. El concepto de vaso es una
abstracción de nuestra experiencia sensible. Quizás el ejemplo más claro para
exponer esto lo tengamos en las taxonomías; los biólogos han dividido a todo ser
(vivo o inerte) sobre la tierra en distintas clases.
Francisco Morero. (2000). Introducción a la OOP. España: Grupo EIDOS (pp. 18)

19. Que es un atributo


Los atributos definen la estructura de datos de la clase, los cuales, por omisión son
públicos, es decir, accesibles desde otras clases, lo que significa que se modifican
desde afuera del objeto. Es altamente recomendable declarar todos los atributos
con el modificador private y solamente cambiarlo a public o protected cuando sea
absolutamente necesario.
Por convención, los nombres de los atributos deben escribirse en minúsculas. En el
caso de nombres compuestos, cada palabra intermedia debe iniciar con mayúscula.
Por Ejemplo:
private int promedio;
public float saldoCuentaCredito;
Jorge C, Maria del Carmen G, Pedro G & Abel G.. (2016). Introducción a Java. En
Introducción a la programación orientada a objetos(pp. 26). Col. Santa Fe
Cuajimalpa, delegación Cuajimalpa de Morelos C.P. 05348, Ciudad de México: UAM
Unidad Cuajimalpa.

20. Que es un método


Los métodos constituyen el comportamiento de los objetos de la clase. La definición
de un método es muy similar a la de una función. Los métodos públicos son las
operaciones que los objetos externos realizan con el objeto en cuestión. Los
métodos privados son las operaciones internas que no se pueden invocar desde el
exterior, pero sí desde otro método dentro de la clase.
La sintaxis para escribir un método público es la siguiente:
public <Tipo Dato Retorno> <Nombre Método> ( <Lista Parámetro> ) { … }
Y para escribir un método privado es similar, sólo cambia la primera palabra:
private <Tipo Dato Retorno> <Nombre Método> ( <Lista Parámetro> ) { … }
Jorge C, Maria del Carmen G, Pedro G & Abel G.. (2016). Introducción a Java. En
Introducción a la programación orientada a objetos(pp. 27). Col. Santa Fe
Cuajimalpa, delegación Cuajimalpa de Morelos C.P. 05348, Ciudad de México: UAM
Unidad Cuajimalpa.

21. Qué es UML


El “Lenguaje de Modelado Unificado” – del inglés Unified Modeling Language (UML)
– es un lenguaje basado en diagramas para la especificación, visualización,
construcción y documentación de cualquier sistema complejo, aunque nosotros nos
centraremos en el caso específico de sistemas software. Nota: otro de los ámbitos
en los que UML se utiliza habitualmente es el modelado de los procesos de negocio
de una organización. Por ejemplo, se puede hacer un modelo de cómo funciona
(cómo desarrolla su labor diaria) el Departamento de Compras de una determinada
empresa. Por tanto, UML es un lenguaje para describir modelos. Básicamente, un
modelo es una simplificación de la realidad que construimos para comprender mejor
el sistema que queremos desarrollar. Un modelo proporciona los “planos” de un
sistema, incluyendo tanto los que ofrecen una visión global del sistema como los
más detallados de alguna de sus partes. Para comprender el objetivo del modelado
con UML, es muy útil compararlo con otras áreas de ingeniería, como es la
construcción de edificios o automóviles, con sus diferentes planos y vistas; o incluso
con la industria cinematográfica, donde la técnica del storyboarding (representación
de las secuencias de un película con viñetas dibujadas a mano) constituye un
modelado del producto. (Booch 1999) Booch, G., Rumbaugh, J., Jacobson, I. El
Lenguaje Unificado de Modelado, Addison Wesley, 1999.
22. Que es un caso de uso
CASOS DE USO Un caso de uso se define como un conjunto de acciones
realizadas por el sistema que dan lugar a un resultado observable El caso de uso
especifica un comportamiento que el sujeto puede realizar en colaboración con uno
o más actores, pero sin hacer referencia a su estructura interna El caso de uso
puede contener posibles variaciones de su comportamiento básico incluyendo
manejo de errores y excepciones Una instanciación de un caso de uso es un
escenario que representa un uso particular del sistema (un camino) Características
de los casos de uso: • Un caso de uso se inicia por un actor • Los casos de uso
proporcionan valores a los actores • La funcionalidad de un caso de uso debe ser
completa El comportamiento de un caso de uso se puede describir mediante
interacciones, actividades, máquinas de estado.
Francisco G. & Alicia G.. (2018). FUNDAMENTOS DE LA VISTA DE CASOS DE
USO. España: Grial (pp. 18).

23. Existe relación entre un caso de uso y un DFD, si o no y por que


No, ya que el diagrama de flujo de datos habla sobre el flujo de datos, es decir, la
entrada, un proceso que la procesa, y la salida en un sistema o una parte del
sistema. Hay varios bloques que explican esto en un DFD típico. Los DFD
generalmente están relacionados con todo el sistema o un subsistema principal
dentro de un sistema más grande. El DFD es generalmente de naturaleza técnica.
Un caso de uso: es el viaje de la funcionalidad “uno” que ofrece su sistema al
usuario. Un caso de uso es la presentación de una característica particular de un
sistema más grande que ayuda al usuario a completar alguna tarea. Por ejemplo, en
el caso de un cajero automático, el proceso de retirar dinero con la ayuda del
software del cajero automático desde la inserción de la tarjeta hasta el cobro de
efectivo es un caso de uso. El caso de uso es independiente de la tecnología
subyacente y, por lo tanto, es un documento de nivel usuario. Es decir, no técnico.

24. Defina recursividad


Es una función que se llama a sí misma, ya sea directa o indirecta a través de otra
función. Componentes
Caso base. Es el resultado más simple, lo que conoce la función.
Paso de recursión. Llamada a la misma función, pero con el problema poco menos
complejo que el original. También puede incluir la palabra reservada return.

25. Que es herencia


La generalización es una relación entre clases en las que hay una clase padre,
llamada superclase, y una o más clases hijas especializadas, a las que se les
denomina subclases. La herencia es el mecanismo mediante el cual se implementa
la relación de generalización. En la práctica, cuando se codifica un sistema, se habla
de herencia en lugar de generalización. Cuando hay herencia, la clase hija o
subclase adquiere los atributos y métodos de la clase padre. Como se ilustra en la
figura III-3, hay herencia cuando existe la relación es un entre los objetos de una
clase hijo y una padre. Por ejemplo: un Profesor es un Empleado, un Administrativo
es un Empleado, un Empleado es una Persona, un Estudiante es una Persona.
Jorge C, Maria del Carmen G, Pedro G & Abel G.. (2016). Introducción a Java. En
Introducción a la programación orientada a objetos(pp. 64). Col. Santa Fe
Cuajimalpa, delegación Cuajimalpa de Morelos C.P. 05348, Ciudad de México: UAM
Unidad Cuajimalpa.

26. Qué es polimorfismo


Capacidad que tienen los objetos de una clase de responder al mismo evento en
función de los parámetros utilizados durante su invocación.
(Clayton)

27. Que es encapsulación

Se dividen los miembros de una clase en públicos y privados. Los públicos son
aquellos a los que se puede acceder libremente desde fuera de la clase. Los
privados solo pueden ser accedidos por los métodos de la propia clase.
(Clayton)

Ejemplo: Python
class Clase:
saludo = "¡Hola!"
def __init__(self, nombre):
self.nombre = nombre

MyClase = Clase("wlopez")
print(MyClase.nombre, MyClase.saludo)

28. Que es una copia de seguridad


Es un proceso mediante el cual se duplica la información existente de un soporte a
otro, con el fin de poder recuperarlos en caso de fallo del primer alojamiento de
datos.

(Ciberseguridad)

29. Que es iteración


Es muy habitual el uso de estas sentencias (Actualización de variables), consiste en
realizar una actualización sobre una variable, en el cual el valor nuevo de esa
variable depende del antiguo.
(Severante, 2013)
Ejemplo: Python
cadena = "¡Hello World!"
for caracter in cadena:
print(caracter)

30. Que es paradigmas de programación


Método de realizar cálculos (matemático de función) y la manera en que se deben
estructurar y organizar las tareas que debe llevar a cabo un programa. Están
asociados a un determinado estilo de cómputo. También se asocian a un
determinado estilo de programación.

(Rodriguez Cesar Vaca, 2011)


Ejemplo:
Modelo caja de conexiones
Función que devuelve el día de la semana

31. Que es una memoria virtual


Simula un espacio de memoria mucho mayor que de la memoria física, la memoria
virtual se encarga de la gestión de la memoria del sistema operativo disponga.
Utiliza el disco como un nivel más de la jerarquía de memoria:
Sistema de Memoria
Nivel 3: Disco = 2GB
Nivel 2: Memoria Principal (RAM) = 512MB
Nivel 1: Memoria Cache = 1MB

(Oviedo)
32. Represente gráficamente un nodo

Referencia Referencia

33. Que algoritmos de ordenamiento conoce


TimSort (Python)
● Sort()

34. Represente una lista doblemente enlazada y ordenada


Biografía
Ciberseguridad, I. N. (s.f.). Copias de Seguridad. Copias de Seguridad, una guía de
aproximación para el empresario. Avenida de José, 41 24005 León, España.
Obtenido de https://www.incibe.es/sites/default/files/contenidos/guias/guia-copias-
de-seguridad.pdf
Clayton, R. F. (s.f.). PDF COFFEE. Obtenido de PDFCOFFEE:
https://pdfcoffee.com/python-poo-pdf-free.html
Oviedo, U. d. (s.f.). Memoria Virtual. Memoria Virtual. Oviedo, España. Obtenido de
http://www.atc.uniovi.es/inf_med_gijon/3ingcomp/docs/03memoriavirtual1.pdf
Rodriguez Cesar Vaca, D. d. (11 de 2011). Paradigmas de programación.
Paradigmas de programación. Valladolid, España.
Severance, C. R. (2013). Python para todos. Ann Arbor, MI ,USA: Elliott Hauser,
Sue Blumenberg.
http://progra.usm.cl/apunte/materia/funciones.html
https://www.alegsa.com.ar/Dic/parametro.php
https://es.stackoverflow.com/questions/1493/cu%C3%A1l-es-la-diferencia-entre-
paso-de-variables-por-valor-y-por-referencia
https://www.alegsa.com.ar/Dic/vector_en_programacion.php
https://www.programarya.com/Cursos/C++/Estructuras-de-Datos/Matrices
https://pilaprogramacion.blogspot.com/p/pila-de-programacion.html
http://agrega.juntadeandalucia.es/repositorio/02122016/a5/es-
an_2016120212_9131705/34_colas.html
https://www.alegsa.com.ar/Dic/sentencia_de_programacion.php
https://www.aluracursos.com/blog/poo-que-es-la-programacion-orientada-a-objetos
https://profile.es/blog/que-es-la-programacion-orientada-a-objetos/
https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Caracter
%C3%ADsticas_de_la_POO

También podría gustarte