Este documento presenta una introducción a los fundamentos de programación en C++. Explica conceptos básicos como variables, tipos de datos, operadores, estructuras de control de flujo (condicionales e iterativas), entre otros. Incluye ejemplos de código sencillos para ilustrar cada tema.
1. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
C++ fácil de aprender!
// Este programa despliega un mensaje de Bienvenida en la pantalla
#include<iostream>
void main ()
{
std::cout << "Bienvenidos al curso de Fundamentos "<< std::endl;
system ("pause");
}
#include<iostream>
“Es una directiva del preprocesador, la cual es un mensaje para el preprocesador de C++.
Las líneas que empiezan con # son procesadas por el preprocesador antes de que se
compile el programa. Esta línea indica al preprocesador que debe incluir en el programa el
contenido del archivo de encabezado de flujos de entrada/salida <iostream>.” (Deitel &
Deitel, 2009)
main ()
Forma parte de todo programa de C++, los paréntesis indican que el bloque es una
función.
{ Inicia el cuerpo de toda función
} Termina el cuerpo de la función.
std::cout << "Bienvenidos al curso de Fundamentos "<< std::endl;
Instrucción: Indica que debe realizar se una acción.
std:: Se requiere cuando utilizamos nombres de la directiva del preprocesador #
include <iostream>
std::cout indica que estamos utilizando un nombre que pertenece al espacio de nombres
std.
cout flujo estándar de salida, imprime la cadena de caracteres entre comillas.
<< operador de inserción de flujo, el valor a la derecha del operado se inserta en el flujo
de salida
endl manipulador de flujo endl, es una abreviatura de fin de línea, imprime una nueva
línea. Vacía el búfer de salida, se utiliza en lugar de la secuencia de escape n.
system ("pause"); Se utiliza para realizar una pausa en el programa, hasta que el
usuario digite una tecla.
Toda instrucción termina con punto y coma;
using
Con las declaraciones using, eliminamos el prefijo std::
Ejemplo: escribimos las siguientes sentencias antes del main.
• using std::cout;
• using std::cin;
1
2. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
• using std::endl;
De modo que podamos escribir cout en lugar de std::cout, y así sucesivamente, con los
espacios de nombre std.
namespace
using namespace se puede utilizar para los espacios de nombres predefinidos como std.
Escribimos las siguientes sentencias antes del main.
Con esta instrucción using namespace std; no debemos utilizar el using std::cout; using
std::cin; using std::endl; etc
Secuencia de escape:
std::cout << "n Bienvenidos al curso de Fundamentos n";
n Nueva línea
t Tabulación horizontal
a Suena la campana del sistema
Programa suma de enteros:
// suma dos numeros enteros
#include<iostream>
using namespace std;
void main(){
int numero1, numero2, suma; // declaración de variables tipo entero
cout<<"introduzca el primer numero: n";
cin>> numero1;
cout<<"introduzca el segundo numero: ";
cin>> numero2;
suma = numero1 + numero2;
cout<<"la suma es: "<<suma <<endl;
system ("pause");
}
cin>> numero1; flujo de entrada, cuando se ejecuta esta instrucción la computadora
espera a que el usuario introduzca un valor para la variable numero1
>> operador de extracción de flujo, se utiliza para obtener un valor del teclado.
Operador de asignación =
Asignar un resultado o un valor a una variable/constante lo hacemos mediante el operador
de asignación =
Ejemplo: suma = numero1 + numero2;
Y se lee de la siguiente manera: suma obtiene el valor de numero1 + numero2 o dicho en
otras palabras asignamos a suma el resultado de sumar numero1 con numero2.
2
3. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
El operador + y = son operadores binarios porque tienen 2 operandos.
Expresión operador Operando
numero1 + numero2 + numero1
numero2
suma = numero1 + numero2 = suma
el valor de la expresión numero1 + numero2
Recomendación: dejar espacios a ambos lados de un operador binario, para mayor
legibilidad.
Operador de igualdad ==
Se utiliza para verificar la igualdad entre 2 operandos (comparar valores). El resultado
será false o true.
Utilizar el operador = cuando se debiera utilizar ==, no produce errores de sintaxis pero si
de semántica. Algunos compiladores generan la advertencia.
Otros operadores:
!= operador de desigualdad.
>= mayor igual
<= menor igual
Nota: No puede haber espacio entre los operadores
ARITMETICA
Operación Operador Expresión en C++
Suma + num1 + 10
Resta - num1 – num2
Multiplicación * a*b
División / Subtotal / 5
Residuo % num1%num2
El operador módulo %, produce el residuo de una división entera, solo se utiliza con
valores tipo int.
La división entre enteros, produce un cociente entero, el resultado se trunca, no hay
redondeo. Ejemplo 10/4 da como resultado 2. Para obtener la precisión en el resultado
utilizar variables tipo float.
Estructura condicionales: Instrucción if
Instrucción de selección simple. Realiza una o varias acciones si la condición es
verdadera, o evita su ejecución si la condición es falsa.
if (numero1 < 0) {
cout<<"introduzca un numero positivo: n";
cin>>numero1; }
3
4. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
Instrucción if/else
Instrucción de selección doble. Realiza una o varias acciones si la condición es
verdadera, o realiza una acción diferente si la condición es falsa.
Instrucciones if/else anidadas
Se utilizan para evaluar casos múltiples, donde se pueden escribir instrucciones if o else o
if/else dentro de otras instrucciones if .else.
Ejemplo:
if (nota >= 70)
cout << “estudiante aprobado”<<endl;
else
if (nota >= 60 && nota < 70)
cout << “estudiante con derecho a examen de ampliación”<<endl;
else
cout << “estudiante Reprobado”<<endl;
OJO: El compilador asocia un else con el primer if que le antecede. Si deseamos indicar
otra acción se debe colocar las llaves { } en el respectivo lugar.
Nota: Si se ejecuta una única acción dentro del if o del else no son necesarias las llaves.
Cuando el cuerpo del if o del else contiene varias instrucciones, estas se deben encerrar
entre el par de llaves { }, lo que llamamos un bloque de instrucciones.
Recomendaciones: Aplicar sangría al cuerpo del if o del else para una mayor legibilidad
del programa.
Estructuras cíclicas
Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario
utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de
veces.
Ciclos del tipo for
Ciclos con un Número Determinado de Iteraciones:
Sintaxis:
for ( i = valorInicial ; condición (i < valor); Incremento/decremento)
{
Accion 1;
Accion 2;
} // Fin For
Donde:
1. i es una variable que lleva la cuenta de las iteraciones.
2. valorInicial corresponde al primer valor que tomará i.
3. Incremento/decremento i corresponde al avance o retroceso que tendrá i
4
5. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
void main(){
int i, numero;
for (i=1; i <= 10; i++){
cout<<"n "<< i;
}
system("pause");
}
Ciclos del tipo while
While (Mientras) es una estructura que repetirá un proceso durante “N” veces, donde
“N” puede ser fijo o variable. La instrucción se vale de una condición que es la que debe
cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces
ya no se ejecuta el proceso.
Sintaxis:
while (Condición)
{
Acción 1;
Acción 2;
...
Acción N;
}
Es importante garantizar que, dentro de las instrucciones del While, haya una instrucción
que haga la condición falsa para hacer que el ciclo termine, para evitar un enciclamiento.
void main(){
int numero1,numero2, suma;
cout<<"introduzca1 numeron";
cin>>numero1;
while (numero1 < 0) {
cout<<"introduzca un numero positivo: n";
cin>>numero1;
}
cout<<"introduzca el segundo numero: n";
cin>>numero2;
while (numero2 < 0) {
cout<<"introduzca un numero positivo: n";
cin>>numero2;
}
suma=numero1+numero2;
cout<<"la suma es "<<suma <<endl;
system ("pause");
}
5
6. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
Formato para los números de punto flotante.
setprecision (2): indica que la variable de punto flotante, debe imprimirse con 2 puntos
de precisión a la derecha del punto decimal. A esta llamada se conoce como manipulador
de flujo parametrizado(debido al 2 entre paréntesis) y utilizan la directiva del
preprocesador
#include<iomanip>
Si no se especifica la precisión generalmente se imprime con 6 dígitos de precisión.
El manipulador de flujo fixed, indica que los valores de punto flotante deben imprimirse
en lo que se denomina formato de punto fijo, se utiliza para forzar que un numero de
punto flotante muestre un numero especifico de dígitos, que se imprima el punto decimal y
los ceros a la derecha, aun si el valor es una cantidad entera. fixed no esta
parametrizado, se encuentra en el encabezado <iostream>
Al utilizar los manipuladores fixed y setprecision los valores impresos se redondean, al
número de posiciones decimales indicadas entre paréntesis del manipulador setprecision
Ejemplo:
87.946 y 67.543 se imprimen como 87.95 y 67.54
cout<<"la suma es "<<fixed<< setprecision (2) <<suma <<endl;
6
7. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
Estructuras cíclicas (continuación)
Ciclos del tipo do while
Repite un proceso una cantidad de veces, el do - while ejecuta las instrucciones
contenidas en el cuerpo de la estructura, al menos una vez, debido a que la condición se
evalúa al final del proceso, a diferencia de la estructura while donde puede ser que nunca
llegue a entrar si la condición no se cumple desde el principio.
La estructura:
do
{
instruccion1;
instruccion2; Ojo! el while lleva
... punto y coma.
Instrucción N;
} while (condición);
Es importante que dentro de las instrucciones del cuerpo do - while, haya una instrucción
que haga la condición falsa para hacer que el ciclo termine en un debido momento.
void main(){
int numero;
cout<<"nDigite numeros positivos, para salir digite un numero
negativo!n";
do {
cout<<"Digite un numero";
cin>>numero;
}
while (numero>=0);
system ("pause");
}
7
8. UNA- Fundamentos de informática Manual de C++ Prof. Marlene Durán
switch
Estructura condicional de selección múltiple. Permite elegir entre una serie de distintas acciones.
Muy utilizada para realizar un menú con una serie de alternativas.
Se evalúa la expresión entre paréntesis del switch, y se compara con cada una de las etiquetas
case, si ocurre una coincidencia, se ejecutan las instrucciones para ese case.
El caso default se ejecuta cuando no se han encontrado coincidencias, a modo de mensaje de
error.
Cada case tiene la instrucción break, que le permite salir del switch.
Importante: Entre la palabra case y el valor que se está evaluando debe haber un espacio.
Ejemplo: Un menú donde el usuario pueda elegir entre las opciones de sumar y restar dos
números que haya solicitado con anterioridad.
cout<<"ntt Operaciones Matematicas "<<endl;
cout<<" 1. Sumar "<<endl;
cout<<" 2. Restar "<<endl;
cout <<"n Elija una opcion: ";
cin>> opc;
switch (opc)
{ // Inicio de los casos
case 1:
suma = numero1 + numero2;
cout<<"nEl resultado de la suma es: " << suma <<endl;
break;
case 2:
resta = numero1 - numero2;
cout<<"nEl resultado de la resta es: " << resta <<endl;
break;
default:
cout<<"n Opcion incorrecta, debe digitar el numero 1 o 2 "<<endl;
break;
} // cierra el switch
system ("pause");
}
8