Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUÍA DE LABORATORIO
(formato docente)
INFORMACIÓN BÁSICA
ASIGNATURA: Análisis y Diseño de Algoritmos
TÍTULO DE LA
Introducción
PRÁCTICA:
NÚMERO DE NRO.
1 AÑO LECTIVO: 2023 IV
PRÁCTICA: SEMESTRE:
INDIVIDUAL X
TIPO DE
MÍNIMO DE MÁXIMO DE
PRÁCTICA: GRUPAL
ESTUDIANTES ESTUDIANTES
FECHA INICIO: 15/09/2023 FECHA FIN: 15/09/2023 DURACIÓN: 2 horas
RECURSOS Y EQUIPOS A UTILIZAR:
● Lenguaje de programación C++.
● Guía de Laboratorio.
DOCENTE:
OBJETIVOS/TEMAS Y COMPETENCIAS
OBJETIVOS:
Construir soluciones algorítmicas para los problemas propuestos.
TEMAS:
Introducción
CONTENIDO DE LA GUÍA
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA
I. MARCO CONCEPTUAL
A continuación se describe la estructura básica de un programa en C++:
Nota: El string no es un tipo de dato básico en C++, sin embargo puede ser utilizado
incluyéndolo como archivo de cabecera al principio del código de la siguiente manera:
Declaración de variables
Las variables son porciones de memoria que almacenan un valor y este puede ser
modificado. La declaración de una variable se lleva a cabo mediante la combinación de un
identificador, un tipo de dato y si se quiere un valor inicial. También se puede crear una lista
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA
Ejemplo:
Suma + +
Resta - -
Multiplicación * *
División / /
Div DIV /
Mod MOD %
Mayor que > >
Mayor o igual que >= >=
Menor que < <
Menor o igual que <= <=
Igual que == ==
Diferente que ≠ !=
O Lógico O ||
Y Lógico Y &&
NO Lógico NO !
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA
Entrada/Salida
Para leer y escribir en C++ se debe incluir la cabecera iostream de la siguiente manera:
Arreglos
Un arreglo es una estructura de datos conformada por una sucesión de celdas, que permite
almacenar en la memoria principal del computador un conjunto finito de elementos que
tienen el mismo tipo de dato.
Para hacer referencia a cualquiera de las celdas del arreglo es necesario el nombre del
arreglo y el valor de uno de los índices asignados al arreglo, esto permite tener acceso
aleatorio.
Declaración
Un arreglo se declara de la siguiente manera:
<tipo de dato> <identificador>[tamaño];
En C++ sólo se indica el tamaño del arreglo, ya que el límite inferior siempre es cero (0) y
el límite superior es el tamaño menos uno (tamaño - 1).
Operaciones
C++ permite realizar la operación constructora y la selectora. En el siguiente ejemplo se
puede ver cómo se aplican estas operaciones:
Recorrido secuencial
Se utiliza cuando se necesita hacer una operación sobre todos los elementos del arreglo,
para ello se utiliza una estructura de control iterativa (for). Una de las operaciones que se
puede hacer al recorrer secuencialmente es leer los valores que se quieren almacenar en
el arreglo. Esto se puede hacer de la siguiente manera:
//Se declara el arreglo
int a[10];
//Se recorre para leer los valores
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA
1. EJERCICIOS RESUELTOS
Crear un programa que defina un array de números y calcule la suma de sus elementos.
ENTRADA: 1,2,3,4,5,6,7,8,9,10
SALIDA: 55
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main()
{
int numeros[] = {1,2,3,4,5,6,7,8,9,10};
int suma = 0;
for (int i=0; i<=9; i++)
{
suma += numeros[i];
}
cout<<"La suma es: "<<suma;
printf("\n");
getch();
return 0;
}
2. EJERCICIOS PROPUESTOS
ENTRADA: 1,4,5
SALIDA: 20
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA
2. Desarrollar un programa que tenga como entrada un array de números y muestre en la salida
los números con la respectiva posición que ocupa en el array.
ENTRADA: 1,7,8,9,5
SALIDA: 0 -> 1
1 -> 2
2 -> 8
3 -> 9
4 -> 5
3. Crear un programa que defina un array de números y muestre en la salida el array en orden
inverso, es decir del último al primer elemento.
ENTRADA: 1,7,4
SALIDA: 4,7,1
ENTRADA: 1,-1,4,5,-6,7,8,10
SALIDA: -6
5. Crear un programa que defina un array de números y calcule si existe algún número en el array
cuyo valor equivale a la suma del resto de números del array.
ENTRADA: 1,3,4,8
SALIDA: 8 equivale a la suma de los demás números.
SALIDA: A3=[a,b,c,d,e,v,w,x,y,z]
7. Crear un programa que lea 10 elementos en un array, los copie a otro array multiplicado por
un número que se ingrese por teclado. Defina dos arrays de caracteres y después almacena el
contenido de ambos arrays en un nuevo array, situando en primer lugar los elementos del primer
array seguido por los elementos del segundo array. Mostrar el contenido del nuevo array.
SALIDA: A2=[3,6,9,12,15,18,21,24,27,30]
8. Dado un array de enteros, verifique si contiene un subarray que tiene suma cero.
9. Dada un array de enteros, mueva todos los ceros presentes al final del array. La solución
debe mantener el orden relativo de los elementos en el array y no debe usar un espacio constante.
ENTRADA: A1=[ 6, 0, 8, 2, 3, 0, 4, 0, 1]
SALIDA: A2=[ 6, 8, 2, 3, 4, 1, 0, 0, 0]
10. Desarrollar un programa que permita ingresar varios números. Almacene los números pares en
un array llamado numPar[] y los números impares en un array llamado numImpar[]. Finalmente
deberá mostrar los números pares ingresados y luego los números impares.
ENTRADA: A1=[3,6,9,1,8,11,14]
numImpar=[3,9,1,11]
3. CUESTIONARIO
1. ¿Cómo se declaran los arrays en C++?
2. Para el siguiente caso: Se desea calcular el total a pagar, en una venta normal en una papelería,
proporcionando el precio unitario de un producto, así como el número total de productos a comprar,
además de aplicar el 18% de IGV. ¿Qué entradas se requiere?¿Cuál es la salida deseada?¿Qué métodos
produce la salida deseada?
TÉCNICAS: INSTRUMENTOS:
Ejercicios resueltos Lista de ejercicios de programación
Ejercicios propuestos
Pregunta formulada
CRITERIOS DE EVALUACIÓN Y LOGROS ALCANZADOS
Se evaluará de acuerdo a niveles de logro (inicio, proceso, logro esperado, logro destacado) que alcanzará
el estudiante al revisar su práctica, ya que esto servirá para desarrollar la retroalimentación.