Está en la página 1de 8

ESCUELA SUPERIOR POLITÉCNICA DE

CHIMBORAZO

FACULTAD: INFORMÁ TICA Y ELECTRÓ NICA


CARRERA: SOFTWARE

PROGRAMACIÓN ORIENTADA A OBJETOS


NIVEL: 2
PARALELO: 2

1. DATOS GENERALES:

APELLIDOS Y NOMBRES CODIGO


• Segovia Arriaga Miguel Ángel 7437

• Apugllon Muñoz Jhonn Henrry 7413

• López Damián Oscar Paúl 7465

• Pesantez Sánchez Emilio Josué  7359

FECHA DE REALIZACIÓN: FECHA DE ENTREGA:

21/05/2023 21/05/2023

2. OBJETIVO:

Investigar y comprender los diferentes conceptos básicos de programación en C++.

3. INSTRUCCIONES

Investigar sobre las sentencias de salto, los arrays unidimensionales y


multidimensionales y la programació n modular en C++.

4. ACTIVIDADES POR DESARROLLAR:

SENTENCIAS DE SALTO (RETURN, BREAK, CONTINUE)

RETURN

En C++, la instrucción return se utiliza para finalizar la ejecución de una función y devolver
un valor opcional al llamador de la función. Sirve para indicar que se ha completado la tarea
de la función y se puede devolver un resultado o valor calculado.
Cuando una función se declara con un tipo de retorno distinto de void, se espera que la
función devuelva un valor de ese tipo. El valor de retorno se especifica utilizando la palabra
clave return, seguida del valor que se desea devolver. Por ejemplo:

En el ejemplo anterior, la función sumar toma dos argumentos a y b, calcula su suma y


devuelve el resultado mediante la instrucción return resultado;. El valor devuelto puede ser
utilizado posteriormente por el programa que llamó a la función.

El uso de return también puede utilizarse para salir anticipadamente de una función sin
necesariamente devolver un valor. Por ejemplo:

En este caso, si el número pasado como argumento es negativo, la función se sale


prematuramente utilizando return sin devolver ningún valor. En cambio, si el número es
positivo o cero, se imprime el número en la salida estándar.

BREAK

La instrucción break se utiliza para finalizar la ejecución de un bucle (for, while, do-while) o
de un bloque switch. Su propósito principal es salir de la estructura de control en la que se
encuentra.

Cuando se utiliza break dentro de un bucle, se sale inmediatamente del bucle y se continúa
con la ejecución de las instrucciones que siguen después del bucle. Por ejemplo:

En este caso, cuando i tiene el valor de 5, se ejecuta break y se sale del bucle for. Como
resultado, el programa imprimirá los números del 0 al 4 en la salida estándar.
Cuando se utiliza break dentro de un bloque switch, se sale del bloque switch y se continúa la
ejecución del programa después del bloque switch. Por ejemplo:

En este caso, al encontrar la opción 2, se ejecuta break y se sale del bloque switch. El
programa imprimirá "Opción 2 seleccionada" en la salida estándar.

CONTINUE

La instrucción continue se utiliza dentro de un bucle (for, while, do-while) para saltar a la
siguiente iteración del bucle sin ejecutar las instrucciones que le siguen dentro del bucle. Su
propósito principal es omitir ciertas iteraciones basadas en una condición y continuar con la
siguiente.

Cuando se encuentra la instrucción continue dentro de un bucle, el programa salta


inmediatamente a la siguiente iteración del bucle, ignorando las instrucciones restantes dentro
del bucle. Por ejemplo:

En este caso, cuando i tiene el valor de 2, se encuentra la instrucción continue y se salta a la


siguiente iteración del bucle. Como resultado, el programa imprimirá los números del 0 al 4
en la salida estándar, pero omitirá el número 2.

La instrucción continue se utiliza cuando se desea saltar ciertas iteraciones del bucle en
función de una condición específica. Es útil cuando se necesita omitir un procesamiento o
cálculo particular en ciertas situaciones y continuar con la siguiente iteración.

Es importante tener en cuenta que continue solo afecta al bucle más cercano en el que se
encuentra. Si hay bucles anidados, la instrucción continue saltará a la siguiente iteración del
bucle más interno.

ARRAYS UNIDIMENSIONALES
En C++, un array unidimensional es una estructura de datos que permite almacenar un
conjunto de elementos del mismo tipo en una secuencia lineal. Cada elemento en el array se
identifica por su índice, que comienza desde 0 y se incrementa en uno para cada posición
adicional en el array.
El concepto de un array unidimensional se basa en la idea de tener una colección de
elementos contiguos en la memoria, donde cada elemento puede ser accedido directamente
mediante su índice. Esto proporciona un acceso eficiente a los elementos y facilita la
manipulación y gestión de datos de manera estructurada.
Algunos conceptos clave relacionados con los arrays unidimensionales en C++ son:
 Declaración: Se especifica el tipo de datos de los elementos y el tamaño del array al
declararlo. Por ejemplo: int numeros[5]; declara un array llamado "numeros" que
puede almacenar 5 elementos enteros.
 Índices: Los elementos de un array unidimensional se acceden mediante su índice. El
primer elemento se encuentra en el índice 0, el segundo en el índice 1, y así
sucesivamente. Por ejemplo, para acceder al tercer elemento del array "numeros", se
utiliza numeros[2].
 Tamaño: El tamaño de un array unidimensional se determina en el momento de la
declaración y es fijo durante la ejecución del programa. Especificar un índice fuera del
rango del tamaño del array puede provocar comportamientos indefinidos o errores.
 Inicialización: Los arrays pueden ser inicializados al declararlos, proporcionando una
lista de valores entre llaves. Por ejemplo: int numeros[] = {1, 2, 3, 4, 5}; inicializa el
array "numeros" con los valores dados.
 Manipulación: Los elementos de un array pueden ser asignados, leídos y modificados
individualmente utilizando su índice. Por ejemplo, numeros[0] = 10; asigna el valor 10
al primer elemento del array "numeros".
 Iteración: Los arrays se pueden recorrer utilizando bucles como for o while y
accediendo a los elementos mediante su índice. Esto permite realizar operaciones en
todos los elementos del array.

El uso de arrays unidimensionales en C++ es fundamental para almacenar y manipular


conjuntos de elementos de manera eficiente. Proporciona una estructura de datos básica para
organizar y acceder a datos de forma secuencial y estructurada.
En C++, los arrays unidimensionales se definen utilizando la siguiente sintaxis:

Donde "tipo" es el tipo de datos de los elementos que se almacenarán en el array,


"nombre_array" es el nombre que se le dará al array y "tamaño" es el número de elementos
que se almacenarán en el array.
ARRAYS MULTIDIMENSIONALES

En C++, un arreglo puede describirse como una variable que almacena otras variables.
Es posible crear un arreglo de distintas variables, incluso de otros arreglos. Cuando hacemos
que cada locación de un arreglo contenga a otro arreglo, estamos creando lo que se conoce
como un arreglo bidimensional o matriz.
Declaración de un arreglo multidimensional

Es posible declarar arreglos de hasta 8 dimensiones, pero encontrar un problema que requiera
un arreglo de tal magnitud es muy poco probable; es más común utilizar arreglos de una a tres
dimensiones.
Declaración de un arreglo bidimensional:

Inicialización de un arreglo bidimensional


Los arreglos bidimensionales pueden inicializarse usando valores encorchados por cada
hilera.

Otra forma de inicializar un arreglo bidimensional es la siguiente:

PROGRAMACIÓN MODULAR

La programación modular consiste en la descomposición de un programa en trozos más


pequeños denominados módulos o subprogramas, en el que cada uno de ellos se encargara de
llevar a cabo una tarea concreta y bien definida.

Una función es un bloque de código que realiza alguna operación. Una función puede definir
opcionalmente parámetros de entrada que permiten a los llamadores pasar argumentos a la
función. Una función también puede devolver un valor como salida. Las funciones son útiles
para encapsular las operaciones comunes en un solo bloque reutilizable, idealmente con un
nombre que describa claramente lo que hace la función. La siguiente función acepta dos
enteros de un autor de llamada y devuelve su suma; a y b son parámetros de tipo int.

Paso de parámetros por valor

Cuando una función solicita los servicios de otra, debe facilitarla los datos que debe procesar.
Esta información es enviada a la función a través de unos identificadores o expresiones
denominados argumentos o parámetros.
Los argumentos enviados en el momento de ser llamada la función se denominan parámetros
actuales o reales.
Los argumentos recibidos por la función se denominan parámetros formales.
Ejemplo que calcula la media de dos valores

En el primer ejemplo, que calcula una sencilla media de dos valores, supondremos que el
usuario introduce los valores 1 y 2.

Se enfatizan las líneas ya ejecutadas del programa.

Estado tras definición de variables en main().

1. #include <iostream>
2. using namespace std;
3. double calcula_media(double num1, double num2)
4. {
5. double media = (num1 + num2)/2.;
6. return media;
7. }
8. int main()
9. {
10. double numero1, numero2;
11. cout << "Introduzca dos números reales: ";
12. cin >> numero1 >> numero2;
13. double resultado = calcula_media(numero1, numero2);
14. cout << "La media es " << resultado << endl;
15. }

Paso por referencia

Para entender bien el paso por referencia de parámetros a una función, es conveniente, aunque
sea de forma somera, introducir los conceptos de punteros y referencias.

Punteros

Cuando se define una variable, el sistema operativo reserva espacio en memoria capaz de


almacenar el contenido de dicha variable.

double media = 2.;

El formato general para la declaración de una variable puntero es:

tipo_de_variable_apuntada* nombre_del_puntero;

En el siguiente fragmento de código, p_media es un puntero que permitirá almacenar la


dirección de memoria de una variable tipo double.

double media = 2.;


double* p_media;
¡El contenido de p_media es indeterminado!

Dado que un puntero almacena direcciones, el espacio requerido depende del hardware (4
bytes en un computador de 32 bits y 8 bytes en los de 64 bits).

Para trabajar con punteros se dispone de los operadores de puntero * y &.

Ejemplo

1. #include <iostream>
2. using namespace std;
3. void sumar(int *);
4. int main()
5. {
6. int n = 4;
7. sumar(&n);
8. cout << n << std::endl;
9. system("pause");
10. return 0;
11. }
12. void sumar(int *x)
13. {
14. *x = *x + 1;
15. cout << *x << std::endl;
16. }
Como vemos el parámetro de sumar ahora es un puntero que recibe una dirección de memoria
en este caso le pasamos la dirección de la variable x y dentro de la función con operador de
indirección podemos acceder al contenido de la variable n.

Referencias

Una referencia es por así decirlo un alias o etiqueta de una variable.


Las referencias se deben inicializar al declararse ya que no son en sí una variable sino una
etiqueta de otra y se declaran poniendo el operador & después del tipo de dato.

1. int n = 4;
2. int &ref_n = n;
3. cout << ref_n << endl;
A efectos prácticos n y ref_n se refieren a la misma variable de hecho si con el
operador & obtenemos la dirección de memoria de n y ref_n obtendríamos la misma en
ambos casos. En nuestra memoria ficticia se vería así:

Las referencias son una buena forma de pasar un valor a otra función sin ser por valor,
veamos el ejemplo anterior de paso por punteros, pero está vez usando referencias.

1. #include <iostream>
2. using namespace std;
3. void sumar(int &);
4. int main()
5. {
6. int n = 4;
7. sumar(n);
8. cout << n << endl;
9. system("pause");
10. return 0;
11. }
12. void sumar(int &x)
13. {
14. x = x + 1;
15. cout << x << endl;
16. }

5. BIBLIOGRAFÍA

También podría gustarte