Venga un tema súper importante, de aquí se desprenden las estructuras de datos, la recursividad,etc. Siento que falto mucho por detallar que pasa cuando una función no devuelve un valor pero bueno también esta la parte de ser autodidactas.
Introducción
La historia de C++
Entorno de desarrollo
El proceso de compilación
Instalación en Windows
Instalación en Linux
Instalación en macOS
Conceptos básicos
Estructura básica de un programa en C++
Tipos de datos
Variables
Constantes y listas
Operadores
Entrada y salida de datos
Control de flujo
El condicional if
El condicional switch
Ciclo for
Ciclos while y do-while
Funciones
Qué son las funciones
La biblioteca estandar de C++
Próximos pasos
Continúa con el Curso Programación Orientada a Objetos en C++
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 9
Preguntas 1
Venga un tema súper importante, de aquí se desprenden las estructuras de datos, la recursividad,etc. Siento que falto mucho por detallar que pasa cuando una función no devuelve un valor pero bueno también esta la parte de ser autodidactas.
Les dejo mi código:
#include <iostream>
using namespace std;
int sum(int x, int y = 2) { return x + y; }
int res(int x, int y = 2) { return x - y; }
int mul(int x, int y = 2) { return x * y; }
int main() {
cout << sum(3, 3) << endl;
cout << res(3, 3) << endl;
cout << mul(3, 3) << endl;
}
Decidí poner en práctica las funciones en C++ haciendo el algoritmo de búsqueda binaria.
#include <iostream>
using namespace std;
/**
* Find the index of a number into an sorted array.
*
* Time complexity: O(log n) where n is the size of the given collection.
* Space complexity: O(1)
*
* @param target Number to search.
* @param source Collection of numbers sorted.
* @param length size of the collection.
* @returns index Index of the number, returns -1 if the number was not found.
*/
int binary_search(int target, int source[], int length) {
if (length <= 0) {
return -1;
}
int middle;
int left_pointer = 0;
int right_pointer = length;
while (left_pointer <= right_pointer) {
middle = (left_pointer + right_pointer) / 2;
if (source[middle] == target) {
return middle;
}
if (target < source[middle]) {
right_pointer = middle - 1;
} else if (target > source[middle]) {
left_pointer = middle + 1;
}
}
return -1;
}
int main() {
int data[7] = {1, 2, 3, 4, 5, 6, 7};
const int length = (sizeof(data) / sizeof(data[0])) - 1;
cout << binary_search(4, data, length) << endl; // 3
return 0;
}
aqui esta mi codigo para obtener areas y volumenes de cubos, y de cilindros. les reto a completar la parte de un prisma y de una esfera.
#include <iostream>
using namespace std;
//funciones para un cilindro
float A1(float r, float h) //funcion numero 1 para el area del rectangulo
{
float S;
S = 2*3.1415*r*h;
return S;
}
float A12(float r, float h) //funcion numero 2 para el area del circulo
{
float C;
C = 2*3.1415*(r*r);
return C;
}
float V(float r, float h)
{
float vol;
vol = 3.1415*r*r*h;
return vol;
}
//funciones para un cubo
float S(float b)
{
float s;
s = b*b*6;
return s;
}
float A21(float b)
{
float a21;
a21 = b*b*b;
return a21;
}
//funciones para un prisma
//funciones para una esfera
//funcion principal
int main(int argc, char const *argv[])
{
//usos del switch
int option;
cout <<"ingrese un numero para cada proceso"<<endl;
cout <<"1 para el area, superficie y volumen de un cilindro"<<endl;
cout <<"2 para el area, superficie y volumen de cubo "<<endl;
cout <<"3 para el area, superficie y volumen de prisma"<<endl;
cout << "4 para el area, superficie y volumen de una esfera"<<endl;
cin >> option ;
switch (option)
{
case 1://cilindro
float SC, r, h, Vol;
cout << "ingrese el valor del radio r"<< endl;
cin>>r;
cout<<"ingrese el valor de la altura"<<endl;
cin>>h;
SC = A1(r, h) + A12(r,h);//ponemos entre parentesis las variables que ingresamos
cout << "la superficie del cilindro es: " << SC << endl;
Vol = V(r,h);
cout << "el volumen del cilindro es:"<< Vol << endl;
break;
case 2: //cubo
float v2, b, s2;
cout << "ingrese el valor de la base b"<< endl;
cin>>b;
s2 = S(b);//ponemos entre parentesis las variables que ingresamos
cout << "la superficie del cubo es: " << s2 << endl;
v2 = A21(b);
cout << "el volumen del cubo es:"<< v2 << endl;
break;
case 3: //prisma
cout <<"option 3";
break;
case 4: //esfera
break;
default:
cout <<"opcion no valida";
break;// los breaks terminan al switch
}
return 0;
}
funciones pueden declararce de dos maneras :
–una que te retorna un valor :
ejemplo :
int nombre_funcion(variables){
return variable que tu quieras;
}
float nombre_funcion(variables){
return variable que tu quieras;
}
char nombre_funcion(variables){
return variable que tu quieras;
}
–devuelve varios valores
void(int &variable float &variable2){
}
Una lista con los números pares que hay del 1 al 10, al cuadrado.
int square(int a) {
return a * a;
}
int main() {
int numbers_list[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int list_length = sizeof(numbers_list) / sizeof(numbers_list[0]);
for (int i = 0; i < list_length; i++) {
if (numbers_list[i] % 2 == 0) {
cout << square(numbers_list[i]) << endl;
}
}
}
Dejo acá mi código, pueden dejar recomendaciones de optimizacion.
#include <iostream>
using namespace std;
int promedio(float a, float b, float c,
float d)
{
float suma = a + b + c + d;
float promedio = suma / 4;
return promedio;
}
int main()
{
float nota1;
float nota2;
float nota3;
float nota4;
char respuesta = 'y';
do
{
cout << "=======Bienvenido========" << endl
<< "-Saca tu promedio ingresando tus notas" << endl;
cin >> nota1;
cin >> nota2;
cin >> nota3;
cin >> nota4;
cout << "Estas son tus notas: " << endl
<< nota1 << endl
<< nota2 << endl
<< nota3 << endl
<< nota4 << endl
<< "Son Correctas? (y/n): ";
cin >> respuesta;
if (respuesta == 'y')
{
cout << "Tu promedio es de: " << promedio(nota1, nota2, nota3, nota4) << endl;
}
else
{
char respuesta = 'n';
}
} while (respuesta == 'n');
}
Aporte:
#include <iostream>
using namespace std;
int suma(int a, int b)
{
return a + b;
}
int main()
{
int number1;
int number2;
cout << "Ingrese los numeros a operar: ";
cin >> number1;
cin >> number2;
cout << "Resultado: " << suma(number1, number2) << endl;
}
Ejemplo de funcion de suma en la que el usuario ingresa los valores
#include<iostream>
using namespace std;
int sum(int a, int b){
return a + b;
}
int main()
{
int c;
int d;
cout << "eliga un numero " << endl;
cin >> c;
cout << "eliga otro numero " << endl;
cin >> d;
cout << "La suma de los valores es " << sum(c, d) << endl;
}
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.