SlideShare una empresa de Scribd logo
1 de 80
Practica 1
FUNDAMENTOS DE PROGRAMACIÓN Y LÓGICA DE
PROGRAMACIÓN
Conceptos Básicos de Programación
• El siguiente programa escrito en C++ calcula la cantidad bruta y neta
a pagar por un trabajo realizado en función de las horas y días
trabajados. Contiene errores, encuéntrelos y corríjalos
Conceptos Básicos de Programación
Cuestiones a considerar para
corregir el ejercicio 1
NOTA TEÓRICA
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Junto con los compiladores de C y C++, se incluyen ciertos archivos
llamados bibliotecas mas comúnmente librerías. Las bibliotecas
contienen el código objeto de muchos programas que permiten
hacer cosas comunes, como leer el teclado, escribir en la pantalla,
manejar números, realizar funciones matemáticas, etc.
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Las bibliotecas están clasificadas por el tipo de trabajos que hacen,
hay bibliotecas de entrada y salida, matemáticas, de manejo de
memoria, de manejo de textos y como imaginarás existen
muchísimas librerías disponibles y todas con una función especifica
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Nota: Existe una discusión sobre el nombre de estos archivos. Muchos
personas consideran que el nombre adecuado es archivos de biblioteca,
y están en lo correcto. Sin embargo, la mayoría llamamos a estos
archivos librerías, y también me incluyo entre estos. El error proviene del
nombre en inglés, que es library. Este término se traduce como
biblioteca, y no como librería. De este modo a lo largo de esta sección las
llamaré de cualquiera de las dos formas, para estar mas claros.
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Nota 2: Sé que esto pinta aburrido, pero es muy útil y realmente las
librerías nos facilitan enormemente el trabajo de programar.
Recuerda que antes de hablar librerías y demás es necesario
dominar algunos conceptos de fundamentación en general y otros
temas importantes (ciclos, condicionales y demás) Ahora veamos
algunas librerías y como es su sintaxis.
¿Qué son exactamente las librerías?
• En C++, se conoce como librerías (o bibliotecas) a cierto tipo de
archivos que podemos importar o incluir en nuestro programa.
Estos archivos contienen las especificaciones de diferentes
funcionalidades ya construidas y utilizables que podremos agregar a
nuestro programa, como por ejemplo leer del teclado o mostrar
algo por pantalla entre muchas otras más.
¿Qué son exactamente las librerías?
• Al poder incluir estas librerías con definiciones de diferentes
funcionalidades podremos ahorrarnos gran cantidad de cosas,
imaginemos por ejemplo que cada vez que necesitemos leer por teclado,
debamos entonces crear una función que lo haga (algo realmente
complejo), al poder contar con las librerías en C++, podremos hacer uso
de una gran variedad de funciones que nos facilitaran la vida y
aumentarán la modularidad de nuestros códigos.
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Hay un conjunto de bibliotecas (o librerías) muy especiales, que se
incluyen con todos los compiladores de C y de C++. Son las librerías
(o bibliotecas) ANSI o estándar. También hay librerías que no son
parte del estándar pero en esta sección sólo usaremos algunas
bibliotecas (o librerías) ANSI.
Bibliotecas o librerías en C++. Declaración y uso de
librerías. Include en C++
• Las librerías no son únicamente archivos externos creados por otros, también es
posible crear nuestras propias librerías y utilizarlas en nuestros programas. Las
librerías pueden tener varias extensiones diferentes, las más comunes son: .lib, .bpl,
.a, .dll, .h y algunas más ya no tan comunes.
• En conclusión: Las librearías son archivos (no siempre externos) que nos permiten
llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino
simplemente entender cómo usarlas. Las librearías en C++ permiten hacer nuestros
programas más modulares y reutilizables, facilitando además crear programas con
funcionalidades bastante complejas en unas pocas líneas de código.
Sintaxis para declarar Librerías en C++
• La declaración de librerías, tanto en C como en C++, se debe hacer
al principio de todo nuestro código, antes de la declaración de
cualquier función o línea de código, debemos indicarle al
compilador que librerías usar, para el saber que términos estarán
correctos en la escritura de nuestro código y cuáles no. La sintaxis
es la siguiente: #include <nombre de la librería> o alternativamente
#include "nombre de la librería".
Sintaxis para declarar Librerías en C++
• Cualquiera de las 2 formas es válida en C++ , ten en cuenta que
siempre el nombre de la librería debe ir entre " y " o entre < y >. En
tu código puedes declarar todas las librerías que quieras aunque en
realidad no tienen sentido declarar una librería que no vas a usar en
tu programa, sin embargo no existe límite para esto.
Librerías Estandar de C++ (Standar Template Library o
STL)
• A continuación pondré algunas de las librerías de uso más común de C++ y que forman
parte de las librerías estándar de este lenguaje.
• fstream:
• Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el
programar, tanto leer como escribir en ellos.
• iosfwd:
• Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs
estándar. Por ejemplo ostream.
Librerías Estandar de C++ (Standar Template Library o
STL)
• iostream:
• Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante
(aunque no indispensable).
• La biblioteca list:
• Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas
• math:
• Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de
funciones matemáticas.
Librerías Estandar de C++ (Standar Template Library o
STL)
• memory:
• Utilidades relativas a la gestión de memoria, incluyendo asignadores y
punteros inteligentes (auto_ptr).
• "auto_ptr" es una clase que conforma la librería memory y permite un fácil
manejo de punteros y su destrucción automaticamente.
• Biblioteca new:
• Manejo de memoria dinámica
Librerías Estandar de C++ (Standar Template Library o
STL)
• numeric:
• Parte de la librería numérica de la STL relativa a operaciones
numéricas.
• ostream:
• Algoritmos estándar para los flujos de salida.
Librerías Estandar de C++ (Standar Template Library o
STL)
• queue:
• Parte de la STL relativa a contenedores tipo queue (colas de objetos).
• Librería stdio:
• Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida.
• Librería stdlib:
• Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general.
• string:
• Parte de la STL relativa a contenedores tipo string; una generalización de las cadenas alfanuméricas para albergar cadenas de
objetos. Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas d elas dificultades que generan los char
Librerías Estandar de C++ (Standar Template Library o
STL)
• typeinfo:
• Mecanismo de identificación de tipos en tiempo de ejecución
• vector:
• Parte de la STL relativa a los contenedores tipo vector; una generalización de las
matrices unidimensionales C/C++
• forward_list
• Esta librería es útil para implementar con gran facilidad listas enlazadas simples.
Librerías Estandar de C++ (Standar Template Library o
STL)
• list
• Permite implementar listas doblemente enlzadas (listas enlazadas
dobles) facilmente.
• iterator
• Proporciona un conjunto de clases para iterar elementos.
Librerías Estandar de C++ (Standar Template Library o
STL)
• regex
• Proporciona fácil acceso al uso de expresiones regulares para la comparación de
patrones.
• thread
• Útil para trabajar programación multihilos y crear múltiples hilos en nuestra
aplicación.
• Nota: Para más información sobre las librerías estandar de C++ y STL puedes ingresar
aquí
Cómo declarar una librería en C++?
• Veamos a continuación como se haría la declaración de unas
cuantas librerías conocidas, recuerda que ese pueden declarar
todas las librerías necesarias y siempre debe hacerse al comienzo
del código fuente
Cómo declarar una librería en C++?
Cómo declarar una librería en C++?
• Con esto debió quedar claro, como declarar librerías C++ al interior de un
código fuente. Lo único adicional, es la línea que dice using namespace std;
esta línea nos ayuda a declarar un espacio de nombre que evita tener que
usarlo cada que accedemos a alguna función especifica de una librería.
Teniendo este namespace declarado podemos llamar por ejemplo el comando
cout >>, que pertenece a la librería iostream, sin embargo sin este namespace
sería std::cout >>, imagina tener que hacer esto cada vez que uses algún
comando o función de las librerías, sería bastante tedioso.
Acerca del namespace std
• Todas las librerías estándar de C++ contienen una declaración del espacio
de nombre std, es decir que todas las librerías que hacen parte del
estándar de C++ colocan entidades dentro de este espacio de nombre.
• Por esta razón cuando declaramos el uso del espacio de nombre std por
medio de "using namespace std;", podemos evitar estar escribiendo
std::cout o std::cin, etc., en nuestro código.
Acerca del namespace std
• El espacio de nombre std como tal no es una librería sino simplemente un namespace, por esta
razón no reemplaza la declaración de las librerías del código, simplemente facilita la escritura
de éste al momento de usar las entidades de las librerías estándar. Sin embargo si vamos a
hacer uso de una o varias librerías estándar de C++ es recomendable que declaremos el
namespace std, para no tener que estar constantemente escribiendo cosas similares a las que
puse hace unas líneas como std::cin o similares, dado que únicamente se puede acceder a la
entidades de las librerías estándar por medio del espacio nombre std.
• Muy bien, ahora veamos algunos ejemplos simples del uso de librerías o bibliotecas en C++
Acerca del namespace std
• El espacio de nombre std como tal no es una librería sino simplemente un namespace, por esta
razón no reemplaza la declaración de las librerías del código, simplemente facilita la escritura
de éste al momento de usar las entidades de las librerías estándar. Sin embargo si vamos a
hacer uso de una o varias librerías estándar de C++ es recomendable que declaremos el
namespace std, para no tener que estar constantemente escribiendo cosas similares a las que
puse hace unas líneas como std::cin o similares, dado que únicamente se puede acceder a la
entidades de las librerías estándar por medio del espacio nombre std.
• Muy bien, ahora veamos algunos ejemplos simples del uso de librerías o bibliotecas en C++
Ejemplo 4 de librerías en C++
• En el siguiente ejemplo veremos el uso de la librería stdlib.h que
posee una gran variedad de funcionalidades, para este ejemplo
usaremos la función rand que nos permite generar un número
aleatorio.
Ejemplo 4 de librerías en C++
Ejemplo 4 de librerías en C++
• En el anterior código hemos hecho uso de dos librerías: iostream y
stdlib. La librería o biblioteca iostream, nos permitirá hacer uso del
cin y el cout para obtener o imprimir valores por pantalla,
respectivamente mientras stdlib nos dará acceso a la función rand
que generará por nosotros un número cualquiera.
Ejemplo 4 de librerías en C++
Ejemplo 5 de librerías en C++
• En el siguiente ejemplo veremos el uso de la librería string.h que
nos permite básicamente crear y manipular muy fácilmente
cadenas de caracteres
Ejemplo 5 de librerías en C++
Ejemplo 5 de librerías en C++
Ejemplo 5 de librerías en C++
• Aquí hemos mostrado un mensaje solicitando el nombre al usuario
y luego usando string, hemos creado un saludo que incluya el
nombre del usuario. "Hola Gerson Villa".
Ejemplo 6 para bibliotecas en C++
• En este ejemplo usaremos la biblioteca vector, iterator y list, para
crear un lista doblemente enlazada, agregar algunos elementos en
ella (incluido un vector) y recorrerla.
Ejemplo 6 para bibliotecas en C++
Ejemplo 6 para bibliotecas en C++
Ejemplo 6 para bibliotecas en C++
• El resultado final de la ejecución de este código debería mostrar por
pantalla "Mi lista contiene lo siguiente: 10 11 18 18 18 19 19 20 30
40 50" que es el resultado final de la inserción.
Constantes en C++, const y #define
• Las datos constantes, mal llamadas por algunos "variables constantes"
(realmente no son variables) tienen un valor fijo durante toda la ejecución del
programa, es decir, este valor no cambia ni puede ser cambiado a lo largo de la
ejecución de nuestro programa. Las constantes son muy útiles para especificar
el tamaño de un vector y para algunas otras cosas, como facilidad de uso y
confiabilidad del código. Para declarar una constante, se hace después de
declarar las librerías y antes de las funciones, la sintaxis es la siguiente: #define
nombre_constante valor. Veamos algunos detalles y luego unos ejemplos
sencillos del uso de las constantes en C++
Constantes en C++, const y #define
• En C++ se pueden definir constantes de dos formas, ambas válidas
para nosotros. La primera es por medio del comando #define
nombre_constante valor y la segunda es usando la palabra clave
const, veamos ahora cada una de estas formas en detalle.
Uso de #define para declarar constantes en C++
• La instrucción #define nos permite declarar constantes (y algunas
cosas más) de una manera rápida y sencilla. Hay que tener en
cuenta que al declarar constantes con #define debemos hacerlo
después de los #include para importar librerías pero antes de
declarar nuestras funciones y demás. Veamos un ejemplo:
Ejemplo de uso de #define en C++ para declarar
constantes
Ejemplo de uso de #define en C++ para declarar
constantes
Ejemplo de uso de #define en C++ para declarar
constantes
• Notemos que ha sido bastante fácil, sin embargo no todo es bueno.
Realmente al usar la instrucción #define en C++ no estamos
creando una constante realmente, estamos creando una expresión
y por tal motivo hay algunas cosas que se complican, veamos:
Ejemplo de uso de #define en C++ para declarar
constantes
Ejemplo de uso de #define en C++ para declarar
constantes
Ejemplo de uso de #define en C++ para declarar
constantes
• Si intentamos ejecutar el código anterior obtendremos un error al haber
usado el operador << justo después de PI, esto sucede porque PI no es
tratado exactamente como una variable cualquiera sino como una
expresión, así que realmente aunque podemos usar #define para
declarar constantes no es la mejor opción.
• Veamos ahora cual es realmente la forma más adecuada de declarar
constantes en C++, esto se hace por medio de la instrucción const,
veamos:
Uso de const para declarar constantes en C++
• La instrucción const nos permite declarar constantes de una
manera más adecuada y acorde. Las constantes declaradas con
const poseen un tipo de dato asociado (como debería ser siempre)
y se declaran al interior de nuestro código como un tipo cualquiera.
Veamos un ejemplo:
Ejemplo de uso de const en C++ para declarar
constantes
Ejemplo de uso de const en C++ para declarar
constantes
Ejemplo de uso de const en C++ para declarar
constantes
• Notemos que de igual forma ha sido bastante fácil y mejor aún ha
sido mucho más intuitivo y sencillo para nosotros. Se puede ver que
la declaración es muy similar a la de una variable cualquiera y que
ya no tenemos complicaciones al intentar añadir la instrucción endl
para agregar el salto de línea. Veamos que realmente la variable no
puede cambiar
Ejemplo de uso de const en C++ para declarar
constantes
Ejemplo de uso de const en C++ para declarar
constantes
Ejemplo de uso de const en C++ para declarar
constantes
• Si intentamos ejecutar el código anterior obtendremos un error al
intentar cambiarle el valor a PI, pues lo hemos definido como una
constante y el lenguaje no nos permitirá cambiarle en ningún
momento el valor.
Conceptos Básicos de Programación
• Tipo "double" o coma flotante de doble precisión:
Conceptos Básicos de Programación
• Las variables de este tipo almacenan números en formato de coma flotante,
mantisa y exponente, al igual que float, pero usan una precisión mayor, a costa
de usar más memoria, claro. Son aptos para variables de tipo real. Usaremos
estas variables cuando trabajemos con números grandes, pero también
necesitemos gran precisión. El mayor espacio para almacenar el número se usa
tanto para ampliar el rango de la mantisa como el del exponente, de modo que
no sólo se gana en precisión, sino también en tamaño.
Conceptos Básicos de Programación
• Al igual que pasaba con los números enteros, no existe un tamaño
predefinido para cada tipo en coma flotante. Lo que sí sabemos es
que el tamaño de double es mayor o igual que el de float y el de
long double mayor o igual que el de double.
Conceptos Básicos de Programación
• Bueno, también me han preguntado por qué no usar siempre double o long double y
olvidarnos de float. La respuesta es que C++ siempre ha estado orientado a la
economía de recursos, tanto en cuanto al uso de memoria como al uso de procesador.
Si tu problema no requiere la precisión de un double o long double, ¿por qué
derrochar recursos? Por ejemplo, en el compilador Dev-C++ float requiere 4 bytes,
double 8 y long double 12, por lo tanto, para manejar un número en formato de long
double se requiere el triple de memoria y el triple o más tiempo de procesador que
para manejar un float.
Conceptos Básicos de Programación
• Como programadores estamos en la obligación de no desperdiciar
nuestros recursos, y mucho menos los recursos de nuestros
clientes, para los que crearemos nuestros programas. C++ nos dan
un gran control sobre estas características, es nuestra
responsabilidad aprender a usarlo como es debido.
Entrada y salida de datos en C++. Uso de cin y cout
• La entrada y salida de datos en C++ es simple (al menos para los casos más comunes).
Con esto hago una comparación entre C++ y Java, pues leer una entrada del usuario
por teclado en C++ es bastante simple mientras que en Java implica una serie de
conceptos adicionales que la hacen un tanto más complicada. Por suerte para
nosotros en esta sección veremos cómo leer por teclado en C++, en otras palabras,
asignar a una variable el valor que el usuario escriba por el teclado. Adicional a esto
veremos también cómo mostrar texto por pantalla en C++, es decir, salida de datos.
Entrada y salida de datos en C++. Uso de cin y cout
• Vamos a comenzar primero con aprender a mostrar texto por pantalla en
C++. Este orden se debe a que cuando queremos pedirle algún dato al
usuario primero debemos hacerle saber lo que queremos que ingrese y
para hacérselo saber debemos mostrarle un mensaje con las
indicaciones, por tal motivo es importante primero saber mostrar texto
en pantalla en C++ y luego a leer texto por teclado en C++.
Salida de texto por pantalla en C++
• Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de
texto en C++ se hace uso de la instrucción cout<< es importante tener en
cuenta que la instrucción cout siempre va acompañada de << para controlar el
flujo de datos que sale. No te fijes mucho en ellos, solo ten siempre presente
que cout viene acompañado de << para tener cout<< como resultado.
• Veamos algunos ejemplos para mostrar texto por pantalla en C++:
Ejemplo 1 de impresión de texto por pantalla en C++
Ejemplo 1 de impresión de texto por pantalla en C++
Ejemplo 1 de impresión de texto por pantalla en C++
• El ejemplo que acabas de ver es bastante sencillo, excepto por un
detalle. Si ejecutar este código en tu pantalla aparecerá un mensaje
diciendo "Hola Mundo Desde UNITEC.". Tal como habrás notado el
operador << se usa para concatenar (unir) dos cadenas de texto por
eso el resultado es el obtenido. Luego se usa endl indicando el final
de la línea lo cual crea un salto de línea. No es obligatorio pero es
recomendable.
Ejemplo 2 de impresión de texto por pantalla en C++
Ejemplo 2 de impresión de texto por pantalla en C++
Ejemplo 2 de impresión de texto por pantalla en C++
• En este ejemplo de salida por pantalla hemos visto que también es posible usar
la instrucción cout para mostrar en pantalla el valor de las variables así sean
numéricas o cadenas de texto. También vimos que podemos concatenar los
valores de esas variables entre sí y también concatenarlas con otros valores
directamente (espacios, puntos, símbolos, etc.).
• Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora haremos uso
de este concepto y veremos cómo leer texto por teclado en C++. Veamos:
Entrada o lectura de datos en C++
• Tal como mencioné hace un momento, la lectura de datos en C++ es bastante
simple. Leer datos por teclado en C++ se hace usando el comando cin >> es
importante notar el uso de los dos signos >> que son usados para controlar el
flujo de datos. No te preocupes mucho por ellos, solo ten en cuenta que cada
vez que vaya a usar la instrucción cin debes agregarle >> para quedar con un
cin>>. Una manera muy sencilla de recordar esta instrucción es que in significa
entrar y como estamos programando en C++ le añadimos la letra C al comienzo
quedando así cin>> (sin olvidar los >>).
Entrada o lectura de datos en C++
• Veamos unos ejemplos simples para leer datos en C++. Recuerda
como dije más arriba que lo ideal para leer datos es indicarle al
usuario qué es lo que esperamos que ingrese por lo que en estos
ejemplos usaremos también lo recién aprendido (mostrar texto por
pantalla).
Ejemplo 3 de lectura de datos en C++
• Veamos unos ejemplos simples para leer datos en C++. Recuerda
como dije más arriba que lo ideal para leer datos es indicarle al
usuario qué es lo que esperamos que ingrese por lo que en estos
ejemplos usaremos también lo recién aprendido (mostrar texto por
pantalla).
Ejemplo 3 de lectura de datos en C++
Ejemplo 3 de lectura de datos en C++
Ejemplo 3 de lectura de datos en C++
• En este ejemplo hemos hecho un pequeño sistema de bienvenida
personalizado para el usuario leyendo el valor por teclado de su
nombre. En el comando cin>> se debe poner, después de >>, el
nombre de la variable en la cual se almacenará el valor que el
usuario ingrese. Por tal motivo primero se declaró primero una
variable llamada nombre y luego se uso cin >> nombre indicando
que lo que el usuario ingrese se almacenará en dicha variable.
Ejemplo 4 de lectura de datos en C++
Corrigiendo el programa
Corrigiendo el programa
Problema 2
• Desarrolle un programa que lea dos números de tipo int de teclado y posteriormente
los escriba en pantalla.
• Ejecútelo introduciendo dos números de tipo int validos (por ejemplo 1500 y 802).
Posteriormente ejecútelo introduciendo por teclado un primer numero de tipo int (por
ejemplo 1500) e introduciendo por teclado un segundo dato que no pertenezca al tipo
int (por ejemplo hola). Finalmente ejecútelo introduciendo por teclado un primer dato
que no pertenezca al tipo int (por ejemplo hola). Evalué las diferencias entre ambas
ejecuciones del mismo programa

Más contenido relacionado

La actualidad más candente

Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionalesAndreina Trejo
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cupditopo
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
Ejemplos de diagrama de flujo sencillos2
Ejemplos de diagrama de flujo sencillos2Ejemplos de diagrama de flujo sencillos2
Ejemplos de diagrama de flujo sencillos2Arazelii Puentez
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSjaimeizq
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónAna Ruth G H
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXIvan Luis Jimenez
 

La actualidad más candente (20)

Estructura selectiva simple
Estructura selectiva simpleEstructura selectiva simple
Estructura selectiva simple
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cup
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Ejemplos de diagrama de flujo sencillos2
Ejemplos de diagrama de flujo sencillos2Ejemplos de diagrama de flujo sencillos2
Ejemplos de diagrama de flujo sencillos2
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
Arreglos
ArreglosArreglos
Arreglos
 
Manual lpp
Manual lppManual lpp
Manual lpp
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
 
Introduccion a Windows Form
Introduccion a Windows FormIntroduccion a Windows Form
Introduccion a Windows Form
 

Similar a Practica 1

BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++JazminIbarra1106
 
BIBLIOTECAS QUE EXISTEN PARA C++
BIBLIOTECAS QUE EXISTEN PARA C++BIBLIOTECAS QUE EXISTEN PARA C++
BIBLIOTECAS QUE EXISTEN PARA C++GabrielFVilla15
 
Bibliotecas de c++
Bibliotecas de c++Bibliotecas de c++
Bibliotecas de c++Maztherprozh
 
Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++andreadelacruz002
 
Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)andreadelacruz002
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtualesKareliaRivas
 
Presentacion1(3)(2)
Presentacion1(3)(2)Presentacion1(3)(2)
Presentacion1(3)(2)gadiel1515
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++LaishaXime
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosandreadelacruz002
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosMaztherprozh
 
Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Oziel Solis Juarez
 
bibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfbibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfssuser948499
 
Las bibliotecas que_existen_para_c_(2)
Las bibliotecas que_existen_para_c_(2)Las bibliotecas que_existen_para_c_(2)
Las bibliotecas que_existen_para_c_(2)Efren Pacheco
 

Similar a Practica 1 (20)

BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++
 
BIBLIOTECAS QUE EXISTEN PARA C++
BIBLIOTECAS QUE EXISTEN PARA C++BIBLIOTECAS QUE EXISTEN PARA C++
BIBLIOTECAS QUE EXISTEN PARA C++
 
Bibliotecas de c++
Bibliotecas de c++Bibliotecas de c++
Bibliotecas de c++
 
Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++
 
Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtuales
 
Bibliotecas de c_
Bibliotecas de c_Bibliotecas de c_
Bibliotecas de c_
 
Bibliotecas de c_
Bibliotecas de c_Bibliotecas de c_
Bibliotecas de c_
 
Presentacion1(3)(2)
Presentacion1(3)(2)Presentacion1(3)(2)
Presentacion1(3)(2)
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++
 
Librerias en c
Librerias en cLibrerias en c
Librerias en c
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_
 
BIBLIOTECAS PARA C++
BIBLIOTECAS PARA C++BIBLIOTECAS PARA C++
BIBLIOTECAS PARA C++
 
bibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfbibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdf
 
Las bibliotecas que_existen_para_c_(2)
Las bibliotecas que_existen_para_c_(2)Las bibliotecas que_existen_para_c_(2)
Las bibliotecas que_existen_para_c_(2)
 
Biblioteca (1)
Biblioteca (1)Biblioteca (1)
Biblioteca (1)
 
Biblioteca
BibliotecaBiblioteca
Biblioteca
 
Bibliotecas de-c
Bibliotecas de-cBibliotecas de-c
Bibliotecas de-c
 

Más de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 

Practica 1

  • 1. Practica 1 FUNDAMENTOS DE PROGRAMACIÓN Y LÓGICA DE PROGRAMACIÓN
  • 2. Conceptos Básicos de Programación • El siguiente programa escrito en C++ calcula la cantidad bruta y neta a pagar por un trabajo realizado en función de las horas y días trabajados. Contiene errores, encuéntrelos y corríjalos
  • 3. Conceptos Básicos de Programación
  • 4. Cuestiones a considerar para corregir el ejercicio 1 NOTA TEÓRICA
  • 5. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas mas comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, etc.
  • 6. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas librerías disponibles y todas con una función especifica
  • 7. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Nota: Existe una discusión sobre el nombre de estos archivos. Muchos personas consideran que el nombre adecuado es archivos de biblioteca, y están en lo correcto. Sin embargo, la mayoría llamamos a estos archivos librerías, y también me incluyo entre estos. El error proviene del nombre en inglés, que es library. Este término se traduce como biblioteca, y no como librería. De este modo a lo largo de esta sección las llamaré de cualquiera de las dos formas, para estar mas claros.
  • 8. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Nota 2: Sé que esto pinta aburrido, pero es muy útil y realmente las librerías nos facilitan enormemente el trabajo de programar. Recuerda que antes de hablar librerías y demás es necesario dominar algunos conceptos de fundamentación en general y otros temas importantes (ciclos, condicionales y demás) Ahora veamos algunas librerías y como es su sintaxis.
  • 9. ¿Qué son exactamente las librerías? • En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más.
  • 10. ¿Qué son exactamente las librerías? • Al poder incluir estas librerías con definiciones de diferentes funcionalidades podremos ahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemos leer por teclado, debamos entonces crear una función que lo haga (algo realmente complejo), al poder contar con las librerías en C++, podremos hacer uso de una gran variedad de funciones que nos facilitaran la vida y aumentarán la modularidad de nuestros códigos.
  • 11. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Hay un conjunto de bibliotecas (o librerías) muy especiales, que se incluyen con todos los compiladores de C y de C++. Son las librerías (o bibliotecas) ANSI o estándar. También hay librerías que no son parte del estándar pero en esta sección sólo usaremos algunas bibliotecas (o librerías) ANSI.
  • 12. Bibliotecas o librerías en C++. Declaración y uso de librerías. Include en C++ • Las librerías no son únicamente archivos externos creados por otros, también es posible crear nuestras propias librerías y utilizarlas en nuestros programas. Las librerías pueden tener varias extensiones diferentes, las más comunes son: .lib, .bpl, .a, .dll, .h y algunas más ya no tan comunes. • En conclusión: Las librearías son archivos (no siempre externos) que nos permiten llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino simplemente entender cómo usarlas. Las librearías en C++ permiten hacer nuestros programas más modulares y reutilizables, facilitando además crear programas con funcionalidades bastante complejas en unas pocas líneas de código.
  • 13. Sintaxis para declarar Librerías en C++ • La declaración de librerías, tanto en C como en C++, se debe hacer al principio de todo nuestro código, antes de la declaración de cualquier función o línea de código, debemos indicarle al compilador que librerías usar, para el saber que términos estarán correctos en la escritura de nuestro código y cuáles no. La sintaxis es la siguiente: #include <nombre de la librería> o alternativamente #include "nombre de la librería".
  • 14. Sintaxis para declarar Librerías en C++ • Cualquiera de las 2 formas es válida en C++ , ten en cuenta que siempre el nombre de la librería debe ir entre " y " o entre < y >. En tu código puedes declarar todas las librerías que quieras aunque en realidad no tienen sentido declarar una librería que no vas a usar en tu programa, sin embargo no existe límite para esto.
  • 15. Librerías Estandar de C++ (Standar Template Library o STL) • A continuación pondré algunas de las librerías de uso más común de C++ y que forman parte de las librerías estándar de este lenguaje. • fstream: • Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el programar, tanto leer como escribir en ellos. • iosfwd: • Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por ejemplo ostream.
  • 16. Librerías Estandar de C++ (Standar Template Library o STL) • iostream: • Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante (aunque no indispensable). • La biblioteca list: • Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas • math: • Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de funciones matemáticas.
  • 17. Librerías Estandar de C++ (Standar Template Library o STL) • memory: • Utilidades relativas a la gestión de memoria, incluyendo asignadores y punteros inteligentes (auto_ptr). • "auto_ptr" es una clase que conforma la librería memory y permite un fácil manejo de punteros y su destrucción automaticamente. • Biblioteca new: • Manejo de memoria dinámica
  • 18. Librerías Estandar de C++ (Standar Template Library o STL) • numeric: • Parte de la librería numérica de la STL relativa a operaciones numéricas. • ostream: • Algoritmos estándar para los flujos de salida.
  • 19. Librerías Estandar de C++ (Standar Template Library o STL) • queue: • Parte de la STL relativa a contenedores tipo queue (colas de objetos). • Librería stdio: • Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida. • Librería stdlib: • Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general. • string: • Parte de la STL relativa a contenedores tipo string; una generalización de las cadenas alfanuméricas para albergar cadenas de objetos. Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas d elas dificultades que generan los char
  • 20. Librerías Estandar de C++ (Standar Template Library o STL) • typeinfo: • Mecanismo de identificación de tipos en tiempo de ejecución • vector: • Parte de la STL relativa a los contenedores tipo vector; una generalización de las matrices unidimensionales C/C++ • forward_list • Esta librería es útil para implementar con gran facilidad listas enlazadas simples.
  • 21. Librerías Estandar de C++ (Standar Template Library o STL) • list • Permite implementar listas doblemente enlzadas (listas enlazadas dobles) facilmente. • iterator • Proporciona un conjunto de clases para iterar elementos.
  • 22. Librerías Estandar de C++ (Standar Template Library o STL) • regex • Proporciona fácil acceso al uso de expresiones regulares para la comparación de patrones. • thread • Útil para trabajar programación multihilos y crear múltiples hilos en nuestra aplicación. • Nota: Para más información sobre las librerías estandar de C++ y STL puedes ingresar aquí
  • 23. Cómo declarar una librería en C++? • Veamos a continuación como se haría la declaración de unas cuantas librerías conocidas, recuerda que ese pueden declarar todas las librerías necesarias y siempre debe hacerse al comienzo del código fuente
  • 24. Cómo declarar una librería en C++?
  • 25. Cómo declarar una librería en C++? • Con esto debió quedar claro, como declarar librerías C++ al interior de un código fuente. Lo único adicional, es la línea que dice using namespace std; esta línea nos ayuda a declarar un espacio de nombre que evita tener que usarlo cada que accedemos a alguna función especifica de una librería. Teniendo este namespace declarado podemos llamar por ejemplo el comando cout >>, que pertenece a la librería iostream, sin embargo sin este namespace sería std::cout >>, imagina tener que hacer esto cada vez que uses algún comando o función de las librerías, sería bastante tedioso.
  • 26. Acerca del namespace std • Todas las librerías estándar de C++ contienen una declaración del espacio de nombre std, es decir que todas las librerías que hacen parte del estándar de C++ colocan entidades dentro de este espacio de nombre. • Por esta razón cuando declaramos el uso del espacio de nombre std por medio de "using namespace std;", podemos evitar estar escribiendo std::cout o std::cin, etc., en nuestro código.
  • 27. Acerca del namespace std • El espacio de nombre std como tal no es una librería sino simplemente un namespace, por esta razón no reemplaza la declaración de las librerías del código, simplemente facilita la escritura de éste al momento de usar las entidades de las librerías estándar. Sin embargo si vamos a hacer uso de una o varias librerías estándar de C++ es recomendable que declaremos el namespace std, para no tener que estar constantemente escribiendo cosas similares a las que puse hace unas líneas como std::cin o similares, dado que únicamente se puede acceder a la entidades de las librerías estándar por medio del espacio nombre std. • Muy bien, ahora veamos algunos ejemplos simples del uso de librerías o bibliotecas en C++
  • 28. Acerca del namespace std • El espacio de nombre std como tal no es una librería sino simplemente un namespace, por esta razón no reemplaza la declaración de las librerías del código, simplemente facilita la escritura de éste al momento de usar las entidades de las librerías estándar. Sin embargo si vamos a hacer uso de una o varias librerías estándar de C++ es recomendable que declaremos el namespace std, para no tener que estar constantemente escribiendo cosas similares a las que puse hace unas líneas como std::cin o similares, dado que únicamente se puede acceder a la entidades de las librerías estándar por medio del espacio nombre std. • Muy bien, ahora veamos algunos ejemplos simples del uso de librerías o bibliotecas en C++
  • 29. Ejemplo 4 de librerías en C++ • En el siguiente ejemplo veremos el uso de la librería stdlib.h que posee una gran variedad de funcionalidades, para este ejemplo usaremos la función rand que nos permite generar un número aleatorio.
  • 30. Ejemplo 4 de librerías en C++
  • 31. Ejemplo 4 de librerías en C++ • En el anterior código hemos hecho uso de dos librerías: iostream y stdlib. La librería o biblioteca iostream, nos permitirá hacer uso del cin y el cout para obtener o imprimir valores por pantalla, respectivamente mientras stdlib nos dará acceso a la función rand que generará por nosotros un número cualquiera.
  • 32. Ejemplo 4 de librerías en C++
  • 33. Ejemplo 5 de librerías en C++ • En el siguiente ejemplo veremos el uso de la librería string.h que nos permite básicamente crear y manipular muy fácilmente cadenas de caracteres
  • 34. Ejemplo 5 de librerías en C++
  • 35. Ejemplo 5 de librerías en C++
  • 36. Ejemplo 5 de librerías en C++ • Aquí hemos mostrado un mensaje solicitando el nombre al usuario y luego usando string, hemos creado un saludo que incluya el nombre del usuario. "Hola Gerson Villa".
  • 37. Ejemplo 6 para bibliotecas en C++ • En este ejemplo usaremos la biblioteca vector, iterator y list, para crear un lista doblemente enlazada, agregar algunos elementos en ella (incluido un vector) y recorrerla.
  • 38. Ejemplo 6 para bibliotecas en C++
  • 39. Ejemplo 6 para bibliotecas en C++
  • 40. Ejemplo 6 para bibliotecas en C++ • El resultado final de la ejecución de este código debería mostrar por pantalla "Mi lista contiene lo siguiente: 10 11 18 18 18 19 19 20 30 40 50" que es el resultado final de la inserción.
  • 41. Constantes en C++, const y #define • Las datos constantes, mal llamadas por algunos "variables constantes" (realmente no son variables) tienen un valor fijo durante toda la ejecución del programa, es decir, este valor no cambia ni puede ser cambiado a lo largo de la ejecución de nuestro programa. Las constantes son muy útiles para especificar el tamaño de un vector y para algunas otras cosas, como facilidad de uso y confiabilidad del código. Para declarar una constante, se hace después de declarar las librerías y antes de las funciones, la sintaxis es la siguiente: #define nombre_constante valor. Veamos algunos detalles y luego unos ejemplos sencillos del uso de las constantes en C++
  • 42. Constantes en C++, const y #define • En C++ se pueden definir constantes de dos formas, ambas válidas para nosotros. La primera es por medio del comando #define nombre_constante valor y la segunda es usando la palabra clave const, veamos ahora cada una de estas formas en detalle.
  • 43. Uso de #define para declarar constantes en C++ • La instrucción #define nos permite declarar constantes (y algunas cosas más) de una manera rápida y sencilla. Hay que tener en cuenta que al declarar constantes con #define debemos hacerlo después de los #include para importar librerías pero antes de declarar nuestras funciones y demás. Veamos un ejemplo:
  • 44. Ejemplo de uso de #define en C++ para declarar constantes
  • 45. Ejemplo de uso de #define en C++ para declarar constantes
  • 46. Ejemplo de uso de #define en C++ para declarar constantes • Notemos que ha sido bastante fácil, sin embargo no todo es bueno. Realmente al usar la instrucción #define en C++ no estamos creando una constante realmente, estamos creando una expresión y por tal motivo hay algunas cosas que se complican, veamos:
  • 47. Ejemplo de uso de #define en C++ para declarar constantes
  • 48. Ejemplo de uso de #define en C++ para declarar constantes
  • 49. Ejemplo de uso de #define en C++ para declarar constantes • Si intentamos ejecutar el código anterior obtendremos un error al haber usado el operador << justo después de PI, esto sucede porque PI no es tratado exactamente como una variable cualquiera sino como una expresión, así que realmente aunque podemos usar #define para declarar constantes no es la mejor opción. • Veamos ahora cual es realmente la forma más adecuada de declarar constantes en C++, esto se hace por medio de la instrucción const, veamos:
  • 50. Uso de const para declarar constantes en C++ • La instrucción const nos permite declarar constantes de una manera más adecuada y acorde. Las constantes declaradas con const poseen un tipo de dato asociado (como debería ser siempre) y se declaran al interior de nuestro código como un tipo cualquiera. Veamos un ejemplo:
  • 51. Ejemplo de uso de const en C++ para declarar constantes
  • 52. Ejemplo de uso de const en C++ para declarar constantes
  • 53. Ejemplo de uso de const en C++ para declarar constantes • Notemos que de igual forma ha sido bastante fácil y mejor aún ha sido mucho más intuitivo y sencillo para nosotros. Se puede ver que la declaración es muy similar a la de una variable cualquiera y que ya no tenemos complicaciones al intentar añadir la instrucción endl para agregar el salto de línea. Veamos que realmente la variable no puede cambiar
  • 54. Ejemplo de uso de const en C++ para declarar constantes
  • 55. Ejemplo de uso de const en C++ para declarar constantes
  • 56. Ejemplo de uso de const en C++ para declarar constantes • Si intentamos ejecutar el código anterior obtendremos un error al intentar cambiarle el valor a PI, pues lo hemos definido como una constante y el lenguaje no nos permitirá cambiarle en ningún momento el valor.
  • 57. Conceptos Básicos de Programación • Tipo "double" o coma flotante de doble precisión:
  • 58. Conceptos Básicos de Programación • Las variables de este tipo almacenan números en formato de coma flotante, mantisa y exponente, al igual que float, pero usan una precisión mayor, a costa de usar más memoria, claro. Son aptos para variables de tipo real. Usaremos estas variables cuando trabajemos con números grandes, pero también necesitemos gran precisión. El mayor espacio para almacenar el número se usa tanto para ampliar el rango de la mantisa como el del exponente, de modo que no sólo se gana en precisión, sino también en tamaño.
  • 59. Conceptos Básicos de Programación • Al igual que pasaba con los números enteros, no existe un tamaño predefinido para cada tipo en coma flotante. Lo que sí sabemos es que el tamaño de double es mayor o igual que el de float y el de long double mayor o igual que el de double.
  • 60. Conceptos Básicos de Programación • Bueno, también me han preguntado por qué no usar siempre double o long double y olvidarnos de float. La respuesta es que C++ siempre ha estado orientado a la economía de recursos, tanto en cuanto al uso de memoria como al uso de procesador. Si tu problema no requiere la precisión de un double o long double, ¿por qué derrochar recursos? Por ejemplo, en el compilador Dev-C++ float requiere 4 bytes, double 8 y long double 12, por lo tanto, para manejar un número en formato de long double se requiere el triple de memoria y el triple o más tiempo de procesador que para manejar un float.
  • 61. Conceptos Básicos de Programación • Como programadores estamos en la obligación de no desperdiciar nuestros recursos, y mucho menos los recursos de nuestros clientes, para los que crearemos nuestros programas. C++ nos dan un gran control sobre estas características, es nuestra responsabilidad aprender a usarlo como es debido.
  • 62. Entrada y salida de datos en C++. Uso de cin y cout • La entrada y salida de datos en C++ es simple (al menos para los casos más comunes). Con esto hago una comparación entre C++ y Java, pues leer una entrada del usuario por teclado en C++ es bastante simple mientras que en Java implica una serie de conceptos adicionales que la hacen un tanto más complicada. Por suerte para nosotros en esta sección veremos cómo leer por teclado en C++, en otras palabras, asignar a una variable el valor que el usuario escriba por el teclado. Adicional a esto veremos también cómo mostrar texto por pantalla en C++, es decir, salida de datos.
  • 63. Entrada y salida de datos en C++. Uso de cin y cout • Vamos a comenzar primero con aprender a mostrar texto por pantalla en C++. Este orden se debe a que cuando queremos pedirle algún dato al usuario primero debemos hacerle saber lo que queremos que ingrese y para hacérselo saber debemos mostrarle un mensaje con las indicaciones, por tal motivo es importante primero saber mostrar texto en pantalla en C++ y luego a leer texto por teclado en C++.
  • 64. Salida de texto por pantalla en C++ • Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de texto en C++ se hace uso de la instrucción cout<< es importante tener en cuenta que la instrucción cout siempre va acompañada de << para controlar el flujo de datos que sale. No te fijes mucho en ellos, solo ten siempre presente que cout viene acompañado de << para tener cout<< como resultado. • Veamos algunos ejemplos para mostrar texto por pantalla en C++:
  • 65. Ejemplo 1 de impresión de texto por pantalla en C++
  • 66. Ejemplo 1 de impresión de texto por pantalla en C++
  • 67. Ejemplo 1 de impresión de texto por pantalla en C++ • El ejemplo que acabas de ver es bastante sencillo, excepto por un detalle. Si ejecutar este código en tu pantalla aparecerá un mensaje diciendo "Hola Mundo Desde UNITEC.". Tal como habrás notado el operador << se usa para concatenar (unir) dos cadenas de texto por eso el resultado es el obtenido. Luego se usa endl indicando el final de la línea lo cual crea un salto de línea. No es obligatorio pero es recomendable.
  • 68. Ejemplo 2 de impresión de texto por pantalla en C++
  • 69. Ejemplo 2 de impresión de texto por pantalla en C++
  • 70. Ejemplo 2 de impresión de texto por pantalla en C++ • En este ejemplo de salida por pantalla hemos visto que también es posible usar la instrucción cout para mostrar en pantalla el valor de las variables así sean numéricas o cadenas de texto. También vimos que podemos concatenar los valores de esas variables entre sí y también concatenarlas con otros valores directamente (espacios, puntos, símbolos, etc.). • Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora haremos uso de este concepto y veremos cómo leer texto por teclado en C++. Veamos:
  • 71. Entrada o lectura de datos en C++ • Tal como mencioné hace un momento, la lectura de datos en C++ es bastante simple. Leer datos por teclado en C++ se hace usando el comando cin >> es importante notar el uso de los dos signos >> que son usados para controlar el flujo de datos. No te preocupes mucho por ellos, solo ten en cuenta que cada vez que vaya a usar la instrucción cin debes agregarle >> para quedar con un cin>>. Una manera muy sencilla de recordar esta instrucción es que in significa entrar y como estamos programando en C++ le añadimos la letra C al comienzo quedando así cin>> (sin olvidar los >>).
  • 72. Entrada o lectura de datos en C++ • Veamos unos ejemplos simples para leer datos en C++. Recuerda como dije más arriba que lo ideal para leer datos es indicarle al usuario qué es lo que esperamos que ingrese por lo que en estos ejemplos usaremos también lo recién aprendido (mostrar texto por pantalla).
  • 73. Ejemplo 3 de lectura de datos en C++ • Veamos unos ejemplos simples para leer datos en C++. Recuerda como dije más arriba que lo ideal para leer datos es indicarle al usuario qué es lo que esperamos que ingrese por lo que en estos ejemplos usaremos también lo recién aprendido (mostrar texto por pantalla).
  • 74. Ejemplo 3 de lectura de datos en C++
  • 75. Ejemplo 3 de lectura de datos en C++
  • 76. Ejemplo 3 de lectura de datos en C++ • En este ejemplo hemos hecho un pequeño sistema de bienvenida personalizado para el usuario leyendo el valor por teclado de su nombre. En el comando cin>> se debe poner, después de >>, el nombre de la variable en la cual se almacenará el valor que el usuario ingrese. Por tal motivo primero se declaró primero una variable llamada nombre y luego se uso cin >> nombre indicando que lo que el usuario ingrese se almacenará en dicha variable.
  • 77. Ejemplo 4 de lectura de datos en C++
  • 80. Problema 2 • Desarrolle un programa que lea dos números de tipo int de teclado y posteriormente los escriba en pantalla. • Ejecútelo introduciendo dos números de tipo int validos (por ejemplo 1500 y 802). Posteriormente ejecútelo introduciendo por teclado un primer numero de tipo int (por ejemplo 1500) e introduciendo por teclado un segundo dato que no pertenezca al tipo int (por ejemplo hola). Finalmente ejecútelo introduciendo por teclado un primer dato que no pertenezca al tipo int (por ejemplo hola). Evalué las diferencias entre ambas ejecuciones del mismo programa