Trabajo de Recuperación Manual C++
Trabajo de Recuperación Manual C++
Trabajo de Recuperación Manual C++
TRABAJO DE RECUPERACIÓN
PROGRAMACIÓN DE COMPUTADORAS 1
NOMBRE CARNÉ
1
Índice
1 Introducción al Lenguaje C++ ........................................................................................ 4
1.3 Explicación de cada una de las partes de la estructura básica de un programa ....... 5
2
4.1 Explicación ............................................................................................................ 14
3
1 Introducción al Lenguaje C++
1.1 Que es C++
C++ es un lenguaje se adapta muy bien a diferentes paradigmas de programación, incluyendo
entre ellos, programación orientada a objetos, programación genérica y la tradicional
programación procedimental o estructurada. C++ ha ido evolucionando.
El lenguaje de C++ por lo tanto es una herramienta versátil y completa, por esa razón un
programador C++ con experiencia es un perfil profesional con mucha demanda en toda clase
de proyectos tecnológicos.
main() {
Lo único que hemos hecho es definir una función ( main) que no tiene argumentos y no hace
nada. Las llaves { } delimitan un bloque en C++, en este caso el cuerpo de la función main.
Todos los programas deben tener una función main() que es la que se ejecuta al comenzar el
programa.
Un programa simple que muestra todo lo que hemos visto puede ser el siguiente:
4
1.3 Explicación de cada una de las partes de la estructura básica de un programa
La línea que empieza por # es una directiva. En este caso indica que se incluya el fichero
"iostream", que contiene las definiciones para entrada/salida de datos en C++. En la
declaración de main() hemos incluido la palabra int, que indica que la función devuelve un
entero. Este valor se le entrega al sistema operativo al terminar el programa. Si no se devuelve
ningún valor el sistema recibe un valor aleatorio.
La sentencia separada ente llaves indica que se escriba la frase "Hola mundo". El operador
<< ("poner en") escribe el segundo argumento en el primero. En este caso la cadena "Hola
mundo\n" se escribe en la salida estándar ( cout). El carácter \ seguido de otro carácter indica
un solo carácter especial, en este caso el salto de línea (\n).
Hay que indicar que las operaciones de Entradas y Salidas se gestionan de forma diferente
en C y C++, mientras que el C proporciona una serie de funciones (declaradas en el fichero
"stdio.h"), el C++ utiliza el concepto de stream, que se refiere al flujo de la información
(tenemos un flujo de entrada que proviene de cin y uno de salida que se dirige a cout) que se
maneja mediante operadores de E/S
5
1.3.1 Archivos de cabecera
La directiva #include indica que se desea utilizar la biblioteca iostream y que se debe añadir
el archivo fuente iostream al archivo fuente del programa antes de comenzar la compilación.
Los archivos como iostream se denominan también archivos de inclusión adjuntan en otros
archivos o bien archivos de cabecera ya que ellos se incluyen al principio de un archivo. Los
compiladores de C++ vienen con muchos archivos de cabecera que soportan un amplio
conjunto de propiedades y características.
La directiva #include se debe escribir en una sola línea; el nombre del archivo de cabecera e
include deben aparecer en la misma línea. En general, las directivas #include aparecerán
fuera de cualquier función; normalmente, todas las directivas #include de un programa
aparecen al principio del archivo.
#include <iostream>
Se denomina directiva del preprocesador, que es una directiva del preprocesador que es una
instruccion al compilador. El preprocesador es una parte de compilador que procesa un
archivo fuente antes de que tenga lugar la compilación. La directiva #include es reemplazado
por el contenido del archivo indicado. El tipo de archivo incluido normalmente por #include
se denomina archivo de cabecera. Los nuevos archivos de cabecera de ANSI C++ estándar
no tienen una extensión .h como los antiguos archivos de compilador C++.
6
Primero se verán las E/S entre nosotros y la máquina (teclado y pantalla) y luego veremos la
gestión de ficheros y cadenas. Hablaremos primero de la entrada y la salida simples y luego
comentaremos las posibilidades de formateo y el uso de los manipuladores de E/S.
El C++ al incluir la cabecera <iostream.h> define una serie de clases stream, las más
importantes son istream, ostream y iostream, que definen streams de entrada, de salida y de
entrada/salida respectivamente. Además de definir las clases, en esta cabecera se declara una
serie de objetos estándar que serán los que utilizaremos con más frecuencia:
• cin Objeto que recibe la entrada por teclado, pertenece a la clase istream
• cout Objeto que genera la salida por pantalla, pertenece a ostream
• cerr Objeto para salida de errores, es un ostream que inicialmente saca sus mensajes
por pantalla, aunque se puede redirigir.
• clog Es igual que cerr, pero gestiona los buffers de forma diferente
endl es una instruccion especial de C++ que significa “comienzo de nueva línea”. La
inserción de endl en el flujo de salida hace que el cursor de la pantalla se mueva al principio
de la siguiente línea.
7
A continuación, se ejemplifican mejor las E/S de C++
C++ proporciona un conjunto de tipos de datos predefinidos y operadores que manipulan los
tipos de datos. C++ puede definir un número de tipos de datos, pero no especificar su tamaño.
El tamaño dependerá del sistema operativo y de la plataforma sobre la que se ejecute su
programa. Los siguientes tipos de datos están predefinidos:
• Tipos de entero
• Tipos de coma flotante
• Tipos lógicos
• Tipos Carácter
• Tipos referencia
• Tipos enumeraciones
• Tipos arreglo
8
Tipos integrales
2.1.2 Arreglos
Un array es una colección de diferentes elementos del mismo tipo número de elementos debe
indicarse cuando se crea el array. El acceso a los elementos se realiza mediante el operador
[ ], por ejemplo:
9
2.1.4 Cadenas
Una de las grandes ventajas de C++ sobre C es el tratamiento del tipo de dato cadena de
caracteres. Una cadena es un valor entre dobles comillas que contiene cualquier combinación
de caracteres, números, espacios y símbolos. Para utilizar cadenas en C++ se debe incluir en
primer lugar el archivo de cabecera string que define todas las funciones necesarias para su
manipulación.
#include <string>
10
2.3 Declaración de variables
2.3.1 A continuación, se muestra un programa donde solo declara variables de tipos
distintos:
11
3 Operaciones básicas
Los operadores aritméticos se aplican a cualquiera de los tipos de datos aritméticos o a
cualquier tipo que se puede convertir a un tipo aritmético. A continuación, se detallará una
tabla que recoge los operadores aritméticos fundamentales. En C++ agrupa a los operadores
por su precedencia. Los operadores unitarios tienen la prioridad más alta, a continuación, los
operadores de multiplicación y división y por último los operadores de suma y resta.
Operadores aritméticos.
12
3.1 Operadores relacionales y lógicos
Operadores de asignación.
Los operadores incremento y decremento proporcionan una notación adecuada para sumar o
restar 1 de un objeto. Existen dos funciones de estos operadores: prefijo y posfijo.
13
Operadores de incremento y decremento.
4 Estructura de selección IF
4.1 Explicación
Una sentencia if se utiliza para comprobar una condición determinada. La sentencia if tiene
dos formatos: if e if-else
Una condición verdadera hace que el programa ejecute la sentencia y una condición falsa
hace que el programa salte dicha sentencia
Por lo tanto, los condicionales if son una estructura de control condicional, también llamadas
estructuras selectivas de casos simples (porque solo definen un posible flujo), las cuales nos
permiten tomar cierta decisión al interior de nuestro algoritmo, es decir, nos permiten
determinar qué acciones ejecutar según cierta condición sea verdadera, por ejemplo
determinar si un número cualquiera es mayor que 10 y de acuerdo a esto mostrar un mensaje
(o cualquier acción que sea necesaria).
14
Básicamente, un condicional if, es una estructura que nos posibilita definir las acciones a
ejecutar si se cumple cierta condición y de ese modo modificar la ejecución de tareas en un
programa según se necesite.
Los condicionales if-else, son una estructura de control, que nos permiten tomar cierta
decisión al interior de nuestro algoritmo, es decir, nos permiten determinar que acciones
tomar dada o no cierta condición, por ejemplo, determinar si la contraseña ingresada por el
usuario es válida o no y de acuerdo a esto darle acceso al sistema o mostrar un mensaje de
error.
Por lo tanto, podemos concluir que la condicional if-else es una estructura que nos posibilita
definir las acciones que se deben llevar a cabo si se cumple cierta condición y también
determinar las acciones que se deben ejecutar en caso de que no se cumpla; generando así
una separación o bifurcación en la ejecución del programa, ejecutando ciertas acciones u
otras a partir de la evaluación de una condición dada.
15
4.2.2 Ejemplo IF-ELSE:
Debemos entonces determinar cuál va a ser nuestra condición a evaluar, en este ejemplo, la
condición debe ser que la contraseña, sea idéntica a la establecida en nuestro sistema, veamos
entonces como realizar esto:
16
5 Estructura de selección SWITCH
5.1 Explicación
La estructura selectiva switch selecciona una de entre múltiples alternativas. Esta estructura
es especialmente útil cuando la selección se basa en el valor de una variable simple o de una
expresión simple denominada expresión de control o selector. El valor de esta expresión
puede ser de tipo int, bool o char. No se permiten tipos numéricos decimales (float, doble).
5.2 Estructura
A continuación, se muestra la sintaxis de la estructura switch en el lenguaje de programación
C++
La expresión de control o selector se evalúa y se compara con cada una de las etiquetas de
case. La expresión selector debe ser un tipo ordinal (por ejemplo, int, char, bool pero no float
o string). Cada etiqueta es un valor único, constante y tiene un valor diferente de los otros.
Si el valor de la expresión selector es igual a una de las etiquetas case -por ejemplo etiqueta2-
entonces la ejecución comenzará con la primera sentencia que proceda a ese case y
continuará hasta que se encuentra una sentencia break (o hasta que se encuentra el final de la
estructura switch)
Instrucción default: Si el valor del selector no está listado en ninguna etiqueta case, no se
ejecutará ninguna de las opciones a menos que se especifique una acción por defecto
mediante la palabra reservada default. La omisión de la etiqueta default puede crear un error
lógico difícil de prever. Aunque la etiqueta default es opcional, se recomienda su uso a menos
17
que se esté absolutamente seguro de que todos los posibles valores del selector estén
incluidos en las etiquetas case.
Instrucción break: Cuando la computadora ejecuta las sentencias siguientes a una etiqueta
case, continúa hasta que se alcanza una sentencia break. Si la computadora encuentra una
sentencia break, termina la estructura switch.
La estructura if-else es más versátil que la estructura switch y se pueden utilizar sentencias
if-else anidadas en cualquier p arte en la que se utiliza switch. Sin embargo, normalmente, la
estructura switch es más clara.
18