Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

U2 Tarea 2 Grupo 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 32

Estimados Estudiantes,

Trabajo Experimental + GRUPAL


Realizar TAREA 2: Investigación de todo el capítulo de arreglos. Incluir ejercicios. Actividad
Grupal. (Formato Informe de Investigación + Diapositivas).

Subir una carpeta con el nombre: U2Tarea2Grupo#


EJEMPLO: U2Tarea2Grupo1
Dentro de la carpeta:
Informe en formato investigación en PDF con el nombre U2Tarea2Grupo#
Archivo en PSeint con el nombre U2Tarea2Grupo#
Carpeta del proyecto en Code Blocks con el nombre U2Tarea2Grupo#
Presentación - Diapositivas con el nombre U2Tarea2Grupo#

SIN PUNTOS, SIN ESPACIOS, CUMPLIR CON LA NOMENCLATURA, ver LISTA DE


ESTUDIANTES para colocar el # correcto.

NOTA: Su trabajo debe contener lo siguiente: mínimo 20 hojas. Recordar!!! Es el resumen


de lo visto, investigado y aprendido de los temas tratados hasta el momento. Cada tema
requiere de un ejemplo básico. Guiarse en las diapositivas de la clase y ejercicios vistos en
clase.

ESTRUCTURA DEL INFORME


1 hoja: Carátula.
1 hoja: Índice
1 hoja: Introducción.
Objetivos General y Específicos. (Copiar los objetivos )
15 - 20 hojas: Marco Teórico (Silabo) / Desarrollo (Lo indicado en clase)

Realizar el INFORME DE INVESTIGACIÓN.

A continuación, pasos de cómo hacer uso de todos los temas vistos hasta el momento fusionando
los SUBPROGRAMAS O FUNCIONES + ARREGLOS Y/O ALGORITMOS DE ORDENAMIENTO -
BÚSQUEDA.

1. Con el tema asignado, aplicar las etapas de desarrollo de un programa.


IDENTIFICAR UN PROBLEMA Y CREAR EL ALGORITMO PARA
DESARROLLAR:
2. Crear un proyecto con el nombre indicado.
3. Utilizar todos los temas vistos como:
§ Usar variables bibliotecas internas y externas.
§ Usar variables globales y locales.
§ Usar constantes globales y locales.
§ Declarar, implementar y llamar a subprogramas.
§ Usar TODAS LAS ESTRUCTURAS DE CONTROL en todo el programa y
subprogramas.
§ Aplicar todos los operadores aprendidos.
ARREGLOS Y TEMA ASIGNADO PARA EXPONER
4. Crear 1 librería mínimo. (ENCABEZADO ARREGLO)

1 a 2 hojas: Conclusiones.
Recomendaciones.
Bibliografía.
Legalización de los participantes (Nombres –Apellidos, CC y firma).

El documento a partir de la segunda hoja debe contener:


o Utilizar normas APA. Arial 11, Interlineado 1,15.
o Encabezado (Nombre de la Asignatura centrado)
o Pie de página (Esquina izquierda Apellidos Nombres del estudiante, esquina
derecha #página/Total página, ejemplo 2 Páginas de 11).
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
SEDE SANTO DOMINGO DE LOS TSÁCHILAS

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN - DCCO-SS


CARRERA DE INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

PERIODO : 202150 Mayo – Septiembre 2021

ASIGNATURA : Fundamentos de Programación

TEMA : Burbuja + Inserción (++ o --)

ESTUDIANTE : GRUPO 2

● Torres Jennifer
● Calapucha Carlos
● Toapanta Darwin
● Diaz Cristhofer

NIVEL-PARALELO - NRC: Primero A - 6325

DOCENTE : Ing. Verónica Martínez C., Mgs.

FECHA DE ENTREGA : 12 de julio de 2021.

SANTO DOMINGO - ECUADOR


ÍNDICE

Introducción 5

Objetivos 6
Objetivo General: 6
Objetivos Específicos: 6

3.1. Marco Teórico: 6


3.1.1 RESUMEN UNIDAD 1 6
3.1.2 RESUMEN DE SUBPROGRAMAS 8
3.1.3. Definición de Subprograma 10
3.1.3. Declaración, implementación y llamada de Subprogramas 11
3.1.4. Argumentos y Parámetros 12
3.1.5. Ámbito de las variables 12
3.1.6. Funciones de librerías o módulos 13
3.1.7. Recursividad 14
3.1.8. Creación de librerías o módulos 14
3.1.9 ARREGLO 15
3.1.10 Arreglos Unidimensionales 16
3.1.11 Arreglos bidimensionales 17
3.1.12 Arreglos multidimensionales 18
3.1.13 Paso de Arreglos a funciones 19
3.1.14 Algoritmos de Ordenación ( selección, intercambio y burbuja) 20
3.1.15 Algoritmos de búsqueda. 22
Ejercicio en PSEINT. 23
Ejercicio en C++ 29

Conclusiones 32

Recomendaciones 32

Bibliografía/ Referencias 32

Anexos 33
TEMA: Burbuja + Inserción (++ o --)

1. Introducción

En el siguiente trabajo se dará a conocer sobre los temas de ordenamiento de Burbuja


e Inserción,existen diferentes tipos de ordenamiento donde dependerá del tamaño del
arreglo , el tipo de datos o también la cantidad de memoria disponible.Este tipos de
ordenamiento se clasifican en Interna y externa donde la interna es en el
almacenamiento principal por ejemplo tenemos a los arrays mientras la externa trata
almacenamiento secundario ejemplo los archivos.

En el ordenamiento de Burbuja funciona al verificar cada elemento en la lista para


que se clasifique con el siguiente elemento (par de elementos adyacentes) en la lista y
realizar intercambios cuando sea necesario.

En el método de inserción o también llamado método de baraja Consiste en insertar


un elemento evaluado en la posición correspondiente dentro de una parte ya ordenado
del listado.Este método se realicen un recorrido desde el segundo elemento hasta el
final y cada elemento es insertado en la posición adecuada dentro del segmento inicial
del listado

2. Objetivos

Objetivo General:

Investigar que son arreglos, tipos de arreglos, paso de arreglos a funciones y los tipos
de algoritmos de ordenamiento y búsqueda.

Objetivos Específicos:

● Investigar las definiciones de arreglos, tipos de arreglos y paso de


arreglos a funciones.
● Investigar y desarrollar los algoritmos de ordenación.
● Investigar y desarrollar los algoritmos de búsqueda.
● Realizar la presentación del tema investigado.
3. Desarrollo / Marco Teórico/ Práctica

3.1. Marco Teórico:

3.1.1 RESUMEN UNIDAD 1

En informática, un algoritmo es una secuencia de instrucciones secuenciales, gracias al cual

pueden llevarse a cabo ciertos procesos y darse respuesta a determinadas necesidades o

decisiones. Se trata de conjuntos ordenados y finitos de pasos, que nos permiten resolver un

problema o tomar una decisión. Los algoritmos no tienen que ver con los lenguajes de

programación, dado que un mismo algoritmo o diagrama de flujo puede representarse en

diversos lenguajes de programación, es decir, se trata de un ordenamiento previo a la

programación. Visto así, un programa no es otra cosa que una serie compleja de algoritmos

ordenados y codificados mediante un lenguaje de programación para su posterior ejecución

en un computador. Los algoritmos también son frecuentes en la matemática y la lógica, y son

la base de la fabricación de manuales de usuario, folletos de instrucciones, etc. Todo

algoritmo debe constar de las siguientes partes:

● Input o entrada: El ingreso de los datos que el algoritmo necesita para operar.

● Proceso: Se trata de la operación lógica formal que el algoritmo emprenderá con lo

recibido del input.

● Output o salida: Los resultados obtenidos del proceso sobre el input, una vez

terminada la ejecución del algoritmo.


Los algoritmos son una serie de pasos organizados los cuales describen el proceso a seguir

con la finalidad de dar la solución a un problema, existen dos tipos de algoritmos: los

cualitativos que describen los pasos usando palabras y los cuantitativos que usan cálculos

numéricos para definir los pasos del proceso. Las funciones son utilizadas cuando no se

pueden calcular operaciones directamente al crear una expresión. En pseudocódigo la función

es presentada como un subalgoritmo el cual forma parte del algoritmo principal. Las entradas

y salidas por consola son: el cin, el cual se usa para introducir y almacenar valores y el cout,

el cual representa la salida por pantalla. Los datos primitivos se los conoce como la variable

que un programa va a poseer, la determinación de los valores que se le puede asignar a un

dato depende del tipo de información que contengan. Los tipos de datos básicos son: el char,

el int, el float, double y bool. Las variables son un espacio en la memoria que depende del

tipo de dato para almacenar información que corresponda a este mismo. Una constante se la

puede declarar por medio de la sintaxis. Los operadores aritméticos son operaciones que

toman dos valores numéricos para devolver un solo valor. Los operadores de asignación se

representan con el signo “=” para asignar valores a una variable. Los operadores racionales

son operadores que toman dos valores lógicos para comparar y devolver un valor de tipo

entero, el cual puede ser 1 cuando sea verdadero o 0 cuando sea falso. Los operadores lógicos

son expresiones booleanas que cumplen con una tabla de verdad para sus operadores. Al

realizar la evaluación de una expresión esta devuelve un valor, la evaluación se realiza de

acuerdo con a la precedencia que ya ha sido establecida anteriormente. La programación

estructurada consiste en ahorrar tiempo en el momento de escribir un código, lo cual lo hace

más sencillo de entender, mantener y modificar. Las estructuras cíclicas permiten las

repeticiones de instrucciones.
3.1.2 RESUMEN DE SUBPROGRAMAS

Las subprogramas son rutinas, procedimientos o conjuntos de instrucciones que realizan

tareas específicas. El nacimiento de subrutinas o subrutinas es para evitar la duplicación

innecesaria del trabajo que ya se ha realizado. Se pueden llamar tantas veces como sea

necesario desde el cuerpo principal del programa principal. Forman el núcleo de la

denominada programación estructurada y permiten dividir problemas complejos en

subproblemas más simples que se pueden manejar de forma independiente.


Un subprograma ayuda a solucionar el problema dividiéndolo en subproblemas. Las

funciones son procedimientos que tienen la finalidad de reutilizar el código las veces que

sean necesarias a través del llamado. El procedimiento son las funciones, las cuales reciben

parámetros pero no retornan un valor. Las funciones internas son aquellas que el lenguaje de

programación incorpora. Las funciones externas son aquellas que el usuario define y crea

cuando las funciones internas no permiten la operación solicitada. La función recursiva es

una función que se llama así misma, de manera indirecta o directa por medio de una función.

Los arreglos son un conjunto de valores, los cuáles tienen un nombre en común. Los arreglos

unidimensionales o también conocidos como vectores son un conjunto de ubicaciones en la

memoria relacionados entre sí. En pseudocódigo los datos del vector se guardan inicialmente

desde el índice uno, pero en lenguaje de programación el dato se guardan inicialmente desde

el índice cero. La inicialización y asignación de un arreglo puede ser por medio de sus

índices. Los arreglos bidimensionales son una variable única que tiene dos subíndices: el

primero especifica las filas y el otro las columnas, y estos deben estar separados por

corchetes. Los arreglos multidimensionales trabajan con filas y columnas .Los algoritmos de

ordenamiento son: Ordenamiento por metodo burbuja en cual consiste en buscar de todo el

arreglo e ir avanzando y comparando elementos y si encuentra elementos que no están en el

lugar adecuado los ordenará, Ordenamiento por el método de inserción, este método es muy

natural de ordenar y puede usarse fácilmente para ordenar un mazo de cartas numeradas en

forma arbitraria. El ordenamiento por selección consiste en seleccionar un elemento del

pivote. El ordenamiento de búsqueda es una secuencia de pasos para encontrar un elemento

en una lista determinada. Búsqueda binaria, consiste en hallar aproximadamente la posición

media del arreglo y examinar el valor encontrado ahí. La búsqueda secuencial usa una clave,

para que al encontrarla ésta despliegue un mensaje o que realice alguna otra acción

específica.
3.1.3. Definición de Subprograma

“Los subprogramas y funciones son rutinas, procedimientos o conjuntos de sentencias que

realizan una labor específica. Los subprogramas o subrutinas nacieron de la necesidad de no

repetir innecesariamente un trabajo ya hecho. Pueden invocarse desde el cuerpo del programa

principal cuántas veces se desee. Están en el núcleo de lo que se denomina programación

estructurada.” (pntic, n.d.)

● los subprogramas propiamente dichos (procedimientos SUB), que realizan un

conjunto de tareas y no devuelven ningún valor.

● las funciones (procedimientos FUNCTION), que devuelven un valor de un tipo que se

puede especificar.

Según (González, 2004) Un subprograma es un fragmento de código que se comporta de

manera independiente dentro de un programa.Los subprogramas pueden ser invocados varias

veces desde otras partes del programa.Se comunican mediante el pasaje de parámetros .Cada

subprograma tiene su propio espacio de nombres (identificadores locales).

Torres, J.(2021).Ilustración de código programa c++. [Figura]


3.1.3. Declaración, implementación y llamada de Subprogramas

La Declaración: es como su cabecera, pero terminada en ";" en vez de con la palabra "is",

para expresar que lo que se está dando es una vista de un subprograma cuya definición se

halla en otro lugar además consta de una especificación formada por un identificador y una

lista de parámetros opcional.

La implementación: Los subprogramas se implementan por medio de lo que conocemos

como funciones o procedimientos. No son más que una lista de sentencias que se escriben

para resolver problemas, con algoritmos que pueden operar de manera independiente

La llamada: se realiza escribiendo el nombre del mismo, seguido de las expresiones sobre

las que queremos que trabaje.De esta forma se crea una vía de comunicación entre la

instrucción de llamada y el algoritmo llamado, facilitando el intercambio de información

entre ellos.” (Barber, n.d.)

Torres, J.(2021).Ilustración de código programa c++. [Figura]


3.1.4. Argumentos y Parámetros

“Son el medio a partir del cual podemos expandir el ámbito de variables locales de funciones,

hacia otras funciones y además quienes nos permiten establecer comunicaciones entre

funciones. Si nos vemos ante la necesidad de visualizar o modificar el valor de una variable

local en otra función que llamaremos, debemos invocar a dicha función haciendo referencia

de su nombre, seguido de los parámetros o nombres de variables para las cuales, en teoría

ampliaremos su ámbito. “ (Parámetros y argumentos (programación), n.d.)

Torres, J.(2021).Ilustración de código programa c++. [Figura]

3.1.5. Ámbito de las variables

El ámbito de una variable determina dónde es visible esa variable. Si la variable es visible en

algún punto del programa, esta puede ser utilizada. Caso contrario, si la variable no es visible

en algún punto entonces esta no puede ser utilizada. Existen cuatro tipos de ámbito:

● Programa

● Archivo fuente

● Función

● Bloque

Torres, J.(2021).Ilustración de código programa c++. [Figura]


3.1.6. Funciones de librerías o módulos

“Una biblioteca es un archivo que el compilador puede leer y en él se pueden encontrar

instrucciones para usar muchos métodos y funciones diferentes.Hay cientos de bibliotecas, la

mayoría de los IDE ya las incluyen, pero no las incluyen en todo el código fuente creado, por

lo que no son demasiado grandes. Por lo tanto, debemos declarar las bibliotecas que

necesitamos en el código fuente.”

La biblioteca C ++ es un archivo en el que se pueden definir funciones y utilizar muchas

funciones diferentes.

Si incluimos una biblioteca en el programa, entonces podemos usar rápida y fácilmente las

instrucciones definidas en ella. (Funciones y Módulos, n.d.)

Torres, J.(2021).Ilustración de código programa c++. [Figura]

3.1.7. Recursividad

Consiste en una función que calcula la factorial de un número. La factorial consiste en

multiplicar el número natural por el número anterior, luego multiplicarlo por el número

natural, y así sucesivamente, hasta llegar al número 1. Por ejemplo, la factorial 8 es el

resultado de multiplicar 8 por 7 y luego multiplicar por 6. Y así sucesivamente, hasta llegar a

uno.
Torres, J.(2021).Ilustración de código programa c++. [Figura]

3.1.8. Creación de librerías o módulos

1. Crear el archivo de cabeceras 2. Crear el archivo del código de la librería

Creamos un archivo con la extensión ".h" El archivo de código de biblioteca contiene


en el mismo directorio que el código el archivo de encabezado que creamos antes
principal, que debe tener todos los y también contiene el código de todas las
prototipos de funciones y definiciones de funciones escritas en el archivo de
tipos de datos en la biblioteca. encabezado.

3. Llamar a la librería

Cuando ambos archivos estén completos, nuestra biblioteca estará lista para usar. Creamos
un archivo test.c en el mismo directorio, que incluye la biblioteca estándar y la nueva
biblioteca creada. (Romo, 2019)

Torres, J.(2021).Creación de Librería. [Figura]


3.1.9 ARREGLO

Definición Ventajas

Es una estructura es decir es un conjunto de 1. Puedes recuperar la información.

variables que se citan y manejan con un mismo 2. Son de fácil trabajo.

nombre y que permiten además la utilización 3. Trabajas con direcciones.

individual de sus elementos (Joyanes, 2008). 4. El mismo es adecuado para llegar a

Un arreglo es un conjunto de datos o una almacenar o leer bloques de datos

estructura de datos homogéneos que se secuenciales que son muy grandes,

encuentran ubicados en forma consecutiva en como aplicaciones con grandes

la memoria RAM. (ecured, 2020) bases de datos, imágenes y vídeos

entre otros. (Escalante, 2020)

Características Ejemplo:

1. Las variables son únicas y llegan a

representar cada elemento dentro del

arreglo, estos elementos se llegan a

diferenciar a través del índice.

2. Los elementos del array serán

guardados en posición continua dentro

de la memoria.

3. En los elementos del array se puede

acceder de forma aleatoria y directa.

Torres, J.(2021).Ilustración de código programa


Pseint. [Figura]
3.1.10 Arreglos Unidimensionales

Definición Ventajas

Un arreglo unidimensional es un tipo de datos 1. Son más seguras y claros

estructurado que está formado de una colección 2. Menos problemas en cuanto a los datos

finita y ordenada de datos del mismo tipo. Es la válidos sean eliminados por error o a que

estructura natural para modelar listas de existan datos no válidos en el arreglo

elementos iguales. (sites, n.d.) 3. Ocupan menos recursos del ordenador.

Es un tipo de datos estructurado que está 4. El acceso a los arreglos es directo, nos

formado por una colección finita y ordenada de permiten hacer un conjunto de

datos del mismo tipo. Los arreglos guardan en operaciones para manipular los datos

memoria la cantidad de espacios que se le guardados en ellos, estas operaciones son:

indican en la declaración. ordenar, buscar, insertar, eliminar,

modificar entre otras.

Características Ejemplo

Un arreglo unidimensional se caracteriza por

modelar listas de elementos iguales. Arreglos se

define como una colección finita, homogénea y

ordenada de elementos.

Torres, J.(2021).Ilustración de código programa Pseint.


[Figura]
3.1.11 Arreglos bidimensionales

Definición Ventajas

Una disposición bidimensional sigue siendo 1. Fácil acceso a los elementos.

una disposición, pero ahora en dos 2. Fácil acceso a renglones.

dimensiones se llama fila y columna, lo que 3. Fácil extensión al caso multidimensional.

significa que sigue siendo una variable que 4. Puede ser muy eficiente si se puede

permite almacenar un conjunto de datos. Es programar de manera adecuada.

una estructura, es decir , es un conjunto de

referencias y variables de proceso y también

permite que sus elementos se utilizan

individualmente.

Características Ejemplo

1. Es un vector de vectores.

2. Un arreglo bidimensional se denomina

también tabla o matriz.

3. Cada elemento de un arreglo

bidimensional está simultáneamente en

una fila y en una columna.

4. Un arreglo bidimencional tiene dos

dimensiones Torres, J.(2021).Ilustración de código programa Pseint.


[Figura]
3.1.12 Arreglos multidimensionales

Definición Ventajas

Las matrices multidimensionales son 1. Formada por componentes del mismo

extensiones de matrices bidimensionales y tipo.

utilizan subíndices adicionales para la 2. No están limitados a dos índices

indexación. Por ejemplo, una matriz 3D 3. Se utilizan cuando se necesita almacenar

utiliza tres subíndices. Los dos primeros múltiples valores del mismo tipo

son similares a las matrices, pero la tercera 4. Permite agrupar muchos datos usando un

dimensión representa una página o tabla de mismo identificador

elementos.

Características Ejemplo

1. Se caracteriza por una combinación

del arreglo de una dimensión y de 2

dimensiones.

2. Son una ampliación de las matrices

de dos dimensiones y utilizan


Torres, J.(2021).Ilustración de código programa Pseint.
subíndices adicionales para la [Figura]

indexación.
3.1.13 Paso de Arreglos a funciones

Un array puede ser pasado como argumento a una función, permitiendo por consiguiente que

el array completo sea pasado a la función. Pero en cambio, la manera en que se pasa una

variable ordinaria a una función es muy distinta a la forma en cómo se pasa un array.

Para pasar un array a una función, el nombre del array debe aparecer solo, sin corchetes ni

índices, como un argumento actual dentro de la llamada a la función. El correspondiente

argumento formal se escribe de la misma manera, pero debe ser declarado como un array

dentro de la declaración de argumentos formales.

3.1.14 Algoritmos de Ordenación ( selección, intercambio y burbuja)

El algoritmo de ordenamiento por Selección consiste en encontrar el menor de todos los

elementos del arreglo o vector e intercambiarlo con el que está en la primera posición. Luego

el segundo más pequeño, y así sucesivamente hasta ordenarlo todo. Su implementación

requiere O(n2) comparaciones e intercambios para ordenar una secuencia de elementos.

● Este algoritmo mejora ligeramente el algoritmo de la burbuja.

● Su funcionamiento consiste en el recorrido por la lista seleccionando en cada iteración

un valor como clave y compararlo con el resto insertándolo en el lugar

correspondiente.

Ordenamiento Intercambio

El algoritmo se basa en la lectura sucesiva de la lista a ordenar, comparando al elemento

inferior de la lista con los restantes y efectuando el intercambio de posiciones cuando el

orden resultante de la comparación no sea el correcto.


Ordenamiento Burbuja

El algoritmo de ordenamiento Burbuja (Bubble Sort en inglés) es un sencillo algoritmo de

ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el

siguiente, intercambiandolos de posición si están en el orden equivocado. Es necesario revisar

varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la

lista está ordenada.

● Este algoritmo realiza el ordenamiento o reordenamiento de una lista a de n valores.

● La burbuja son dos términos de la lista seguidos, j y j+1, que se comparan.

● La comparación se repite en el centro de los dos bucles, dando lugar a una lista

ordenada.

3.1.15 Algoritmos de búsqueda.

Búsqueda Binaria

Es un algoritmo de búsqueda que encuentra la posición de un valor en un array ordenado.

Compara el valor con el elemento en el medio del array, si no son iguales, la mitad en la cual

el valor no puede estar es eliminada y la búsqueda continúa en la mitad restante hasta que el

valor se encuentre.

● Existen numerosas variaciones de la búsqueda binaria.

● Una variación particular (cascada fraccional) acelera la búsqueda binaria para un

mismo valor en múltiples arreglos.


Búsqueda Secuencial

La búsqueda secuencial es un método para encontrar un valor objetivo dentro de una lista.

Ésta comprueba secuencialmente cada elemento de la lista para el valor objetivo hasta que es

encontrado o hasta que todos los elementos hayan sido comparados.

● Búsqueda lineal comprueba secuencialmente cada elemento de la lista hasta que

encuentra un elemento que coincide con el valor de objetivo.

● Si el algoritmo llega al fin de la lista sin encontrar el objetivo, la búsqueda termina

insatisfactoriamente.

3.2. Desarrollo:

Ejercicio en PSEINT.

3.2.1. Algoritmo:

El algoritmo, el cual está divido en funciones, consta de las partes principales, las cuales son
el encabezado, y el menú principal.

Dentro del menú principal nos encontramos con el primer campo que debemos llenar, y se
trata de la cantidad de libros con la que vamos a trabajar, hemos puesto para que el usuario
ponga un número menor a 21, por lo que el usuario debe poner una cantidad que sea menor a
21 para poder al siguiente campo , dentro del menú principal también hacemos el llamado de
ciertas funciones, en donde estaremos aplicando el método de ordenamiento de burbuja y de
inserción. Dentro de cada una de las funciones, estarán declaras cada una de las variables que
utilizaremos dentro de las mismas funciones, para un mejor ordenamiento del algoritmo.
3.2.2. Código del programa:

Algoritmo lldSub SubProceso mostrarNumeros(Arr por referencia, s por valor)


encabezado() Definir I Como Entero
menuPrincipal() Para I<-1 Hasta s Con Paso 1 Hacer
FinAlgoritmo Escribir "Ingrese el precio del libro ", I, ":";
Leer Arr[I];
SubProceso encabezado() Fin Para
Escribir "UNIVERSIDAD: " ,"UNIVERSIDAD DE LAS FUERZAS FinSubProceso
ARMADAS-ESPE";
Escribir "=======================GRUPO SubProceso burbuja (Arr, s)
2======================="; Definir I, J, temp Como Real
Escribir "NIVEL:" ,"PRIMERO B ITIN "; Para I<-1 Hasta s con paso 1 Hacer
Escribir "MATERIA:" ,"FUNDAMENTOS DE PROGRAMACION "; Fin Para
Escribir "TEMA:" ,"EXPOSICION GRUPAL"; Para I<-2 Hasta s con paso 1 Hacer
Escribir Para J=1 Hasta (s-I+1) Con Paso 1 Hacer
"|===================================================|"; Si Arr[J]>Arr[J+1] Entonces
FinSubProceso Temp=Arr[J]
//Intercambio
SubProceso menuPrincipal() Arr[J]=Arr[J+1]
Dimension Arr[20]; Arr[J+1]=Temp
Definir n,opcionn, Arr, opcion1, S Como Entero; FinSi
Repetir FinPara
Escribir "Ingrese el numero de libros: "; FinPara
Leer n; Escribir "Los precios de los libros por el metodo burbuja
Si (n>=21) Entonces son: "
Escribir "No puedes ingresar mas Para I<-1 Hasta s con paso 1 Hacer
de 20 libros"; Escribir " " , Arr[I]
FinSi FinPara
Hasta Que (n<=20) FinSubProceso
Repetir
Repetir SubProceso metodoInsercion(Arr por referencia, s por valor)
Escribir "|-----------------MENU DE Definir I, pos, aux Como Entero;
OPCIONES---------------------|"; Para I=1 Hasta s Con Paso 1
Escribir "1.Digita los numeros de los ", n ," pos=I;
libros "; aux=Arr[I];
Escribir "2.Ordene la matriz usando el método Mientras ((pos>1)&(Arr[pos-1]>aux))
de clasificación de burbujas"; Arr[pos]=Arr[pos-1]
Escribir "3.Ordene usando el metodo de pos=pos-1
insercion "; FinMientras
Escribir "4.Salir"; Arr[pos]=aux;
Escribir "Ingrese su opcion del 1 al 4: "; FinPara
Leer opcionn; Escribir "Orden de libros ascendente";
Segun opcionn Hacer
1: Para I<-1 Hasta s Hacer
Escribir " ", Arr[I];
mostrarNumeros(Arr,n); Fin Para
2: Escribir "Orden de libros descendente";
burbuja(Arr,n);
3: Para I=s-0 Hasta 1 Hacer
Escribir " ", Arr[I];
Fin Para
metodoInsercion(Arr,n); FinSubProceso
4:
Escribir "Salio con
exito"
De Otro Modo:
Escribir 'Opcion
incorrecta'
FinSegun
Hasta Que (opcionn=4) //Escribir "Desea repetir? <S/N>";

//Leer opcionn;
Hasta Que (opcionn=4);
FinSubProceso
3.2.3. Captura de código:
3.2.4. Captura de ejecución:
3.2.5. Diagrama de flujo:
3.2.6. Captura de la resolución manual de sus operaciones matemáticas:
Ejercicio en C++

3.3.1 Código en C++

#include<iostream> void mostrarNumeros(int Arreglo[], int s);


#include"encabezado.h" void metodoInsercion (int Arreglo[],int s);
#include"menuPrincipal.h" void burbuja(int Arreglo[],int s);
using namespace std; void menuPrincipal(){

int main() int Arreglo[20],n,opcion;


{ string Libros;
encabezado(); do{
menuPrincipal(); cout<<"==================================|"<<endl;
} cout<<"Ingrese el numero de libros:"<<endl;
void mostrarNumeros(int Arreglo[], int s) cin>>n;
{ cout<<"==================================|"<<endl;
for(int I=0;I<s;I++)
{ do{ if(n>=21){
cout<<"Ingrese el precio del libro "<<I+1<<":"; cout<<"|===================================|"<<endl;
cin>>Arreglo[I]; cout<<"|No puedes ingresar mas de 20 libros|"<<endl;
if(Arreglo[I]<=0){ cout<<"|===================================|"<<endl;
cout<<"======================================"<<endl; }
cout<<"No puedes introducir numeros negativos"<<endl; if(n<=0){
cout<<"======================================"<<endl; cout<<"|No puedes ingresar numeros negativos "<<endl;
}
}while(Arreglo[I]<=0); }
}
} }while(n>=21||n<=0);

void burbuja (int Arreglo[],int s) do {


{ cout<<"\nMENU";
int I,J,Temp; cout<<"\n1.Digite el precio de los " <<n<< " libros ";
for(I=0;I<s-1;I++) cout<<"\n2.Metodo de burbuja";
{ cout<<"\n3.Ordene usando el metodo de insercion ";
for(J=0;J<(s-1-I);J++) cout<<"\n4.Salir"<<endl;
if(Arreglo[J]>Arreglo[J+1]) cout<<"=================================="<<endl;
{ cout<<"Opcion :";
Temp=Arreglo[J]; //Intercambio cin>>opcion;
Arreglo[J]=Arreglo[J+1]; cout<<"=================================="<<endl;
Arreglo[J+1]=Temp;
} switch(opcion)
cout<<"Los precios de los libros por el metodo burbuja son:\n"; {
for (int I=0;I<s;I++){ case 1: mostrarNumeros(Arreglo,n);
cout <<" " << Arreglo[I]; break;
}
cout << ("\n"); case 2: burbuja(Arreglo,n);
}
} break;
void metodoInsercion (int Arreglo[],int s){ case 3: metodoInsercion (Arreglo,n);
int I,pos,auxi; break;
for (I=0;I<s;I++){ case 4: break;
pos=I; cout<<"\n=================================="<<endl;
auxi=Arreglo[I]; default:cout<<"\nOpcion invalida";
while((pos>0)&&(Arreglo[pos-1]>auxi)){ cout<<"\n=================================="<<endl;
Arreglo[pos]=Arreglo[pos-1]; }
pos--; }while(opcion!=4);
}
Arreglo[pos]=auxi;
}
cout<<"Orden de libros ascendente:"<<endl; }
cout<<"\n==================================|"<<endl;
for (int I=0;I<s;I++){
cout <<" " << Arreglo[I];
}
cout<<"\n==================================|"<<endl;
cout << ("\n");
cout<<"\nOrden de libros descendente:"<<endl;
cout<<"\n==================================|"<<endl;

for(I=s-1;I>=0;I--){
cout<<" "<<Arreglo[I];
}
cout<<"\n==================================|"<<endl;
}
void encabezado(){
int i;
string nombres[5];
nombres[0] = "UNIVERSIDAD:""UNIVERSIDAD DE LAS FUERZAS
ARMADAS";
nombres[1] = "ESTUDIANTE:""CARLOS VICENTE CALAPUCHA ÑACATA";
nombres[2] = "NIVEL:""PRIMERO B ITIN";
nombres[3] = "MATERIA:""FUNDAMENTOS DE PROGRAMACION";
nombres[4] = "TEMA:""EXPOSICION GRUPAL---GRUPO
2";

for (i=1;i<=5;i++) {
cout << "" << nombres[i-1] << endl;
}
}
3.3.2. Captura de código:
3.3.3. Ejecución C++
4. Conclusiones

1. Para programar, es necesario identificar a qué tipo de datos pertenecen cada una de las

variables o constantes, ya sean estos números, letras, palabras, frases, entre otros y

cada uno corresponde a un tipo de dato, que requerirá de una manipulación específica

para obtener los resultados deseados.

2. El subprograma puede realizar las mismas funciones que el programa que es leer

datos, realizar cálculos y devolver los resultados al programa principal.

3. Los arreglos como en todos los lenguajes sirven para organizar datos y para que estos

sean más accesibles dependiendo de la cantidad de información es el tipo de arreglo

que se utiliza.

5. Recomendaciones

1. Realizar un buen análisis del desarrollo del programa que se va a realizar.

2. Utilizar las funciones y procedimientos internos y externos.

6. Bibliografía/ Referencias

Martinez, Miriam. “arreglos.” 09 junio 2020,

https://profile.es/blog/que-son-loarreglos-de-programacion/. Accessed 28 12 2020.

Pérez, Julián. “algoritmo.”

https://definicion.de/arreglos/#:~:text=Se%20denomina%20algoritmo%20a%20un,a%

20un%20resultado%20o%20soluci%C3%B3n. Accessed 28 12 2020.

Redator Rock Content. “arreglos.” 20 abril 2019,

https://rockcontent.com/es/blog/que-es-un-lenguaje-de-arreglos/#:~:text=Es%20un%2
0lenguaje%20formal%20que,y%20l%C3%B3gico%20de%20una%20m%C3%A1qui

na. Accessed 28 12 2020.

ecured. (2020, enero 22). Arreglos (Informática). Arreglos (Informática). Retrieved julio 09,

2021, from https://www.ecured.cu/Arreglos_(Inform%C3%A1tica)

Escalante, A. (2020, septiembre 23). arreglo. Los tipos de arreglos en la programación.

Retrieved julio 09, 2021, from

https://tecnoinformatic.com/c-programacion/tipos-de-arreglos/

sites. (n.d.). Arreglos Unidimensionales. Arreglos Unidimensionales. Retrieved julio 09,

2021, from

https://sites.google.com/site/miguelestructura/que-son-arreglos-unidimensionales

7. Anexos

Anexo 1:

Archivo en PSeint con el nombre U2Tarea2Grupo2


Carpeta de Code Blocks con el nombre U2Tarea2Grupo2
Presentación en .ppt con el nombre U2Tarea2Grupo2
8. Legalización de documento

(JENNIFER NAYELY TORRES MORETA, 2350394744).

(DIAZ CHAVEZ CRISTHOFER ALEXIS, 2300104136)

(TOAPANTA PAEZ DARWIN ANDRES, 2300412323)

CALAPUCHA ÑACATA CARLOS VICENTE

2350495277

También podría gustarte