Вы находитесь на странице: 1из 21

CÓDIGO: FO-DOC-112

UNIVERSIDAD DE LOS LLANOS


VERSIÓN: 01 PÁGINA: 1 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
UNIDAD ACADEMICA: Ingeniería Electrónica.
CURSO: Programación I.
PRACTICA Nº 14: Conceptos básicos de los lenguajes de programación.

1. OBJETIVOS

 Comprender los conceptos principales de los lenguajes de programación


 Reconocer los distintos tipos de lenguajes de programación.
 Analizar el compilador GCC de C++ y las distintas formas de llegar a la ejecución de un programa en
C++.
 Conocer los entornos de desarrollo comunes en el lenguaje de programación C++.
 Examinar los distintos tipos estándares en el lenguaje C++.

2. CONSULTA PREVIA

Los temas necesarios para complementar la presente práctica son:


 Introducción con los sistemas de computo (Norton, 2006).
 Procesamiento de datos y almacenamiento de datos (Brookshear, 2012)

3. FUNDAMENTO TEORICO

Al momento de brindar soluciones a problemas mediante el desarrollo de programas de computadora, es


necesario reconocer la complejidad de las mismas, ya que generar un programa para un dispositivo de cómputo,
consiste en describir el mundo real mediante instrucciones (lenguajes de computadora) que sean descifrables por
la máquina; dichas instrucciones deben ser en un formato especifico que sea comprendido por el computador,
sin embargo el tener que desarrollar soluciones robustas que trabajen sistemas operativos, redes, múltiples
dispositivos, entre otros, hace que la generación de programas en lenguaje maquina sea poco factible. Es en este
punto que se presenta una evolución en los lenguajes de programación y aparecen instrucciones similares al
pseudocódigo (Trejos, 2012), eliminando las complejidades y detalles molestos que retrasan o complican el
desarrollo de programas.

Para desarrollar un programa en los leguajes de programación tradicionales, es necesario comprender sus reglas
de sintaxis, dicha acción se asemeja cuando aprendemos un idioma diferente, en donde tenemos que reconocer
las palabras correspondientes a nuestro dialecto natal. De igual manera como trabajamos en pseudocódigo, los
lenguajes de programación se componen de una lista de sentencias o instrucciones, al igual que comentarios
(comentarios que el programador coloca y son ilegibles al momento de ejecutar un programa), otros componentes
que encontramos en un lenguaje de programación y que ya se reconocieron previamente con los temas de
algoritmia, son:

 Identificadores y variables.
 Tipos de datos.
 Estructuras de datos.
 Constantes.
 Operadores aritméticos y relacionales.
 Instrucciones de control.
 Funciones y procedimientos.
o Parámetros.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 2 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
La base esencial de poder programar en cualquier lenguaje, radica en saber cómo se implementa la sintaxis de
cada componente mencionado en la lista anterior. Teniendo claro que desarrollar soluciones a problemas desde
un lenguaje, es simplemente aplicar la misma lógica que en pseudocódigo solo que con palabras diferentes, el
proceso siguiente en el aprendizaje de la programación consiste en entender como un archivo escrito en un
lenguaje de alto nivel (muy cercano al pseudocódigo y más alejado del leguaje maquina) se traduce para generar
otro archivo de formato ejecutable por la máquina. En ello intervienen dos partes:

 Programa fuente: es el archivo en la forma original, escrito en cualquier lenguaje de programación de


alto nivel.
 Programa objeto: la versión traducida el programa fuente en un nivel bajo y perceptible por la máquina.

Las actividades a realizar para llegar del programa fuente al programa objeto son:

 Análisis léxico
Consiste en analizar las cadenas alfanuméricas escritas como un conjunto y no como unidad, se asemeja
al proceso lógico que realizamos cuando leemos en voz alta, ya que pronunciamos palabras y no
caracteres, a la agrupación de estos caracteres como entidades, se les conoce lexema (token). La tarea
del analizador léxico consiste en leer el programa fuente y clasificar los lexemas según sean valores
numéricos, palabras, operadores aritméticos, etc.; entregando la información de a qué clase pertenece,
al analizador sintáctico, cabe aclarar que en este proceso se ignoran todas las sentencias que están
encerradas como comentarios del programador.

 Análisis sintáctico
Su trabajo consiste en agrupar los lexemas en instrucciones, identificar que estructura gramatical se está
usando y cuál es su acción a realizar. Existen múltiples reglas de análisis sintáctico, las que se les
denomina gramática, la cual representa cada una de los temas anteriores vistos en la sección de
algoritmia, y se vienen a representar textualmente según cada el lenguaje de programación.

 Generación de código
Este proceso consiste en tomar las sentencias reconocidas en el analizador sintáctico y construir
instrucciones en lenguaje máquina.

Cabe aclarar que el análisis léxico, sintáctico y generación de código, son acciones que no se realizan
estrictamente en orden secuencial, en algunos casos se entrelazan de la siguiente manera:

 El analizador léxico comienza leyendo caracteres hasta que encuentra el primer lexema, inmediatamente
después lo pasa al analizador sintáctico.
 El analizador sintáctico toma el lexema y clasifica la estructura gramatical que está siendo leída.
 En ese caso tiene dos opciones:
o Si ya se reconoció una frase o instrucción completa, enviarla al generador de código para crear
instrucciones de máquina.
o Si aún no tiene una instrucción completa, solicitar más lexemas al analizador léxico.
 Cada vez que se crea una instrucción de maquina desde el generador de código, está es enviada al
programa objeto.

Teniendo claro el proceso sobre la traducción de un código fuente a objeto, es pertinente reconocer algunos
conceptos referentes a los lenguajes de programación, es en este punto que se logra diferenciar como algunos
son meramente comprendidos por la máquina y otros son más cercanos a un lenguaje similar a pseudocódigo,
los cuales requieren ser traducidos a instrucciones que sean entendidos por el dispositivo computacional. Por
tanto los lenguajes se pueden clasificar en:

 Lenguaje máquina

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 3 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
Comprensible directamente por la máquina, y a cada una de ellas entiende su propio lenguaje,
generalmente se comprende por 1´s y 0´s

 Lenguajes ensambladores
Para optimizar la programación en lenguaje máquina, se empiezan a utilizar lenguajes ensambladores,
los cuales son a base de abreviaturas en inglés, para representar operaciones elementales y con ellos
se crearon los lenguajes traductores, para generar el programa en lenguaje máquina.

 Lenguajes de alto nivel


Son lenguajes donde se pueden escribir instrucciones completas de tareas importantes, además contiene
expresiones matemáticas (C++, Java, C#, Visual Basic, etc.), en este caso los programas traductores se
conocen con el nombre de compiladores. Al proceso de creación del programa objeto se le llama
compilación, sin embargo, los lenguajes de alto nivel contienes programas intérpretes, los cuales se
desarrollaron para ir comprobando las instrucciones escritas en tiempo real (lo que ayuda en los tiempos de
compilación), lenguajes para la web como JavaScript y PHP, son procesados por intérpretes.

LENGUAJE C++

Es un lenguaje de programación de alto nivel conformado por secciones llamadas clases y funciones, fue una
evolución del lenguaje C, no dependiente del hardware y está disponible para la mayoría de dispositivos
computacionales. Sus estándares son resultados de la necesidad de evolución de C, e inicialmente C++ fue
creado como una extensión del mismo, pero al pasar el tiempo se convirtió en uno de los lenguajes más utilizados
a nivel mundial, por lo que el Instituto Estadounidense de Estándares (ANSI) junto con la Organización
Internacional para la Estandarización (ISO), ayudaron en la creación un modelo que culmino en la aprobación
de C++98 en 1998, los estándares siguientes que se presentaron son C++03 (2003), C++11 (12 de agosto 2011)
y tras la aprobación de este último el comité de estándares apresuro sus revisiones y presento pautas enfocadas
a corrección de errores y pequeñas mejoras, lo que dejo como resultado el estándar C++14 (2014), C++17 (2017)
y con una próxima revisión proyectada que se espera para el año 2020 denominada C++20.

Referente al lenguaje, las clases y funciones de C++ son piezas que se pueden programar juntas o por aparte, y
tienen la ventaja de tener extensas colecciones desde la biblioteca estándar de C++ , las cuales consisten en
un compendio de funcionalidades que colaboran a minimizar tareas al momento de programar; por tanto es de
resaltar dos tareas fundamentales en el aprendizaje, la primera se centra en aprender acerca de C++ y su
semejanza a lo visto anteriormente en algoritmia, y la segunda en el uso apropiado de las clases y funciones en
la biblioteca estándar de C++ (Apache, s/f).

COMPILACIÓN Y EJECUCIÓN DE UN PROGRAMA EN C++

Los compilados que podemos encontrar al programar en C++ son:


 C++Builder
 Carbide.c++
 Clang
 DJGPP
 G++
 GNU Compiler Collection
 Intel C++ Compiler
 Visual Age
 Visual C++

El más usado comúnmente es GNU Compiler Collection (GCC) (GNU, s/f), gracias al soporte de sus múltiples
estándares. Consiste en una colección de compiladores y tiene como característica ser de software libre.
Inicialmente solo trabajaba solo con C, pero después implemento lenguajes como C++, Fortran, Ada y otros. Al

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 4 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
momento de implementar GCC, es necesario buscar versiones precompiladas, según la plataforma existente se
presentan:

 AIX:
Archivo de software de código abierto de Bull para AIX 5L y AIX 6 ;
AIX Paquetes de código abierto (AIX5L AIX 6.1 AIX 7.1) .

 DOS— DJGPP .

 HP-UX:
Centro de puertos HP-UX ;

 Solaris 2 (SPARC, Intel):


OpenCSW
TGCware

 Mac OS:
El gestor de paquetes Homebrew .
MacPorts .

 Microsoft Windows:
El proyecto Cygwin .
Los proyectos MinGW y mingw-w64 .

 OpenPKG ofrece binarios para una gran cantidad de plataformas.

Sin embargo la instalación de estos compiladores resulta más sencilla si se trabaja con un entorno de desarrollo
(IDE - Integrated Development Environment), los cuales son paquetes completos de software, que contienen los
compiladores necesarios para programar en un lenguaje y es posible realizar el proceso de traducción del código
fuente a código objeto, sin tener que trabajar desde consola.

Compilar un código fuente en C++ desde consola:

Teniendo ya instalado nuestro compilador, el paso siguiente es generar el código fuente en un editor de texto
(Notepad++, SublimeText, etc.), un ejemplo sencillo puede ser el tradicional Hola Mundo, para ello en la presente
guía utilizaremos Notepad++, en un archivo nuevo digitamos el siguiente código:

Luego debemos guardar el código en la extensión apropiada, para que sea reconocido como un código fuente de
C++, la primera acción es desde el menú principal en la opción Lenguaje:

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 5 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Seleccionamos el tipo de lenguaje en el que estamos programando, al realizar esta acción nuestro código debe
cambiar de color:

Luego desde la opción archivo – guardar (ctrl+s) en el menú principal:

Se debe asignarle un nombre al archivo y una extensión apropiada:

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 6 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Es de aclarar que un código en C++ puede tener múltiples extensiones (*.h, *.hpp, *.hxx, *.cpp, *.cxx, *.cc y *.ino)
para esta primera etapa de aprendizaje se trabajara con *.cpp y a medida que se avance en el proceso de
formación, se dará explicación a las demás extensiones. En el presente ejemplo le colocaremos como nombre a
nuestro código fuente HolaMundo, sin olvidar poner la extensión con la que vamos a trabajar *.cpp:

Tener muy en cuenta la ruta donde guardamos el archivo, para este caso es en Documentos. Luego abrimos el
editor de comandos y buscamos la ruta en donde se encuentra guardado el archivo HolaMundo.cpp:

Se recomienda realizar un repaso de los comandos comunes de DOS, en este caso utilizaremos cd para acceder
a una ubicación en el equipo, cd.. para salir y cls para limpiar pantalla.

Por último, ya es posible realizar el proceso de compilación, para este ejemplo notar que en la carpeta donde
tenemos el programa existe un solo archivo con nombre HolaMundo:

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 7 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Para compilar el archivo se debe colocar el comando: g++ <<nombre del archivo.cpp>> -o <<nombre que le
pondremos al archivo ejecutable>>, seguido de un enter.

Si no ocurre nada en este proceso es buena señal e indica que no se encontraron errores de sintaxis al momento
de crear el código objeto, observando la carpeta origen notamos que existe un nuevo archivo, con el nombre que
le dimos al archivo ejecutable:

A continuación es posible ejecutar el código, colocando solamente el nombre que le dimos al ejecutable sin
extensiones seguido de enter:

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 8 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Perfecto ya se muestra por pantalla el mensaje “Hola Mundo!”.

Otra situación probable es cuando nuestro código fuente tiene errores de sintaxis, es allí cuando el compilador
nos indica los errores existentes y orienta en su solución, para este caso generamos un error a propósito y es
borrando el punto y coma de la línea 5, después de realizar cualquier cambio es necesario guardar nuevamente,
lo que es posible mediante ctrl+s o con el icono tradicional para guardar:

Compilamos de nuevo y observamos los mensajes al respecto:

Notar como el compilador muestra un mensaje al respecto el error y una descripción que indica la falta de un
punto y coma.

Compilar un código fuente en C++ mediante un IDE:

Un entorno de desarrollo IDE (Integrated Development Environment) es un aplicativo de software que contiene
herramientas enfocadas a facilitarle el trabajo al programador, ayuda en tareas de autocompletado, construcción
automática, contienen intérprete y/o depurador e incluso algunos colaboran en la construcción de entorno gráfico.
En el presente curso trabajaremos con el IDE Codeblocks, el cual es un entorno de libre uso (licencia pública
general GNU) y multiplataforma. Para trabajar en Codeblocks es necesario descargarlo, uno de los links mas
usados en esta tarea es: http://www.codeblocks.org/downloads/26, allí se muestran las diversas opciones para el
sistema operativo en el que se desee trabajar.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 9 de 21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
Para el caso particular del trabajo en laboratorio se seleccionó el sistema operativo Windows y la mejor opción a
descargar es la que contiene el compilador incluido.

Pasos para crear un proyecto en Codeblocks


1. Ir a Archivo.
2. Click en Proyecto

1. Seleccionar Aplicación de Consola.


2. Click en Go

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 10 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

1. Seleccionar C++.
2. Click en Next.

Click en Next.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 11 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
1. Colocar un nombre de proyecto.
2. Seleccionar una ubicación.
3. Click en Next.

Click en Finish

Y ya podemos observar en las columnas de la izquierda de la pantalla que esta creado el proyecto.

Por defecto se crea un archivo main.cpp, sin embargo este lo podemos eliminar seleccionando y oprimiendo
la tecla supr.

Y ya para trabajar apropiadamente creamos e interactuamos con nuevos archivos.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 12 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Pasos para crear, compilar y ejecutar un archivo *.cpp en Codeblocks

En un proyecto ya existente, vamos a crear nuestros archivos de los formatos que necesitemos de C++, los pasos
a seguir son:

1. Click en el icono de nuevo archivo.

Click en File (es apropiado crear archivos de esta manera, ya que se selecciona las opciones adecuadas si
se desea crear archivos de cabecera (.h) o cpp.

1. Seleccionar C/C++ source.


2. Click en Go.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 13 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Click en Next.

1. Seleccionar C++.
2. Click en Next.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 14 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Click en el símbolo de los tres puntos, con el fin de dar una ubicación y nombre al archivo.

1. Colocar el nombre que se le quiere dar al archivo.


2. Click en Guardar.

1. Click en All (útil tener seleccionadas las 2 opciones de Debug y release para que compile y ejecute
adecuadamente).
2. Click en Finish.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 15 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

Ya en este punto se tiene un archivo listo y apropiado para programar en C++.

Digitar el código fuente y para ejecutar y compilar dar click en el icono que indica la flecha.

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 16 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
Es posible crear un Hola Mundo usando funciones y primeros conceptos de la orientación a objetos (Clase,
Función, variable, objeto).

Cuando el programa funciona correctamente, se observa la siguiente imagen.

4. EQUIPOS, MATERIALES Y REACTIVOS

Software necesario para la siguiente practica:

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 17 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
 CodeBlocks.

5. PROCEDIMIENTO O METODOLOGÍA

Los pasos a seguir en la práctica son:


 Integrantes: 1.
 Lugar: sala de laboratorio.
 Tiempo de trabajo: 2 horas de clase de laboratorio.
 Actividad: Leer el documento guía para el laboratorio, desarrollar la actividad propuesta en la clase de
laboratorio, sustentar la solución al docente y si es necesario cargar la solución al medio que se indique
para cada laboratorio.

6. RESULTADOS

Investigar sobre las librerías del lenguaje C++ tomando como referencia la página web:
https://en.cppreference.com/w/cpp/header.

En donde se desarrolle una tabla explicando cada librería y principales funciones.

LIBRERÍA DESCRIPCIÓN DE LA FUNCIONES DESCRIPCIÓN DE LAS


LIBRERÍA FUNCIONES
… …

… … … …

… …

Mediante este trabajo notar las utilidades presentes en cada estándar y tomar como

 BIBLIOTECAS DE CONCEPTOS
<concepts> (desde C++20)

 BIBLIOTECA DE UTILIDADES
<cstdlib> General purpose utilities: program control, dynamic memory allocation, random numbers, sort and
search

<csignal> Functions and macro constants for signal management

<csetjmp> Macro (and function) that saves (and jumps) to an execution context

<cstdarg> Handling of variable length argument lists

<typeinfo> Runtime type information utilities


ELABORADO POR: CARGO: FECHA:
Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 18 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

<typeindex> (desde C++11) std::type_index

<type_traits> (desde C++11) Compile-time type information

<bitset> std::bitset class template

<functional> Function objects, Function invocations, Bind operations and Reference wrappers

<utility> Various utility components

<ctime> C-style time/date utilites

<chrono> (desde C++11) C++ time utilites

<cstddef> standard macros and typedefs

<initializer_list> (desde C++11) std::initializer_list class template

<tuple> (desde C++11) std::tuple class template

<any> (desde C++17) std::any class

<optional> (desde C++17) std::optional class template

<variant> (desde C++17) std::variant class template

<compare> (desde C++20) Three-way comparison operator support

<version> (desde C++20) supplies implementation-dependent library information

o Gestión de memoria dinámica


<new> Low-level memory management utilities

<memory> Higher level memory management utilities

<scoped_allocator> (desde C++11) Nested allocator class

<memory_resource> (desde C++17) Polymorphic allocators and memory resources

o Limites numéricos
<climits> limits of integral types

<cfloat> limits of float types

<cstdint> (desde C++11) fixed-size types and limits of other types

<cinttypes> (desde C++11) formatting macros , intmax_t and uintmax_t math and conversions

<limits> standardized way to query properties of arithmetic types

o Manejo de errores

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 19 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
<exception> Exception handling utilities

<stdexcept> Standard exception objects

<cassert> Conditionally compiled macro that compares its argument to zero

<system_error> (desde C++11) defines std::error_code, a platform-dependent error code

<cerrno> Macro containing the last error number

<contract> (desde C++20) Contract violation information

 BIBLIOTECA DE STRING
<cctype> Functions to determine the type contained in character data

<cwctype> Functions to determine the type contained in wide character data

<cstring> various narrow character string handling functions

<cwchar> various wide and multibyte string handling functions

<cuchar> (desde C++11) C-style Unicode character conversion functions

<string> std::basic_string class template

<string_view> (desde C++17) std::basic_string_view class template

<charconv> (desde C++17) std::to_chars and std::from_chars

 BIBLIOTECA DE CONTENEDORES
<array> (desde C++11) std::array container

<vector> std::vector container

<deque> std::deque container

<list> std::list container

<forward_list> (desde C++11) std::forward_list container

<set> std::set and std::multiset associative containers

<map> std::map and std::multimap associative containers

<unordered_set> (desde C++11) std::unordered_set and std::unordered_multiset unordered associative


containers

<unordered_map> (desde C++11) std::unordered_map and std::unordered_multimap unordered associative


containers

<stack> std::stack container adaptor

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 20 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I
<queue> std::queue and std::priority_queue container adaptors

<span> (desde C++20) std::span view

 BIBLIOTECA DE ALGORITMOS
<algorithm> Algorithms that operate on containers

<execution> (C++17) Predefined execution policies for parallel versions of the algorithms

 BIBLIOTECA DE ITERADORES
<iterator> Container iterators

 BIBLIOTECA DE NUMEROS
<cmath> Common mathematics functions

<complex> Complex number type

<valarray> Class for representing and manipulating arrays of values

<random> (desde C++11) Random number generators and distributions

<numeric> Numeric operations on values in containers

<ratio> (desde C++11) Compile-time rational arithmetic

<cfenv> (desde C++11) Floating-point environment access functions

<bit> (desde C++20) Bit manipulation functions

BIBLIOTECA DE ENTRADA/SALIDA
<iosfwd> forward declarations of all classes in the input/output library

<ios> std::ios_base class, std::basic_ios class template and several typedefs

<istream> std::basic_istream class template and several typedefs

<ostream> std::basic_ostream, std::basic_iostream class templates and several typedefs

<iostream> several standard stream objects

<fstream> std::basic_fstream, std::basic_ifstream, std::basic_ofstream class templates and several typedefs

<sstream> std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream class templates and


several typedefs

<syncstream> (desde C++20) std::basic_osyncstream, std::basic_syncbuf, and typedefs

<strstream> (deprecated) std::strstream, std::istrstream, std::ostrstream

<iomanip> Helper functions to control the format of input and output

<streambuf> std::basic_streambuf class template

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS PÁGINA: 21 de
VERSIÓN: 01
21
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGRAMACIÓN I

<cstdio> C-style input-output functions

 BIBLIOTECAS DE LOCALIZACIÓN
<locale> Localization utilities

<clocale> C localization utilities

<codecvt> (desde C++11)(deprecated in C++17) Unicode conversion facilities

 BIBLIOTECA DE EXPRESIONES REGULARES


<regex> (desde C++11) Classes, algorithms and iterators to support regular expression processing

 BIBLIOTECAS DE EXPRESIONES ATOMICAS


<atomic> (desde C++11) Atomic operations library

 BIBLIOTECAS DE SOPORTE A HILOS


<thread> (desde C++11) std::thread class and supporting functions

<mutex> (desde C++11) mutual exclusion primitives

<shared_mutex> (since C++14) shared mutual exclusion primitives

<future> (desde C++11) primitives for asynchronous computations

<condition_variable> (desde C++11) thread waiting conditions

 BIBLIOTECAS DE SISTEMA DE ARCHIVOS


<filesystem> (desde C++17) std::path class and supporting functions

Cree una carpeta con el siguiente nombre: 14_<<FECHA>>_<<COD_ESTUDIANTE>>


Guarde los archivos PSeInt (.PSC) del presente laboratorio en la carpeta que acabo de crear, luego cárguela en
el sitio web que el profesor indique (http://virtual2.unillanos.edu.co o drive del google).

7. BIBLIOGRAFÍA

Apache. (s/f). Apache C++ Standard Library User’s Guide. Recuperado el 23 de enero de 2019, de
http://stdcxx.apache.org/doc/stdlibug/noframes.html
Brookshear, J. G. (2012). Introducción a la Computación. Pearson Education.
GNU. (s/f). The GNU Standard C++ Library. Recuperado el 23 de enero de 2019, de https://gcc.gnu.org/
Norton, P. (2006). Introducción a la Computación. MCGRAW-HILL / INTERAMERICANA DE MEXICO.
Trejos, O. (2012). Consideraciones sobre la evolución del pensamiento a partir de los paradigmas de
programación de computadores. Tecnura, 16(32), 68–83.
https://doi.org/10.14483/udistrital.jour.tecnura.2012.2.a06

ELABORADO POR: CARGO: FECHA:


Zuleika Alezones Campos Docente Ocasional FCBI Julio 2018

Вам также может понравиться