4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
Conceptos básicos sobre funciones en C: que son, para qué sirven, cómo declararlas, cómo implementarlas, cómo pasar parámetros tanto por valor como por referencia, etc
Conceptos básicos sobre funciones en C: que son, para qué sirven, cómo declararlas, cómo implementarlas, cómo pasar parámetros tanto por valor como por referencia, etc
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
1. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
Como aprendió, el tipo de un a variable indica el conjunto de valores que esta pueda guardar, así
como el conjunto de operaciones que usted puede hacer con ella. Por ejemplo, con una variable de
tipo int el programa puede sumar, restar, multiplicar y dividir valores. En una cadena de caracteres,
por otra parte, no tiene sentido utilizar el operador de adición para sumar dos cadenas. Cuando
usted define una clase dentro de un programa, en esencia se define un tipo nuevo. Por tanto C++ le
permite especificar las operaciones que le corresponden a ese tipo. La sobrecarga de operadores es
el proceso de cambiar el significado de un operador (digamos de adición,+, que C++ utiliza
generalmente para hacer sumas) para que lo use una clase especifica. En esta sección definiremos
una clase llamada cadena y sobrecargaremos los operadores de la adición y sustracción. Para los
objetos de la cadena, el operador de la adición añadirá letras específicas al contenido actual de una
cadena. De modo similar, el operador de sustracción quitara cada aparición de una letra específica
de la cadena. Cuando termine esta lección comprenderá los siguientes conceptos clave:
Usted sobrecarga operadores para mejorar la legibilidad de los programas. Debe
sobrecargar un operador cuando, al hacerlo, sea más fácil de entender un programa.
Los programas de C++ usan la palabra reservada operator para sobrecarga de un operador
Cuando usted sobrecarga un operador, especifica una función que C++ invoca cada vez que
la clase usa un operador sobrecargado. La función, a su vez, ejecuta las operaciones
correspondientes.
Cuando un programa sobrecarga un operador para una clase específica, el significado del
operador cambia solo para esa clase; el resto del programa continua usándolo para que
ejecute sus operaciones ordinarias.
C++ permite a los programas sobrecargar casi todos los operadores; sin embargo, hay
cuatro que no se pueden sobrecargar.
SOBRECARGA DE LOS OPERADORES DE ADICIÓN Y SUSTRACCIÓN.
Cuando usted sobrecarga un operador para una clase, la función de aquel no cambia para
otros tipos de variables. Por ejemplo, si sobrecarga el operador de adicción para la clase
cadena , su función no cambia cuando usted tenga que sumar dos números. Cuando el
compilador de C++ encuentra el operador dentro del programa, determina que operación
debe de hacer con base en el tipo de las variables correspondientes. La siguiente definición
de la clase crea una clase llamada cadena, que contiene un miembro de datos, el cual es la
cadena de caracteres en sí. La cadena contiene varios métodos y no define operador
alguno:
2. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
PRACTICA 7.1
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
class cadena
{
public:
cadena(char *);
void sumar_letras(char *);
void quitar_letras(char);
void ver_cadena();
private:
char datos[256];
};
cadena::cadena(char *str)
{
strcpy(datos,str);
}
void cadena::sumar_letras (char *str)
{
strcat(datos,str);
}
void cadena::quitar_letras(char letra)
{
char temp[256];
int i,j;
for(i=0,j=0;datos[i];i++)
{
if(datos[i]!=letra)
temp[j++]=datos[i];
temp[j]=NULL;
}
strcpy(datos,temp);
}
void cadena::ver_cadena()
{
cout<<datos<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
cadena titulo("c++ al rescate");
cadena leccion("sobrecarga de operadores");
titulo.ver_cadena ();
titulo.sumar_letras (" al rescate!");
titulo.ver_cadena();
leccion.ver_cadena ();
leccion.quitar_letras ('e');
leccion.ver_cadena();
return 0;
}
3. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
Como puede ver, el programa emplea la función sumar_letras para agregar caracteres a la cadena
variable titulo. Además, utiliza las funciones quitar_letras para eliminar cada aparición de la letra e
de la cadena de caracteres lección. En este ejemplo usa llamadas a función para hacer tales
operaciones. Utilizando la sobrecarga de operadores sin embargo, el problema puede hacer
operaciones idénticas mediante los operadores de adición (+)y sustracción (-).
Cuando usted sobrecarga un operador, utiliza la palabra clave operator de C++ dentro del prototipo
y definición de la función para indicar al compilador de C++ que la clase ocupará este método como
operador. La siguiente definición de clase; por ejemplo utiliza la palabra operator para asignar
operadores de adición y sustracción a las funciones sumar_letras y quitar_letras. Dentro de la
clase cadena:
PRACTICA 7.2
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
class cadena
{
public:
cadena(char *);
void operator +(char *);
void operator -(char);
void ver_cadena();
private:
char datos[256];
};
cadena::cadena(char *str)
{
strcpy(datos,str);
}
void cadena::operator +(char *str)
{
strcat(datos,str);
}
void cadena::operator -(char letra)
{
char temp[256];
int i,j;
for(i=0,j=0;datos[i];i++)
{
if(datos[i]!=letra)
temp[j++]=datos[i];
temp[j]=NULL;
strcpy(datos,temp);
}
4. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
}
void cadena::ver_cadena()
{
cout<<datos<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
cadena titulo("c++ al rescate");
cadena leccion("sobrecarga de operadores");
titulo.ver_cadena ();
titulo + " al rescate!";
titulo.ver_cadena();
leccion.ver_cadena ();
leccion - 'e';
leccion.ver_cadena();
return 0;
}
Cuando usted crea sus propios tipos de datos utilizando clases, la operación común que hará es
revisar si dos objetos son iguales. Mediante la sobrecarga de operadores, los programas pueden
sobrecargar los operadores relacionales de igualdad (==), desigualdad(!=)u otros. El siguiente
programa, añade el operador sobrecargado, los programas pueden probar si dos cadenas contienen
lo mismo.
PRACTICA 7.3
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
class cadena
{
public:
cadena(char *);
char *operator +(char *);
char *operator -(char);
int operator==(cadena);
void ver_cadena();
private:
char datos[256];
};
cadena::cadena(char *str)
{
strcpy(datos,str);
}
5. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
char *cadena::operator +(char *str)
{
return(strcat(datos,str));
}
char *cadena::operator -(char letra)
{
char temp[256];
int i,j;
for(i=0,j=0;datos[i];i++)
{
//¿es la letra que se va a eliminar?
if(datos[i]!=letra)
// si no asignarla a temp
temp[j++]=datos[i];
temp[j]=NULL;
//copia el contenido de temp otra vez a datos
}
return(strcpy(datos,temp));
}
int cadena::operator ==(cadena cade)
{
int i;
for(i=0;datos[i]==cade.datos[i];i++)
if((datos[i]==NULL)&&(cade.datos[i]==NULL))
return(1);
return(0);
}
void cadena::ver_cadena()
{
cout<<datos<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
cadena titulo("c++ al rescate");
cadena leccion("sobrecarga de operadores");
cadena cade("c++ al rescate");
if(titulo==leccion)
cout<<"titulo y leccion son iguales"<<endl;
if(cade==leccion)
cout<<"str y leccion son iguales"<<endl;
if(titulo==cade)
cout<<"titulo y str son iguales"<<endl;
return 0;
}
6. Ing Gerardo García Gil SOBRE CARGA DE OPERADORES
OPERADORES QUE NO PUEDEN SOBRECARGARSE.
OPERADOR PROPÓSITO EJEMPLO
Operador miembro de clase Objeto.miembro
.
Apuntador a un operador miembro Objeto.*miembro
.*
Operador de resolución de alcance global Nombreclase::miembro
::
Operador de expresión condicional C=(a>b)?a:b
?:
LO QUE DEBES DE TENER ENCUENTA.
La sobrecarga de operadores es la capacidad de asignar un nuevo significado a un operador cuando
una clase específica lo utiliza. Mediante ella, usted puede mejorar la legibilidad de un programa y
facilitar su entendimiento al expresar operaciones de clase de modo que se tenga mayor
significado.
Para sobrecargar un operador debe definir la clase a la que lo asignara.
Cuando usted sobrecarga un operador, la sobrecarga tiene efecto solo en una clase
específica. Si el programa usa el operador con variables que no sean de esa clase, C++
emplea la definición original del operador.
Para sobrecargar un operador de clase, usted ocupa la palabra clave operator a fin de
definir el método de clase que C++ llama cada vez que una variable de clase emplea el
operador.
C++ no permite que los programas sobrecarguen el operador (.),el del apuntador a un
miembro (.*), el de resolución de alcance global (::)o el de expresión condicional (?:)
Anexo 7.1: realizar el de la práctica 7.2 pero con la siguiente clase:
class cadena
{
public:
cadena(char *);
char *operator +(char *);
char *operator -(char);
void ver_cadena();
private:
char datos[256];
};
Anexo 7.2: realizar uno con lo que aprendiste.