Las constantes son fundamentales cuando quieres asegurar que un valor no sea modificado durante la ejecución de un programa. Al definir una variable como constante, le estás señalando al compilador que ese valor debe permanecer inalterable. En C++, puedes lograrlo usando la palabra clave const antes de la declaración de la variable.
Por ejemplo, si tienes una variable de tipo carácter y deseas almacenarla como constante:
constchar letra ='a';
¿Qué ocurre si intentas modificar una constante?
Intentar reasignar un nuevo valor a una constante en C++ resultará en un error de compilación. El editor de código lo marcará como un error porque el valor está definido como "de solo lectura". Supón que intentas cambiar el valor de la constante letra a 'b':
letra ='b';// Error: 'letra' no puede ser modificada.
¿Cómo funcionan las listas en C++?
Cuando necesitas trabajar con conjuntos de valores, como por ejemplo una lista de edades, resulta más eficiente agruparlas en una lista o arreglo que declarar una variable para cada valor. Las listas en C++ se crean utilizando corchetes [] para indicar que es una lista, y llaves {} para enumerar los valores iniciales.
Por ejemplo, si estás estudiando la edad promedio de un grupo de personas, podrías declarar una lista de edades así:
int lista_edades[]={18,24,30};
¿Cómo accedes a los elementos de una lista?
Cada valor dentro de una lista se identifica por un índice, comenzando desde cero. Para imprimir o manipular un valor específico de una lista, utilizas estos índices.
Para imprimir el primer valor (18) de lista_edades:
std::cout << lista_edades[0]<< std::endl;// Imprime el valor 18
Si quisieras imprimir el segundo valor (24):
std::cout << lista_edades[1]<< std::endl;// Imprime el valor 24
¿Cómo modificar un elemento en la lista?
Si algún valor en la lista requiere una actualización, puedes hacerlo accediendo al índice adecuado y asignando un nuevo valor. Si decides cambiar el valor en índice uno de 24 a 26:
lista_edades[1]=26;
Después de esta modificación, al imprimir el índice uno nuevamente, obtendrás el nuevo valor (26).
Importancia del manejo de constantes y listas
El uso adecuado de constantes y listas es crucial en C++, ya que mejora la eficiencia, la legibilidad y la mantenibilidad del código. Las constantes garantizan estabilidad en los datos que no deben cambiar, mientras que las listas permiten gestionar y manipular conjuntos de datos de manera más eficaz. Aprovecha estas herramientas para escribir programas más eficaces y estructurados, ¡y sigue explorando las posibilidades que C++ ofrece!
float R[10]={2,32,4.6,2,1,0.5,3,8,0,12};float S[]={2,32,4.6,2,1,0.5,3,8,0,12};int N[]={1,2,3,6};char Mensaje[]="Error de lectura";char Saludo[]={'H','o','l','a',0};
Muchas gracias por el aporte :D
Buen aporte, muchas gracias!
Una particularidad adicional que tienen las constantes, es que no son almacenadas en memoria al momento de la ejecución, como es el caso de las variables. El compilador es quien se encarga de reemplazar el valor de dicha constante en cada lugar del programa en que se es referenciado.
Importante esto, con eso se puede optimizar mejor la memoria.
No lo sabía, gracias!
Dejo un código con lo visto hasta ahora y comentarios con pequeñas explicaciones.
#include <iostream>using namespace std;int main(){// Se imprime el Hola Mundo cout <<"Hola Mundo \n";//Variables enteras int edad =0;//Se declara una variable indicando el tipo, nombre y valor inicial cout <<"El valor inicial de la edad es: "<< edad << endl; edad =18;//Se cambia el valor de la variable cout <<"El valor final de la edad es: "<< edad << endl;//Constantesconst char letra ='A';//Se declara con la palabra const, no se puede cambiar cout <<"El valor de la letra es "<< letra << endl;//Listas int lista_edades[]={18,24,16};//Se indica que es una lista con [] y entre {} van los valores separados por comas cout <<"El valor de la edad 1 es: "<< lista_edades[1]<< endl;//Se usan índices que empiezan en 0 lista_edades[1]=26;//Se modifica el valor cout <<"El nuevo valor de la edad 1 es: "<< lista_edades[1]<< endl;}
Si quieren imprimir algún datos seguidos de texto pueden concatenar los datos, es decir que en la misma línea salga una edad y un texto. Ejemplo
int edad =33;cout <<"Mi edad es "<< edad <<" y estoy aprendiendo en Platzi" endl;
Me podrías ayudar?
He tratado de concatenar datos, yme dice "Error compiling!". Y no entiendo por qué, mi código es el siguiente:
#include <iostream>
using namespace std;
int main() {
int edad = 0;
edad = 18;
const char letra = 'A';
int lista_edades[] = {0,1,2,3,4,5,6,7,8,9};
lista_edades[3] =26; //estamos cambiando el valor del número
cout<< "Mi edad es" << edad << "Mi nombre contiene la letra" <<letra "Y por mi trabajo llevo una lista que comienza en <<" <<lista_edades[3]endl;
}
Hola Oscar, debes fijarte que entre el final de una cadena de texto o variable y el inicio de otra estén los <<:
cout<<"Mi edad es "<< edad <<"Mi nombre contiene la letra "<< letra <<"Y por mi trabajo llevo una lista que comienza en << "<< lista_edades[3]<< endl;
Les dejo el código de esta clase :)
#include <iostream>using namespace std;int main(){const int LEGAL_AGE=18;const int AGES[]={24,32,25,98}; cout <<LEGAL_AGE<< endl; cout <<AGES[1]<< endl;}
Para los saltos de linea si estas usando una cadena puedes escribir al final \n
Exacto!
Esos pequeños trucos te hacen crecer como programador.
#include <iostream>using namespace std;int main(){const char letra ='A'; cout << age << endl; cout << letra << endl; cout <<"Como dicen los chavos:"<< letra << letra << letra << endl;return0;}
Es importante aclarar que las "Listas" de las que habla la profesora Diana no son la misma a la listas como las conocemos en otros lenguajes de porgramacion por ejemplo python.
Estas "Listas" seria mas bien un Array. ¿Por qué? porque esta estructura de datos ya tiene un tamaño fijo y cada elemento se guarda en una secuencia contigua de memoria que -deberia- definirse desde su creación para luego insertarles los datos del array.
#include <iostream>int main(){// Declarar un array de enteros con capacidad para 5 elementos int numeros[5];// Asignar valores a los elementos del array numeros[0]=10; numeros[1]=20; numeros[2]=30; numeros[3]=40; numeros[4]=50;// Acceder a los elementos y mostrarlos en pantallastd::cout <<"Primer elemento: "<< numeros[0]<< std::endl;std::cout <<"Segundo elemento: "<< numeros[1]<< std::endl;std::cout <<"Tercer elemento: "<< numeros[2]<< std::endl;std::cout <<"Cuarto elemento: "<< numeros[3]<< std::endl;std::cout <<"Quinto elemento: "<< numeros[4]<< std::endl;return0;}
gracias :)
Se puede imprimir dos o más índices de una lista? Por ejemplo de la lista que contiene los números {1,35,50,18} quiero imprimir el índice 1 y el índice 3.
Si, por ejemplo:
cout << lista[0] << lista[1] << lista[2] << endl;
Más adelante en el tema de ciclos y condicionales, te invito a tratar de usar un ciclo for para imprimir todos los elementos de una lista, usando una variable para el índice. :D
es muy parecido a c
solamente veo que cambia el tema de
namespace
cout <<
Así es, prácticamente todo lo relacionado con programación estructurada es heredado de C, lo que C++ agrega es todo lo relacionado a programación orientada a objetos.
Mientras tengas la noción y las bases de programación, en la mayoría de los lenguajes las instrucciones son parecidas, solo llega a cambiar la sintaxis, ya solo toca googlear.
Buenas Tardes! Quería hacer 2 consultas. La primera tiene que ver con las constantes es posible que un usuario asigne el valor a una constante algo así:
int main(){//Declaro la const pero no le asigno ningun valor const int prueba;//hago que el usuario la asigne por teclado cin>> prueba;//La muestro por pantalla cout<< prueba;}
Creo que la respuesta es no porque me salta error pero debia consultarlo.
Y la segunda pregunta es mas bien de como llamar las listas. Yo las conocía como arreglos unidimensionales, esta bien decirlo de las dos formas ?
Desde ya gracias!
La idea de las constantes es que no se pueden modificar nunca, ya sea por el programa o por el usuario.
Sobre las listas o arreglos, la verdad siendo estricta, los términos no son lo mismo, incluso arreglos podría ser una palabra más acertada, pero, en la vida cotidiana cada programador puede tener la costumbre de llamarlos de una u otra manera.
Hola , tengo una pregunta relacionada con listas, es posible crear una lista que tenga dos variables?? es decir, una lista grande de edades y en esa misma lista tener no se la talla de zapatos por ejemplo. en ese caso digamos que tengo 3 entradas de personas y quiero almacenar la talla de zapatos y las edades, se puede hacer en una o debo hacer 2? gracias!
Hola, es posible si, pero no de la forma nativa en C++, ya que las listas solo pueden ser de un tipo.
Es decir, si tienes una lista de enteros, solo puede contener enteros, en el caso de las edades y los zapatos, pues al ser números, podrías meterlos en una misma lista y solamente en tu programa establecer alguna regla, por ejemplo, el primer elemento es edad, el segundo talla de zapatos, el tercero edad, etc.. o en resumen, los elementos impares son edades y los pares son zapatos.
Pero esto no sería muy claro, ya que para C++ seguirían siendo números, y no tiene forma de saber si por ejemplo, metiste un valor de una talla de zapatos, dónde en realidad tenía que ir una edad, y entonces no te marcará el error.
Para hacer esto de una forma más correcta, tendrías que crear una estructura de datos, por ejemplo:
Persona {
edad: int;
talla: int;
}
Y luego podrías hacer una lista de elementos de tipo persona.
El tema de las estructuras lo entenderás mejor en el curso de programación orientada a objetos con C++.
Por el momento, la forma fácil de hacerlo, sería hacer una lista para las tallas y otra para las edades de las personas, pero en el futuro, una mejor forma de hacerlo sería las estructuras de datos. :)
Wow, no sabia que podian declararse de esa forma. Yo siempre hace int lista = [1,2,3];
Si yo quiero guardas una variable que sea una cadena de texto, cómo lo haría? por ejemplos quiero que la variable nombre1 = Anderson Rosero
Las variables del tipo string en C++ se declaran de esta manera:
string nombre_variable = "valor";
Con la palabra clave string por delante.
Saludos!
En el momento de imprimir los valores de la lista (que no pase del indice maximo de la lista) me imprime un valor incluido. Pero cuando uso un numero por fuera del indice me da un numero X. Por que?
(En python me hubiera dado un error como index out of range)
Porque C++ es “tonto”, en el sentido de que hace exactamente lo que le digas, para Python una lista es una estructura de datos completa, basada en clases de programación orientada a objetos, y cada elemento de la lista tiene información adicional sobre si es el primer o último elemento de la lista, etc. En cámbio, en C/C++ un elemento de una lista es directamente un valor en la memoria RAM, sin más, y una lista, pues varios de esos valores uno después del otro, entonces, si le dices que quieres que siga leyendo los valores de memoria siguientes, va a continuar hasta que no haya más RAM que leer, ya sea porque se termine la memoria física o porque llegue al límite de RAM que el sistema operativo le asignó permisos a ese programa.
ayuda me toco pausarel curso po que siempre que compilo, me sale un error y se me activa el antivirus, he intentado de todo pero ya no se que hacer
Tienes que ir a la configuración de tu antivirus y marcar la carpeta como segura.
¿Qué significa el % al final de la ejecución? ¿Hay manera de quitarlo?
Es un caractér que pone la terminal para indicar que ahí termina la cadena, si puedes quitarlo, puedes hacer un cambio de línea, por ejemplo:
#include <iostream>using namespace std;int main(){ cout <<"Hello world"<< endl;// endl hace un cambio de línea.return0;}
esta bien escrito el código y también puede recomendar otro editor de código porque vsc no me compila bien y estoy dev-C++ y quiero cambiar a otro.
<code>#include <iostream>/* run this program using the console pauser or add your own getch, system("pause") or input loop */using namespace std;int main(int argc, char** argv){ int edad =15;const char letra ='A';//el compilar no te deja cambiar el valor int lista_edades[]={18,24,32,19,16,45,36,65,65,5}; lista_edades[6]=12;// esto cambia el 36 por 12 cout<<letra<<endl;// recuerda usar stb en el codigo cout<<edad<<endl; cout <<lista_edades[6];//resultado 36 return0;}
Puedes realizar la compilación manual, si tienes el plugin de VS Code, la terminal debe tener activo el comando g++, en la documentación del plugin explica más al respecto.
Buen día, quería preguntar si las listas que mencionas no son simples vectores?, es que tenia entendido que para las listas en c++ hay una librería aparte, la cual maneja cada elemento de la lista por dos punteros, previous y next pointer, que referencian el siguiente o anterior valor.
El término correcto para este concepto sería Array, los Vectores en C++ son un tema más avanzado que es el que mencionas, una librería aparte que tiene múltiples métodos para manejar la estructura.
Existe el concepto de Templates y el de Containers, en C++, ahí podemos hablar de diferentes estructuras como Array, Vector, List, Queue, Forward List, Map, Set, entre otros.
De todos esos, Array es el que ya incluyen C y C++ bajo la sintaxis de brackets: [ ]
Dale, muchas gracias por la aclaración.
Otra pregunta, sabes si llegaran a sacar más cursos orientados a la rama de C/C++? me apasiona el mundo de sistemas embebidos, no se si tienes otros cursos que me recomiendes para esta área.
Gracias.