Está en la página 1de 6

Trabajo individual

Identificación del trabajo

a. Módulo: 3.
b. Asignatura: Programación orientada a objetos.
c. RA: Resuelve un problema enunciado, aplicando
características diferenciadoras de C++, en el ámbito de la
programación.
d. Docente Online: Susana Muñoz Hidalgo
e. Fecha de entrega: 18.10.2021

Identificación del estudiante

Nombre y apellido Carrera


Julio Mardones Ojeda Ingeniería Informática.

1
Introducción

C++ es un lenguaje de programación que proviene de la extensión del lenguaje C para


que pudiese manipular objetos, siendo diseñado a mediados de los años 80 por el danés
Bjarne Stroustrup1 y su intención fue la de extender el lenguaje de programación C (con
mucho éxito en ese momento) para que tuviese los mecanismos necesarios para
manipular objetos. Por lo tanto C++ contiene los paradigmas de la programación
estructurada y orientada a objetos, por lo que se le conoce como un lenguaje de
programación multiparadigma, lo que significa que posee instrucciones de alto nivel para
acceder a las funciones del hardware del computador. Sin embargo, con C++ también se
programan sistemas a nivel medio y bajo. La máquina virtual de Java (JVM) está
programada con C++ y demuestra su capacidad de nivel medio. La razón de lo anterior es
que C++ posee mejor rendimiento que la mayoría de los lenguajes de tercera generación
(Delphi, Java, PHP o C#) y es favorable cuando se desean programar sistemas que
tengan velocidad y desempeño.
Es por ello, que en el presente trabajo evaluado del módulo 3, se realiza un validador de
Rut mediante el uso de C++, con la finalidad de lograr los aprendizajes esperados
consistentes en resolver un problema enunciando, aplicando características
diferenciadoras de C++, en el ámbito de la programación.

1
Angel Robledano. (2019). Qué es C++: Características y aplicaciones. 17.10.2021, de
OpenWevinars Sitio web: https://openwebinars.net/blog/que-es-cpp/

2
Desarrollo

4. Junto al código, debe crear un documento en el que se deje registro de los


argumentos que condujeron al desarrollo del software y su funcionamiento.

 Se requiere un párrafo entre 3 a 5 líneas de extensión por cada bloque desarrollado


(página ingreso, página resultados, servlet controlador y controlador de despliegue,
package y clase), que explique su localización y su funcionamiento.

 Debe ser efectuado de acuerdo al formato que se indica en “estructura y aspectos


formales” y en lo presentado a continuación.
Página ingreso, página resultados, servlet controlador y controlador de despliegue,
package y clase = No aplican.
b) Atributos: Se definió la variable “rut” como un string, la cual es de carácter privado,
ello con la finalidad de que podamos posteriormente desglosar cada string del rut en base
a números enteros dentro de nuestros métodos que serán las fórmulas asociadas al
cálculo entregado en el material de estudio.
c) Métodos: Los métodos consisten en las fórmulas y su aplicación a fin de poder
generarse la validación del rut, para ello me enfoqué de acuerdo a lo solicitado en la
primera videconferencia del módulo, a saber:
- Detector de guion: Se realizó un método a fin de detectar si el usuario colocó un guion,
para ello se utilizó simplemente variables en string (guion, id y advertencia), el cual
recibirá el string del rut ingresado, aplicándose la condicional “if”, la que recibirá si hay o
no guion, dando un mensaje de error o no.
- Detector de longitud del rut: Se realizó un método que detecte si el rut fue ingresado con
el mínimo requerido, es decir 8 caracteres, por lo cual, generé una variable int
(longitud_rut) y dos string (_rut y advertencia), incluyendo la condicional “if”, con la
finalidad de que si existiera un string ingresado por el usuario menor a 10 (refiéreme a 10
porque el rut con 8 dígitos, guion y verificador, suman en total 10 caracteres), el sistema
indicará un mensaje de error.
- Detector de un 0 como primer dígito: Se realizó un método que detecte si el primer string
que se ingrese sea 0 arroje un error de que no se puede comenzar con 0. Para ello
generé 3 variables en string (primer, primer_digito y advertencia), las cuales de acuerdo a
la condición “if”, detectará si se incluyó un 0 (==”0”) lo que arrojará el mensaje de
advertencia que no se puede comenzar con un 0.
- Detector de letras a excepción del dígito K: Se realizó un método que detecte si dentro
del string hubiese una letra y no un número, a excepción de la letra “K” en el dígito
verificador, mediante una variable string (id) y una int (contador), en la cual, generé una
operación matemática con la condicional “for” e “if”, a fin de que sólo sean números
enteros los que se puedan detectar y no letras.
- Validador de rut: El más importante y fue desarrollado de acuerdo a la operación
matemática entregada en la guía de evaluación, para ello tuve que generar 10 variables

3
strings que corresponden a cada dígito del rut ingresado por el usuario, como de igual
forma 5 variables int, a fin de que el sistema pueda ejercer las operaciones matemáticas,
ya que con strings no sería posible. Igualmente tuve que aplicar las condicionales “if” y
“else if”, ya que de acuerdo a determinados resultados, debemos arrojar al usuario si el rut
es correcto o no es válido.
d) Main: Ya teniendo los métodos aplicados, ingresé un cout con determinadas
instrucciones a fin de que el usuario ingrese el rut como se pide. Posterior a ello,
simplemente se incluyen los cinco métodos con cout, (incluir_guion, longitud,
digito_primero, error_letra y validar_rut), y a fin de que teniendo ya el resultado se
mantenga estática la pantalla, acabamos con un system(“pause”).

4
Conclusión

Los lenguajes de alto nivel se desarrollaron con el objetivo de ser más accesibles y
entendibles por la mayoría de programadores, de manera que estos pudieran
concentrarse más en resolver la tarea o los problemas y no en el lenguaje que la
maquina tenía que entender.
El lenguaje C++ presenta grandes herramientas de desarrollo para los programadores
como las funciones, bibliotecas, clases y los objetos, de manera que el programador se
ocupa de utilizar dichas herramientas para resolver un problema específico.
Finalmente, las actividades realizadas en este módulo evaluativo, logran alcanzar los
aprendizajes esperados para el evaluado, a fin de que pueda comprender y aplicar, este
lenguaje de programación.

5
Bibliografía

- IPP. (2021). Metodologías de diseño de software Módulo 3. 17.10.2021, de CANVAS


Sitio web: https://ipp.instructure.com/courses/8470/assignments/syllabus
- Angel Robledano. (2019). Qué es C++: Características y aplicaciones. 17.10.2021, de
OpenWevinars Sitio web: https://openwebinars.net/blog/que-es-cpp/

También podría gustarte