Practica 1, Avance
Practica 1, Avance
Practica 1, Avance
Práctica N° 01
Elaborado por:
- Nombre y Código
- Carlos Elisban Huaman Quispe 2020243481
- XXXXXXXXXXXXX XXXXXXXXXXX
- XXXXXXXXXXXXX XXXXXXXXXXX
ii
GRUPO N° 2
Presentado por:
El autor de este trabajo reconoce con gratitud a los creadores de los lenguajes C, C++ y
otras personalidades y autores de libros de programación Bjarne Stroustrup, Dennis
Ritchie, Herb Sutter, Herb Sutter, James Gosling, James Gosling, Brian Kernighan, Brian
Kernighan, Ken Thompson.
PALABRAS CLAVES
1. RESÚMEN 1
2.
2. INTRODUCCIÓN................................................................................................................................ 7
3. MARCO TEÓRICO............................................................................................................................. 8
3.1 Manejo de excepciones.............................................................................................................. 8
4. MODELAMIENTO............................................................................................................................ 11
4.1 Diagrama de clases.................................................................................................................. 11
4.2 Diagram de secuencia.............................................................................................................. 12
5. EXPERIENCIAS DE PRÁCTICA......................................................................................................13
5.1 Programa para el manejo de excepciones Try, Throw y Catch.................................................13
5.2 Añadir excepciones en C++......................................................................................................19
6. CONCLUSIONES DE LA PRÁCTICA:..............................................................................................20
7. CUESTIONARIO.............................................................................................................................. 21
8. BIBLIOGRAFÍA................................................................................................................................. 22
Práctica N° 9: Manejo de Excepciones
1. RESÚMEN
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mínimo 5 reglones
2. INTRODUCCIÓN
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
o
7
Práctica N° 1: Estructuras, Archivos y Clases en C++
3. MARCO TEÓRICO
3.1 Estructuras
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO ¿CUÁNDO LO USO?
ES? USO?
Es una estructura de datos Las estructuras se declaran con la Un ejemplo de uso es el siguiente: Se utiliza una estructura cuando
en c++ que se puede utilizar palabra struct. se necesita almacenar elementos
para almacenar elementos de diferentes tipos de datos.
de diferentes tipos de datos Una declaración separada como
definido por el usuario.[1] los tipos básicos. [3] Las estructuras de C ++ son un
tipo de valor se utiliza una
Usamos programas estructura si no tiene la intención
variables como char, short, de modificar sus datos después
int, float, etc. de la creación. [3]
1
3.1.1 Arreglos de estructuras
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO ¿CUÁNDO LO USO?
ES? USO?
Cuando se trata de muchas
Son colecciones de Para poder declarar primero se Un ejemplo de uso es el siguiente: variables del mismo tipo.
elementos análogos, las debe definir una estructura y
struct ensamblan elementos luego declarar una variable de Struct class { Se puede almacenar en la misma
diferentes. arreglo de ese tipo. Int a, b, c; matriz en diferentes índices.[5]
} estudiantes [9]
Los arreglos y estructuras se Se puede declarar mediante la
combinan para formar indexación del mismo que se
objeto de datos complejos. accede a un arreglo.[5]
[4]
Se puede contener arreglos Se puede declarar utilizando el Un ejemplo de uso es el siguiente: Usando los arreglos se pueden
como miembros, se puede operador de la misma manera que implementar otras estructuras de
acceder a ellos del mismo se accede a otros elementos de Struct class { datos como listas enlazadas
modo que se accede a otros una estructura [5] Int ar [9]; colas, arboles, gráficos, etc.
elementos de las } a1, a2, a3;
estructuras.[4] Los arreglos bidimensionales se
utilizan para representar
arreglos.[4]
1
3.1.2 Ámbito de acceso a miembros de una estructura
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO USO? ¿CUÁNDO LO USO?
ES?
Los miembros de una Usamos la palabra clave Un ejemplo de uso es el siguiente: Se accede a los elementos de
estructurada tienen struct para definir variables un arreglo mediante la
visibilidad publica y los de tipo de estructura.[6] Struct Persona variable, se accede a los
miembros de una clase { miembros de struct mediante
tienen visibilidad privada. Char nombre [10]; el operador punto.
[6] Int edad;
Float salario; El operador de acceso a
Las estructuras en C ++ }; miembros se codifica como un
pueden contener funciones Int main() periodo entre el nombre de la
miembros con variables { variable de estructura y el
miembro Persona P1; miembro de estructura al que
Cout <<” Ingrese el nombre”; deseamos acceder.[6]
Cin.get (P1. nombre,10);
Cout <<” Ingrese edad”;
Cin >> P1. edad;
Cout <<” Ingrese salario”;
Cin >> P1. salario;
Cout >> “\n muestre la información
“<<endl;
Cout >> “nombre “<<P1.nombre <<endl;
Cout >> “edad “<<P1.edad <<endl;
Cout >> “salario “<<P1.salario <<endl;
return 0;
}
1
3.1.3 Punteros
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO ¿CUÁNDO LO USO?
ES? USO?
Un puntero es una variable Se declaran como las variables Un ejemplo de uso es el siguiente: Los punteros se pueden usar
que contiene la dirección de normales, excepto por la adición Int * iptr; para pasar arreglos y cadenas o
la memoria que se ubica de del carácter unario. [7] Float*cptr; funciones de manera eficiente.
otra variable a la memoria y Es útil en aplicaciones
pueden manipular.[7] integradas y de sistemas.
1
3.2 Archivos
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO ¿CUÁNDO LO USO?
ES? USO?
Cuando se utiliza o se importa en
Los archivos son necesarios el programa de c++ mediante un # include <nombre del archivo.h> Cuando queremos usar cualquier
para almacenar cualquier procesador. #include “nombrearchivos.h” función en nuestro programa
información de manera primero se necesita importar su
permanente. Esto también definición de la biblioteca para
va para los archivos de importar su declaración el
datos [8] archivo necesitamos incluir el
archivo encabezado en el
Ifstream es una biblioteca programa usando el #include [9]
de C++
Cuando el programa se
ejecuta los datos están en la
memoria, pero cuando
termina o se apaga se
pierden [9]
Se puede utilizar varios Cuando elimino las declaraciones #ifndef HEADER_FILE_NOMBRE Cuando un archivo de
archivos en un programa de variables del archivo encabezado se incluye dos veces
Existen tipos de datos: encabezado y le pongo cpp.[9] o mas dentro de un programa.[9]
Ofstream: crear
archivos y escribir
archivos.
Ifstream: se utiliza
para leer archivos.
Fstrean: crea, escribe
y lee archivos
1
1
3.3 Clases
¿QUÉ ¿CÓMO SE DECLARA? ¿CÓMO LO ¿CUÁNDO LO USO?
ES? USO?
La declaración de una clase
La clase es una forma de implica la declaración de sus 4 Un ejemplo de uso es el siguiente: Se usa para que un objeto sea
vincular los datos que atributos asociados:[11] más legible.
describen una entidad y sus Class Dato {
funciones asociadas.[10] Los miembros de datos. Int d; Si desea definir un mismo tipo
Las funciones de Public: de variable con muchas
Una clase se usa para miembros. Int D () {return d;} propiedades, puede usar clases.
especiar la forma de un }; [11]
Niveles de acceso al
objeto y combina la
programa.
representación de datos y
Nombre de etiqueta de
métodos para manipular
clases.
esos datos.[10]
1
1. Dr,AAbdiel E. Cáceres González .; “Apuntes para el curso de(Estructuras de datos en C/C++)” [En línea]
.Disponible:https://d1wqtxts1xzle7.cloudfront.net/37329388/ESTRUCTURA_DE_DATOS__2.pdf?1429239402=&response-
content-disposition=inline%3B+filename
%3DESTRUCTURA_DE_DATOS_2.pdf&Expires=1618043170&Signature=G2SkcGGtgJce-JxrwkP1ffEqUjKhLVVaTfx5n0wk-
0lAlbwjr0MnU8n8Tv0yL5NeiUDbwxyba2O3Qh0tLVEECIkEel0P1c~BZKk2lAuvGupSSi2mRlOO3GFtItKjr20a-
DJkzyBq7SSQF4vU9HrBNNtXJFTME8wvOmbyEybtp7eTexPHUNcbPOQWhOVHYO9OUA1J09rbRy5AU8P0SZoiwhCshzmn
ApaeljHu4vjiNnm-
7bAnTZX2uFHcpdyivwx3xMg4EY1fr3dLkNOKQqXFKa~Y3x~r2H9RidrFNOCYll3jHJZ8f541F1f9mCOUvXbCNnVpafwsK1mW
k9k52V52GQ__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA [Accedido:10 abril 2021]
1
Práctica N° 9: Manejo de Excepciones
7. Richard W M Jones and Paul H J Kelly,” Backwards-compatible bounds checking for arrays and
pointers in C
Programs”., Imperial College of Science, Technology and Medicine
[En línea]. Disponible: http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.221.7393&rep=rep1&type=pdf [Accedido:10 abril 2021]
8. Luc Séméria.,” SpC: Synthesis of Pointers in C
Application of Pointer Analysis to the Behavioral Synthesis from C., Stanford University., [En
línea]. Disponible: http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.33.5977&rep=rep1&type=pdf [Accedido:10 abril 2021]
9. Ana Milanova,. Atanas Rountev., Barbara G. Ryder.,”Precise Call Graphs for C Programs with
Function Pointers” [En línea].
Disponible.,http://www.cs.rpi.edu/~milanova/docs/paper_kluw.pdf [Accedido:10 abril 2021]
10. J. Valiño J. Zarazaga S. Comella J. Nogueras P. R. Muro-Medrano
., “Utilización de técnicas de programación basadas en frames para incrementar la potencia
de representación en clases de C++
para aplicaciones de sistemas de información “,” [En línea]. Disponible
https://www.iaaa.es/curriculum/09-Otras-Publicaciones-
Congresos/cong_1997_CAEPIA_Utilizacion.pdf [Accedido:10 abril 2021]
11.Fco.Javier Ceballos Sierra:” Programación orientada a objetos c++ cuarta edición” [En línea].
Disponible: https://books.google.com.pe/books?hl=es&lr=&id=9q4-
DwAAQBAJ&oi=fnd&pg=PT6&dq=clases+en+c%2B
%2B+&ots=T5qDr5ByhC&sig=5MMcFZgEfABGB8aREJ76Mixe0EM&redir_esc=y#v=onepa
ge&q&f=false [Accedido:10 abril 2021]
4. MODELAMIENTO
4.1 XXXXXXXXXXXXX Colocar como esta organizado
Um ejemplo como se divide (El profe menciono que esto recien podremos
hacerlo cuando hagamos las clases de “Clases”)
1
6
Práctica N° 9: Manejo de Excepciones
1
7
Práctica N° 9: Manejo de Excepciones
5 EXPERIENCIAS DE PRÁCTICA
Se toma captura del código y también de lo que ejecuta. Se debe hablar de
forma breve que hace el código que se coloca aquí.
5.1 XXXXXXXXXXXXXXXXXXXXXXXXXXX.
5.2 XXXXXXXXXXXXXX
6 CONCLUSIONES DE LA PRÁCTICA:
Mínimo 3 conclusiones que muestren lo aprendido
7 CUESTIONARIO
1. ¿Qué es un tipo de dato agregado?
La agregación de datos es tipo de proceso de recopilación de datos y también recopila
múltiples fuentes de datos con la intención de combinar estas fuentes de datos.
2. ¿Qué es un tipo de dato struct?
El struct es un tipo de dato puede almacenar varios elementos relacionados.
3. ¿Cómo se declaran arreglos tipo struct?
Declara un arreglo de tipo struct es lo mismo que declarar un arreglo de tipos
fundamentales, ya que un arreglo es una colección de elementos de un mismo tipo.
4. ¿Cómo se declaran punteros a variables o arreglos tipo struct?
Almacena la dirección de la ubicación de memoria que almacena un valor del tipo al que
apunta. Ejemplo:
Int 35
Ptr |*-| -> 35 (a través de una variable puntero(ptr) se puede ingresar al valor almacenado
en la ubicación a la apunta (35))
5. ¿Cómo se accede a los miembros privados de una struct?
Se puede acceder igual a los miembros privados de una clase solo podemos acceder a ellos
dentro de las funciones de los miembros de una struct.
6. ¿Qué es un archivo de acceso secuencial?
Es un archivo creado con la ayuda de las funciones de biblioteca, los registros se
almacenan y escriben en el archivo de forma secuencial. Con los archivos
secuenciales se realizan los pasos de:
- Archivos de apertura y cierre
- Eliminar archivos
- Escribir en archivos y leer desde archivo
kGsC&oi=fnd&pg=PA7&dq=Agregación+de+datos+en+programacion&ots=UZCHo3ps
sT&sig=17Wq1qbGlbj34wbxIS3Xp-7D3XI&redir_esc=y#v=onepage&q=Agregación
%20de%20datos%20en%20programacion&f=false [Accedido:09 abril 2021]
2) Rios Patiño., Jorge Ivan., “Programación orientada a objetos en lenguajes no orientados a
objectos: c, Universidad Tecnológica de Pereira Colombia [En línea]. Disponible:
https://www.redalyc.org/pdf/849/84911948018.pdf [Accedido:09 abril 2021]
3) Yin Wang., “Structs”, MCS2514, [En línea].
Disponible:http://secure.tutorsglobe.com/Atten_files/1953_last-five-pages.pdf
[Accedido:09 abril 2021]
4) D.S.Malik., “Data Structures Using C++” ,[En línea].Disponible:
https://books.google.com.pe/books?
hl=es&lr=&id=RZQEAAAAQBAJ&oi=fnd&pg=PR7&dq=Private+Members+of+a+Stru
cture+c%2B
%2B&ots=ICFMwchWP4&sig=zoIhGOdkXDqemWUo9NsxLta36f0&redir_esc=y#v=on
epage&q&f=false[Accedido:09 abril 2021]
5) Craing M. Chase Jan.,” C++ Fundamentals”, [En línea].
Disponible:http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.36.6515&rep=rep1&type=pdf[Accedido:10 abril 2021]
6) Bruno Lopez Takeyas, M.C.,”Manejo de Archivos en Lenguaje C++”,[En
línea].Disponible:http://www.itnuevolaredo.edu.mx/Takeyas/Apuntes/Administracion_Ar
chivos/Apuntes/Manejo%20de%20Archivos%20en%20Lenguaje%20C/Manejo%20de
%20Archivos%20en%20Lenguaje%20C.pdf [Accedido:10 abril 2021]
8. BIBLIOGRAFÍA
“Estuve viendo el video de la tercera clase y menciono que aquí colocaremos los ejercicios que
están en la practica 1”
1
9