Tercera sección de este curso de C++ en donde seguiremos con estructuras y funciones sencillas y complejas .
¡Continuamos!
Estructuras I
Estructuras:
Son colecciones de uno a más tipos de elementos denominados campos, cada uno de los cuales puede ser un tipo de dato diferente.
Estructuras II
En este video veremos como poder rellenar datos de una estructura, y además como poder guardar datos digitados por el usuario.
Estructuras III
Estructuras anidadas, es decir, una estructura dentro de otra.
Estructuras IV
En este video se entenderán mejor las estructuras anidadas revisando un ejemplo sencillo.
Estructuras V
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 1: Hacer una estructura llamada corredor, en la cual se tendrán los siguientes campos: Nombre, edad, sexo, club, pedir datos al usuario para un corredor, y asignarle una categoría de competición:
- Juvenil menor o = 18 años
- Señor menor o = 40 años
- Veterano mayor a 40 años
Posteriormente imprimir todos los datos del corredor, incluida su categoría de competición.
Ejercicio 2: Hacer una estructura llamada alumno, en la cual se tendrán los siguientes Campos: Nombre, edad, promedio, pedir datos al usuario para 3 alumnos, comprobar cuál de los 3 tiene el mejor promedio y posteriormente imprimir los datos del alumno.
Estructuras VI
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 3: Realizar un programa que lea un arreglo de estructuras los datos de N empleados de la empresa y que imprima los datos del empleado con mayor y menor salario.
Ejercicio 4: Hacer un arreglo de estructura llamada atleta para N atletas que contenga los siguientes campos: nombre, país, numero_medallas. y devuelva los datos (Nombre, país) del atleta que ha ganado el mayor número de medallas.
Estructuras VII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 5: Hacer 2 estructuras una llamada promedio que tendrá los siguientes campos: nota1, nota2, nota3; y otro llamada alumno que tendrá los siguientes miembros: nombre, sexo, edad; hacer que la estructura promedio este anidada en la estructura alumno, luego pedir todos los datos para un alumno, luego calcular su promedio, y por ultimo imprimir todos sus datos incluidos el promedio.
Ejercicio 6: Utilizar las 2 estructuras del problema 5, pero ahora pedir los datos para N alumnos, y calcular cuál de todos tiene el mejor promedio, e imprimir sus datos.
Estructuras VIII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 7: Defina una estructura que indique el tiempo empleado por un ciclista en una etapa. La estructura debe tener tres campos: horas, minutos y segundos. Escriba un programa que dado n etapas calcule el tiempo total empleado en correr todas las etapas.
Ejercicio 8: Defina una estructura que sirva para representar a una persona. La estructura debe contener dos campos: el nombre de la persona y un valor de tipo lógico que indica si la persona tiene algún tipo de discapacidad. Realice un programa que dado un vector de personas rellene dos nuevos vectores: uno que contenga las personas que no tienen ninguna discapacidad y otro que contenga las personas con discapacidad.
Funciones I
Una función realiza una tarea concreta a realizar y puede ser diseñada, implementada y depurada de manera independiente al resto de código.
Funciones II
Una plantilla de función se utiliza para englobar un tipo de dato general y utilizarlo con una función determinada, con el fin de ahorrar muchas lineas de código.
Funciones III
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 1: Escriba una función llamada mult() que acepte dos números en punto flotante como parámetros, multiplique estos dos números y despliegue el resultado.
Ejercicio 2: Escriba una función llamada al_cuadrado() que calcule el cuadrado del valor que se le transmite y despliegue el resultado. La función deberá ser capaz de elevar al cuadrado números flotantes.
Funciones IV
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 3: Escriba una función nombrada funpot() que eleve un número entero que se le transmita a una potencia en número entero positivo y despliegue el resultado. El número entero positivo deberá ser el segundo valor transmitido a la función.
Ejercicio 4: Escriba un programa en C++ que devuelva la parte fraccionaria de cualquier número introducido por el usuario. Por ejemplo, si se introduce el número 256.879, debería desplegarse el número 0.879.
Funciones V
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 5: Escriba una plantilla de función llamada despliegue() que despliegue el valor del argumento único que se le transmite cuando es invocada la función.
Ejercicio 6: Escriba una plantilla de función llamada maximo() que devuelva el valor máximo de tres argumentos que se transmitan a la función cuando sea llamada. Suponga que los tres argumentos serán del mismo tipo de datos.
Funciones VI
El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la dirección de memoria del dato. En este caso se tiene un único valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier acción sobre el parámetro se realiza sobre la misma posición de memoria.
Funciones VII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 7: Intercambiar el valor de 2 variables utilizando paso de parámetros por referencia.
Ejercicio 8: Escriba una función nombrada cambio() que tenga un parámetro en número entero y seis parámetros de referencia en número entero nombrados cien, cincuenta, veinte, diez, cinco y uno, respectivamente. La función tiene que considerar el valor entero transmitido como una cantidad en dólares y convertir el valor en el número menor de billetes equivalentes.
Funciones VIII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 9: Escriba una función nombrada tiempo() que tenga un parámetro en número entero llamado totalSeg y tres parámetros de referencia enteros nombrados horas, min y seg. La función es convertir el número de segundos transmitido en un número equivalente de horas, minutos y segundos.
Ejercicio 10: Escriba una función nombrada calc_años() que tenga un parámetro entero que represente el número total de días desde la fecha 1/1/2000 y parámetros de referencia nombrados año, mes y día. La función es calcular el año, mes y día actual para el número dado de días que se le transmitan. Usando las referencias, la función deberá alterar en forma directa los argumentos respectivos en la función que llama. Para este problema suponga que cada año tiene 365 días y cada mes tiene 30 días.
Funciones IX
El paso de parámetros de tipo vector se ilustra en el programa del video de tipo vector se especifica de la misma forma que se define una variable de tipo vector, salvo que no es necesario especificar su tamaño. Como a través de una variable de tipo vector no es posible saber cuántos elementos almacena el vector, se utiliza otro parámetro para recibir el número de elementos que almacena el vector.
Funciones X
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 11: Realice una función que tome como parámetros un vector de números enteros y devuelva la suma de sus elementos.
Ejercicio 12: Realice una función que tome como parámetros un vector y su tamaño y diga si el vector está ordenado crecientemente. Sugerencia: compruebe que para todas las posiciones del vector, salvo para la 0, el elemento del vector es mayor o igual que el elemento que le precede en el vector.
Funciones XI
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 11: Realiza una función que tome como parámetros un vector de números y su tamaño y cambie el signo de los elementos del vector.
Ejercicio 12: Realiza una función que tome como parámetros un vector de enteros y su tamaño e imprima un vector con los elementos impares del vector recibido.
Funciones XII
Para poder enviar matrices hacia una función, hace falta enviar como parámetros la matriz, indicando el número máximo de columnas, y además el número de filas y columnas como enteros.
Funciones XIII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 15: Desarrollar una función que determine si una matriz es simétrica o no.
Ejercicio 16: Realice una función que dada una matriz y un número de fila de la matriz devuelva el menor de los elementos almacenados en dicha fila.
Funciones XIV
El paso de parámetros de tipo estructura se realiza de la misma manera que el de un tipo básico, simplemente tenemos que pasar como parámetro la estructura y una variable de tipo estructura.
Funciones XV
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 17: Suma de números Complejos
Ejercicio 18: Escriba una función en C++ llamada mayor() que devuelva la fecha más reciente de cualquier par de fechas que se le transmitan. Por ejemplo, si se transmiten las fechas 10/9/2005 y 11/3/2015 a mayor(), será devuelta la segunda fecha.
Funciones XVI
Un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos de una llamada a sí mismo, también llamada recursiva o recurrente. En este caso resolveremos un ejemplo para calcular el factorial de un número utilizando recursividad.
Funciones XVII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 19: Realice una función recursiva que sume los primeros n enteros positivos.
Ejercicio 20: Realice una función recursiva para la serie Fibonacci.
Funciones XVIII
(Ejercicios)
En este video vamos a resolver los siguientes ejercicios:
Ejercicio 21: Escriba una función recursiva que calcule un número elevado a una potencia entera mayor o igual que cero: x^y.
Ejercicio 22: Escriba una función escribeNumeros(int ini, int fin) que devuelva en la salida estándar los números del ini al fin. Escriba una versión que escriba los números en orden ascendente.