Lenguaje de programación con C++

C++ es un lenguaje de programación diseñado para extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

martes, 1 de diciembre de 2015

LAB 4

Multiplicación de Matrices:

CODIFICACION:

//INICIO DE LA CODIFICACION
#include <iostream>
#include <math.h>
using namespace std;
const int n=2, m=2;
int i,j,SUMA,PROMEDIO,N,M;
int Matriz[n][m], T[n][m], A[n][m], B[n][m], C[n][m],X[n][m],Y[n][m],Z[n][m],R[n][m];
int LeerMatriz();
int SumaElementos();
int ImprimirElementos();
int MatrizIdentidad();
int MatrizTranspuesta();
int SumaMatrices();
int ElementosCentrales();
int PromedioElementos();
int MayorYMenor();
int MultiplicacionMatrices();
int main()
{
 int Opcion;
 do
 {
  cout<<"****** MENU ******** \n\n";
  cout<<"  1) LEER UNA MATRIZ   : \n";
  cout<<"  2) SUMA DE ELEMENTOS : \n";  
  cout<<"  3) IMPRIMIR LOS ELEMENTOS : \n";    
  cout<<"  4) MATRIZ IDENTIDAD : \n";  
  cout<<"  5) MATRIZ TRANSPUESTA : \n";
  cout<<"  6) SUMA DE MATRICES : \n";  
  cout<<"  7) ELEMENTOS CENTRALES : \n";  
  cout<<"  8) PROMEDIO DE ELEMENTOS DE LA MATRIZ : \n";
  cout<<"  9) CONTAR LOS MAYORES Y MENORES DE LOS ELEMENTOS DE LA MATRIZ : \n";
  cout<<" 10) MULTIPLICACION DE MATRICES: \n";
  cout<<"******************** \n\n";
  cout<<" ELIJA UNA OPCION: ";cin>>Opcion;

switch (Opcion)
{
  case 1:
  {
    LeerMatriz();  
  }; break;
 
  case 2:
  {
    SumaElementos();
  }; break;
 
  case 3:
  {
    ImprimirElementos();
  }; break;
 
  case 4:
  {
    MatrizIdentidad();
  }; break;
 
  case 5:
  {
    MatrizTranspuesta();
  }; break;
 
  case 6:
  {
    SumaMatrices();
  }; break;
  case 7:
  {
    ElementosCentrales();
  }; break;
  case 8:
  {
    PromedioElementos();
  }; break;
  case 9:
  {
    MayorYMenor();
  }; break;
  case 10:
  {
    MultiplicacionMatrices();
  }; break;
}
}while(Opcion !=0);

system ("pause");

return 0;
}

int ImprimirElementos()
{
    cout<<"****** IMPRIMIR LOS ELEMENTOS DE LA MATRIZ ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   cout<<"Matriz["<<i<<"]["<<j<<"] = "<<Matriz[i][j]<<endl;
}
   cout<<"*************************** \n\n";    
  }
 
int SumaElementos()
{
 cout<<"****** SUMA DE ELEMENTOS ***** \n";
   SUMA=0;
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   SUMA= SUMA + Matriz[i][j];
   }
   cout<<"La Suma de los elementos de la Matriz es:"<<SUMA<<endl;
   cout<<"*************************** \n\n";  
  }  
 
int LeerMatriz()
{
    cout<<"****** LEER UNA MATRIZ ***** \n";
   cout<<"Llenar datos a la matriz \n\n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
   cout<<"Matriz["<<i<<"]["<<j<<"]"; cin>>Matriz[i][j];
}
   cout<<"*************************** \n\n";  
  }
   
int MatrizIdentidad()
{
   cout<<"****** CONVIERTE A UNA MATRIZ IDENTIDAD ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       if(i!=j)
       Matriz[i][j] = Matriz[i][j] * 0;
       if(i==j)
       Matriz[i][j] = Matriz[i][j] / Matriz[i][j];
       }  
}

int MatrizTranspuesta()
{
   cout<<"****** CONVIERTE A UNA MATRIZ TRANSPUESTA ***** \n";
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       if(i!=j)
       T[i][j] = Matriz[j][i];    
}
   for (i=1; i<=n; i++)
   for (j=1; j<=m; j++)
   {
       cout<<"T["<<i<<"]["<<j<<"] = "<<T[i][j]<<endl;
       }
cout<<"**************************************** \n\n";
}

int SumaMatrices()
{
    cout<<"****** SUMA DE MATRICES ***** \n";
    cout<<"Lectura de la Matriz A[n][m]";
    for (i=1; i<=n; i++)
    for (j=1; j<=m; j++)
   {
        cout<<"A["<<i<<"]["<<j<<"]"; cin>>A[i][j];
   }
        cout<<"Lectura de la Matriz B[n][m]";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
        cout<<"B["<<i<<"]["<<j<<"]"; cin>>B[i][j];
        }
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            C[i][j] = A[i][j] + B[i][j];
        }
        cout<<"LA SUMA DE MATRICES A[n][m] + B[n][m] ES: \n\n";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            cout<<"C["<<i<<"]["<<j<<"] = "<< C[i][j]<<endl;
            }
            cout<<"***************************************** \n\n";
            }

int ElementosCentrales()
{
    cout<<"*************ELEMENTOS CENTRALES*************: \n\n";
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            if(i==j)
            cout<<"Matriz["<<i<<"]["<<j<<"] = "<< Matriz[i][j]<<endl;
            }
            cout<<"***************************************** \n\n";
            }

int PromedioElementos()
{
        cout<<"*************PROMEDIO DE ELEMENTOS*************: \n\n";
        SUMA=0;
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            SUMA=SUMA + Matriz[i][j];
            }
            PROMEDIO=SUMA/(n*m);
            cout<<"El Promedio de la Matriz es: "<<PROMEDIO<<endl;
            cout<<"***************************************** \n\n";  
}

int MayorYMenor()
{
        cout<<"*************ELEMENTOS MAYORES Y MENORES DE LA MATRIZ*************: \n\n";
        M=0;
        N=0;
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            if(Matriz[i][j]>PROMEDIO)
            M=M+1;
            if(Matriz[i][j]<PROMEDIO)
            N=N+1;
            }
            cout<<"Tiene "<<M<< "Valores Mayores al promedio de"<<PROMEDIO<<endl;
            cout<<"Tiene "<<N<< "Valores Menores al promedio de"<<PROMEDIO<<endl;
       
}
int MultiplicacionMatrices()
{
cout<<"*************** MULTIPLICACION DE MATRICES*****************:\n\n";
cout<<"Ingresa los datos de la matriz 1"<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cin>>X[i][j];
}
}
cout<<" "<<endl;
cout<<"Ingresa los datos de la matriz 2"<<endl;
cout<<" "<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cin>>Y[i][j];
}
}
Z[0][0]=X[0][0]*Y[0][0];
Z[0][1]=X[0][1]*Y[1][0];
Z[1][0]=X[1][0]*Y[0][0];
Z[1][1]=X[1][1]*Y[1][0];
Z[2][0]=X[0][0]*Y[0][1];
Z[2][1]=X[0][0]*Y[1][1];
Z[3][0]=X[1][0]*Y[0][1];
Z[3][1]=X[1][1]*Y[1][1];

R[0][0]=(Z[0][0])+(Z[0][1]);
R[0][1]=(Z[2][0])+(Z[2][1]);
R[1][0]=(Z[1][0])+(Z[1][1]);
R[1][1]=(Z[3][0])+(Z[3][1]);
cout<<" "<<endl;
cout<<"Los Resultados son:"<<endl;
cout<<" "<<endl;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
cout<<R[i][j]<<" ";
}
cout<<" "<<endl;
}
}
//~FIN DE LA CODIFICACION~

domingo, 18 de octubre de 2015

EVAP5

VIGAS EMPOTRADAS


Se refiere a las vigas que además de apoyadas en ambos extremos, son las que se deben fijar con trabes para que no se muevan o se deslicen. Para empotrar ese tipo de vigas, se usan ciertos elementos de soporte, que pueden ser tornillos, o pernos tuercas, arandelas, y remaches  de gran porte, y no uno solo sino seis o cuatro para cada caso en particular. Hay casos en los que este tipo de vigas se encuentran clavadas, de manera muy firme en una pared de extremo a extremo, pero apoyadas en otra viga que esa puede estar solo apoyada. Para colocar las vigas de una estructura se necesitan varios cálculos que quienes son los responsables de ellos son los ingenieros de la obra, es por ello que cada caso es único, y en donde se ponen este tipo de vigas, no se pueden colocar otros. Los ingenieros, mediante los cálculos y ecuaciones, llegan  a la conclusión que los momentos de fuerzas son diferentes en cada caso, es por ello que en las estructuras se hacen necesario contar con ingenieros de obra que son quienes tienen la responsabilidad de hacer las correctas formulas y llevar a cabo los trabajos. Es muy simple la explicación, se trata de las vigas empotradas cuando se encuentran firmemente sujetadas mediante los anclajes correspondientes a otro medio de apoyo que en este caso es vertical, y que sirve de apoyo o sustento.  Se hacen diagramas, planos, y estudios analizando cada detalle, ya que esas constituyen una parte fundamental en las estructuras.

VIGA EMPOTRADA EN AMBOS EXTREMOS CON CARGA UNIFORMEMENTE REPARTIDA

En  el  caso  de  viga  empotrada  en  sus  dos  extremos,  la cantidad   de   reacciones   desconocidas  supera   a  la   de ecuaciones  que la estática  dispone  para  el sistema.  Para resolver las incógnitas es necesario disponer de otras ecuaciones basadas en las deformaciones.
 Considerando que las pendientes de las tangentes trazadas en los dos extremos es nula, se plantean las siguientes ecuaciones

A= 0                       B = 0

Para establecer las ecuaciones se descompone la viga dada en tres  vigas  supuestas  que  en conjunto equivalgan  a la viga inicial.

a.- Viga  simplemente  apoyada  con  carga  uniformemente repartida.
b.- Viga simplemente apoyada con momento aplicado en el extremo izquierdo (Ma).
c.-  Viga simplemente apoyada con momento aplicado en el extremo derecho (Mb).

VIGA   EMPOTRADA   EN   UN   EXTREMO   Y  SIMPLEMENTE APOYADA EN EL OTRO, CON CARGA UNIFORMEMENTE DISTRIBUIDA.

En este caso de viga empotrada en uno de sus extremos, la cantidad  de reacciones  desconocidas  también  supera  a la de ecuaciones  de estática. Para resolver las incógnitas  es necesario disponer de las ecuaciones basadas en las deformaciones.
Considerando que la pendiente de la tangente trazada en el extremo empotrado es nula, se plantea la ecuación:

A= 0

Se descompone la viga inicial en dos vigas supuestas que en conjunto equivalen a la viga inicial.

a.- Viga  simplemente  apoyada  con  carga  uniformemente repartida.

b.- Viga simplemente apoyada con momento aplicado en el extremo izquierdo.


Vectores

En programación, una matriz o vector (llamado en inglés array) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).

En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones.

Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.

Índices
Todo vector se compone de un determinado número de elementos. Cada elemento es referenciado por la posición que ocupa dentro del vector. Dichas posiciones son llamadas índice y siempre son correlativos. Existen tres formas de indexar los elementos de una matriz:

Indexación base-cero (0): en este modo el primer elemento del vector será la componente cero ('0') del mismo, es decir, tendrá el índice '0'. En consecuencia, si el vector tiene 'n' componentes la última tendrá como índice el valor 'n-1'. El lenguaje C es un ejemplo típico que utiliza este modo de indexación.
Indexación base-uno (1): en esta forma de indexación, el primer elemento de la matriz tiene el índice '1' y el último tiene el índice 'n' (para una matriz de 'n' componentes).
Indexación base-n (n): este es un modo versátil de indexación en la que el índice del primer elemento puede ser elegido libremente, en algunos lenguajes de programación se permite que los índices puedan ser negativos e incluso de cualquier tipo escalar (también cadenas de caracteres).

Forma de acceso
La forma de acceder a los elementos de la matriz es directa; esto significa que el elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo elemento por elemento (en contraposición, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rápida a ese elemento).

Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles. El siguiente pseudocódigo muestra un algoritmo típico para recorrer un vector y aplicar una función 'f(...)' a cada una de las componentes del vector:

i = 0
mientras (i < longitud)
    //Se realiza alguna operación con el vector en la i-ésima posición
    f(v[i])
    i=i+1
fin_mientras
Vectores dinámicos y estáticos
Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de vector y del lenguaje de programación un vector podría tener una cantidad variable de datos. En este caso, se les denomina vectores dinámicos, en oposición, a los vectores con una cantidad fija de memoria asignada se los denomina vectores estáticos.

El uso de vectores dinámicos requiere realizar una apropiada gestión de memoria dinámica. Un uso incorrecto de los vectores dinámicos, o mejor dicho, una mala gestión de la memoria dinámica, puede conducir a una fuga de memoria. Al utilizar vectores dinámicos siempre habrá que liberar la memoria utilizada cuando ésta ya no se vaya a seguir utilizando.

Lenguajes más modernos y de más alto nivel, cuentan con un mecanismo denominado recolector de basura (como es el caso de Java) que permiten que el programa decida si debe liberar el espacio basándose en si se va a utilizar en el futuro o no un determinado objeto.

Ejemplos en C
Declaración en C/C++ de un vector estático.
int main(void)
{
  int i, v[5];  // v[5] es un vector de 5 componentes

  for(i=0; i<5; i++)
  {
    v[i] = 0; // Asignamos un valor
    printf("%d\n", v[i]);
    printf("\n");  // Crea una nueva línea
  }
  return 0
}
Declaración en C/C++ de un vector estático utilizando aritmética de punteros.
Siendo el identificador del vector, un puntero constante que contiene la dirección del comienzo del vector (vector[0], primer elemento)

int main(void)
{
  int i, v[5];  // v[5] es un vector de 5 componentes

  for(i=0; i<5; i++)
  {
    *(v + i) = 0; // Asignamos un valor en la dirección (vector + ((índice * sizeof (int) cantidad de bytes de desplazamiento desde la base.)
    printf("%d\n", *(vector + i));
    printf("\n");  // Crea una nueva línea
  }
  return 0
}
Declaración en C++ de un vector de STL:
#include <vector>

vector<int> v; // Si no se especifica el tamaño inicial es 0

for(int i=0 ;i<5 ;i++)
{
  v.push_back(2*i); // inserta un elemento al final del vector
}
El ejemplo anterior está hecho para el lenguaje C++. En C, para crear vectores dinámicos se tendrían que utilizar las instrucciones malloc y realloc para reservar memoria de forma dinámica (ver biblioteca stdlib.h), y la función free para liberar la memoria utilizada.

Resultado:

0 1 2 3 4
0 2 4 6 8
El resultado de los dos ejemplos es el mismo vector.

Vectores multidimensionales
En Basic, Java y otros lenguajes es posible declarar matrices multidimensionales, entendiéndolas como un vector de x dimensión. En dichos casos en número de elementos del vector es el producto resultante de cada dimensión.

Por ejemplo el vector v(4,1) tiene 10 elementos se calcula del siguiente modo: (0-4) * (0-1). Los elementos de la primera dimensión del vector contiene 5 elementos que van del '0' al '4' y la 2º dimensión tiene 2 elementos que van desde '0' a '1'. Los elementos serían accedidos del siguiente modo:

elemento 1: (0,0)
elemento 2: (0,1)
elemento 3: (1,0)
...
elemento 8: (3,1)
elemento 9: (4,0)
elemento 10: (4,1)

Ejercicios:

1.-

















































2.-








3.-






























































































































jueves, 24 de septiembre de 2015

C++

C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

Un ejemplo de programa

#include <iostream>

using namespace std;

int main ()
{
int F,A;
float P;
cin>>F;
cin>>A;
P=F/A;
cout<<P;
}
Aquí les dejo un vídeo con conceptos básicos de C++




miércoles, 16 de septiembre de 2015

EVAP4


Cálculo de secciones de líneas eléctricas
Objetivos:
El objetivo principal es el saber calcular las sección idónea de los conductores empleados
para así poder transportar la potencia con total seguridad , que dicho transporte se efectúe con un
mínimo de perdida de energía y mantener los costos de instalación en un nivel aceptable.
Concepto:

El cálculo de secciones de líneas eléctricas es un método de cálculo para obtener la sección idónea de los conductores empleados, siendo el conjunto de conductores capaz de:

· transportar la potencia requerida con total seguridad;

· que dicho transporte se efectúe con un mínimo de pérdidas de energía;

· mantener los costes de instalación en unos valores aceptables.

A la hora de dimensionar un conductor se aplican tres criterios básicos:

· que su caída de tensión ( ) esté dentro de los límites admisibles;

· que el calentamiento por efecto Joule no destruya el material aislante del conductor;

· que en caso de cortocircuito, no se destruya el conductor.

Cálculo por caída de Tensión

La caída de tensión ( )   se produce como consecuencia de la resistencia de los conductores. Como regla general, en España, se permite una (  ) máxima de: 
· 3% para cualquier circuito interior de viviendas.

· 3 % en instalaciones de alumbrado.

· 5 % en el resto de instalaciones.

La normativa puede establecer otros valores para la caída de tensión máxima admisible. Existen diversas formas de calcular la sección mínima del conductor para diferentes situaciones:

Líneas de corriente continua




Donde S es la sección del conductor,  la resistividad, la I la intensidad prevista en el conductor yla caída de tensión permitida.

Líneas de corriente alterna monofásica
Líneas de corriente alterna (trifásica)




Dónde:
 Es caída de tensión en voltios         
 Es el factor de potencia activa.

 Es la longitud del cable en metros. 
  Es la resistividad en: 
 Momento eléctrico de una línea

El momento eléctrico de una línea es el producto de la carga eléctrica por la distancia hasta el origen. Puede considerarse como el equivalente de la línea constituido por un único tramo de línea con una única carga en su extremo.

· En corriente continua:

· En corriente alterna:



Dónde:

M, momento eléctrico, en amperios por metro [A·m].

L, longitud de la línea, en metros [m].

I = intensidad de corriente eléctrica, en amperios [A].

 CosY , factor de potencia, adimensional.

Líneas con cargas irregularmente repartidas

• Momento eléctrico:

• Expresión desarrollada para este caso:







• Es el método general de cálculo de líneas por caída de tensión.

Líneas con cargas uniformemente repartidas

Son un caso particular de líneas con cargas irregularmente repartidas. Se pueden calcular como las anteriores, o mediante un método específico.

· Momento eléctrico:



· Expresión desarrollada para este caso:



Líneas alimentadas por ambos extremos a la misma tensión

En este tipo de líneas aparece el punto de mínima tensión, que es aquel en donde la C.D.T. es máxima. Dicho punto puede considerarse como el centro de gravedad de la línea. Para su cálculo:

· Obtenemos el valor de lx e ly.









· Ahora, basándonos en la Ley de Nudos de Kirchoff, vamos restando de izquierda a derecha las intensidades a , hasta el primer resultado negativo. Esta intensidad negativa debe coincidir, tanto si la calculamos de izquierda a derecha como de derecha a izquierda. El punto donde aparece dicha intensidad es el Punto de Mínima Tensión.







          ...
· Sustituimos el valor de la última intensidad empleada en los cálculos antes de llegar a un valor negativo por el valor obtenido.
División de la red por el punto de mínima tensión

Una vez seccionada la línea en dos ramas, calculamos cualquiera de las dos por uno de los métodos anteriores. El resultado será válido para las dos ramas.

Ejemplo de cálculo

Líneas en anillo

Estas líneas son, en realidad, líneas alimentadas por ambos extremos a la misma tensión, y se calculan de forma idéntica a las anteriores

Líneas con ramificaciones

En este caso, se calcula la rama principal, según los métodos anteriores, considerando la suma de todas las cargas de las ramas secundarias aplicadas en el punto de unión entre las ramas principal y secundaria.

El principal inconveniente puede ser repartir la caída de tensión entre la rama principal y las extremas. Lo podemos hacer de forma heurística o calcular la caída de tensión óptima para conseguir un volumen mínimo de conductor (criterio económico).

Cálculo Por Calentamiento

En todo momento, el conductor ha de soportar la intensidad máxima del circuito sin deteriorarse. Por ello, la intensidad nominal del conductor ha de ser mayor a la intensidad máxima del circuito.

El elemento que va a limitar la temperatura máxima a la que es capaz de trabajar el cable es su aislamiento, generalmente de material plástico. Las temperaturas máximas admisibles para los distintos tipos de aislamiento son:



Los nuevos aislamientos a base de poliolefinas termoplásticas (cables libres de halógenos) se consideran, a efectos de cálculo, como de PVC.

Cálculo Por Corriente Máxima de Corto Circuito
Por sus características (gran intensidad y corta duración), durante un cortocircuito se considera un calentamiento adiabático del conductor, es decir, todo el calor generado, se invierte en elevar la temperatura del cable.
Mediante la siguiente expresión se puede calcular la corriente máxima de cortocircuito para una sección determinada:





Dónde: El cálculo de secciones de líneas eléctricas es un método de cálculo para obtener la sección idónea del conductor a emplear, siendo este capaz de:
          transportar la potencia requerida con total seguridad;
•          Que dicho transporte se efectúe con un mínimo de pérdidas de energía;
•          mantener los costes de instalación en unos valores aceptables.
A la hora de dimensionar un conductor se aplican tres criterios básicos:
•          Que su caída de tensión ( ) esté dentro de los límites admisibles;
•          Que el calentamiento por efecto Joule no destruya el material aislante del conductor;

•          Que en caso de cortocircuito, no se destruya el conductor.
IMPORTANCIA DEL TRABAJO:
La seguridad de la instalación eléctrica depende de numerosos factores, incrementándose el peligro con la antigüedad de la instalación y el comportamiento del usuario en la utilización
de la electricidad.
Los conductores eléctricos juegan un papel importante en la seguridad de la instalación eléctrica por su impacto en la presencia de accidentes eléctricos.

El correcto dimensionamiento de las secciones y la adecuada selección de los tipos de conductores eléctricos a usar previene accidentes eléctricos como por ejemplo incendios y electrocuciones.

Es necesaria la evaluación periódica de las instalaciones eléctricas cuando tienen una antigüedad mayor a 20 años, se recomienda la renovación de los conductores eléctricos con el fin de prevenir accidentes eléctricos.


Es importante tener en cuenta que para todo tipo de modificación que se realice en la instalación eléctrica, la participación den un profesional electricista calificado.

Problema 1:
Calcular el momento eléctrico de una linea de corriente continua
considerando:
M=L*I
L=5m
I=20A


Problema 2:
Calcular el momento eléctrico de una linea de corriente alterna
considerando:
M=L*I*Cos(Y)
L=10m
I=15A
Y=30°
Cos(30°)=0.5 -> Factor de Potencia (FP)





























Problema 3:
Calcular la sección del conductor de una linea de corriente continua multiplicada por la caída de tensión.
considerando:




p=resistividad 2 ohmios mm2
L=3m
I=5A




Me guié de este vídeo:


                                                               


                                                                   

























EVAP3


Bucles:
Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetir.

Bucles Infinitos 

Bucle infinito en programación es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple. Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Bucle while

#include <stdio.h>
#include <conio.h>

int main {
int x = 0;
while(x < 10) {
printf("\x¡No acabaré nunca!\n");
}
 getch();
return 0;
}

Bucle for

#include <stdio.h>
int main(void) {
int cont;
for (cont = 0; cont < 5; cont++) {
cont = cont%4;
printf("%d\n",cont);
}
return 0;
}

Bucle Infinito
#include<stdio.h> 
#include<conio.h> 
main() 
int i=0,num=0; 
clrscr(); 
while(2>1) 
num=i+2; 
i++; 
printf("%d\n",num); 
getche(); 
return 0; 
Bucles Finito
#include <iostream>
using namespace std;
int main()
{
int contador, valor, suma, inicio, final;
double media;
cout<<"INTRODUSCA 5 NUMEROS PARA CALCULAR SU MEDIA \n ";
inicio = 1;
final = 5;
suma = 0;
for (contador=inicio ; contador <= final ; contador++){
cout << "Introduce el número " << contador << "o: \n";
cin >> valor;
suma = suma + valor;
}
media = suma / (final*1.0);
cout << "La media es " << media << endl;
}

FALLAS COMUNES EN INSTALACIONES DOMESTICAS


# 1.- Sobrecarga
Los circuitos eléctricos son diseñados para soportar una carga previamente diseñada. El diseño de un circuito implica, que por este solo puede circular una corriente máxima determinada. Esto lo define el calibre del conductor y las máximas corrientes que pueden soportar los tomacorrientes, fusibles o breakers.

Existe una sobrecarga en el circuito, cuando a este se añaden cargas que no están prevista para que el sistema les pueda suministrar la corriente que necesitan para su funcionamiento. A medida que se va agregando cargas al circuito, el consumo de corriente aumenta. En este caso se activan las protecciones eléctricas (fusibles o disyuntores)  para evitar que se sobrecalienten los conductores. 
Por ejemplo, supongamos que tengas instalado un equipo que demanda una potencia de 1.2 KVA, esta carga está diseñada para trabajar a un voltaje de 120V y está protegida por un disyuntor de 15A. Calculando la corriente de consumo, I=S/V, se tiene que esta es de 10A, por lo que el disyuntor no se dispara. Sin embargo, si se agrega una carga adicional de 0.92KVA, la potencia total que estará conectada al circuito será de ST=1.2KVA+0.92KVA=2.12KVA, generando una corriente de I=2.12KVA/120V=17.67A. Como puedes ver, en este caso la corriente supera la máxima que puede soportar el circuito, disparándose instantáneamente (unos cuantos milisegundos) el disyuntor por sobrecarga.
Algoritmo
Inicio del algoritmo
Se tiene un equipo que soporta una cierta cantidad de potencia y fue diseñado para trabajar con un voltaje de 110V y esta protegido por un disyuntor de 20A ¿ cuales son las potencias máximas y mínimas que puede tener?

DECLARACIÓN
V, A, potencia son enteros
ASIGNACION
V=110

desde <I=1> hasta< I=20 > , I++

PROCESO

potencia = V*I

RESULTADO

potencia=V*(I++)

FIN DEL ALGORITMO 

 DIAGRAMA DE FLUJO




C++




# 2.- Cortocircuito
Este se produce cuando existe un camino de baja resistencia por donde puede circular la corriente. Al ser la resistencia baja, existe un aumento drástico de la corriente eléctrica. Esta relación se puede confirmar directamente por la ley de Ohm.
Existen dos tipos de sistemas generales de alimentación. Está el sistema de corriente directa     (positivo y negativo) y el sistema de corriente alterna (potenciales y neutro), el cortocircuito se produce cuando entran en contacto dos o más de estas líneas de alimentación de un circuito.

El contacto entre las líneas de alimentación puede ser  de forma directa o indirecta. Se da el caso de forma directa, cuando entran en contacto sin medios e intermediarios, (potencial-potencial o potencial-neutro); de forma indirecta, cuando existe un medio por  donde pueda circular la corriente, para unir las líneas de alimentación opuestas, ya sea por ejemplo la carcasa del equipo, la canalización EMT o una barra metálica cercana.
Imagina que entre el potencial y el neutro de un sistema de alimentación de 120V, por alguna razón entra en contacto con un pedazo de cable que posee una resistencia de 0.3Ω. Por ley de Ohm puedes conocer la corriente en este circuito, I=V/R=120V/0.3Ω=400A, esta es la corriente de cortocircuito, y como ves, es muy elevada. Claro está, que este es un cálculo básico, a nivel de ingeniería existen algunas variantes.


Algoritmo

INICIO DEL ALGORITMO 

Un sistema de 110V entra en contacto con una resistencia de 3ohm.
Halla la corriente de corto circuito
       
DECLARACIÓN

V, A, ohm son enteros

ASIGNACIÓN
V=220
A=4 
PROCESO

I=V/ohm
  
 ohm#0
RESULTADO

I=V/(ohm#0)

FIN DEL ALGORITMO 

DIAGRAMA DE FLUJO








C++


# 3.- Perdida de aislamiento
Muchos no nos hemos escapado de una  descarga eléctrica (corrientazo) por parte de una nevera, lavadora o cualquier electrodoméstico. Los cables que suministran la energía eléctrica a estos equipos, con el tiempo se envejecen y se desgastan, tanto por vibraciones y el ambiente al que están expuestos.

La falla de aislamiento no necesariamente provoca un cortocircuito en el sistema. En muchos de los casos, solo se energiza la carcasa del equipo. Esta falla pone en peligro la vida de las personas, aumentando la posibilidad de que esta sea electrocutada. Para limitar estas fallas, se instala el cable de puesta a tierra, para desviar el flujo de corriente, y tratar de que no llegue al cuerpo de la persona.

Algoritmo

INICIO DEL ALGORITMO

   Si el cable de cobre de calibre 8 resiste nwatts.  halla la constante E 
       
DECLARACIÓN

calibre, watts, E  son enteros

ASIGNACIÓN
calibre=8

E > 0   
PROCESO

calibre* E = watts

RESULTADO

calibre *(e++..........)=watts

FIN DEL ALGORITMO 

DIAGRAMA DE FLUJO


C++



Aquí les dejo un vídeo tutorial del uso del while y el do en C++






EVAP2

                                                                     Fasores
                                                  
 Se le conoce como FASOR a aquel numero complejo constante que representa la amplitud compleja (magnitud y fase) de una función de tiempo sinusoidal.
módulo: la amplitud de la magnitud que representa.fase: la fase de dicha magnitud en t=0.
El fasor de:
 y=Y msen(wt +a)
es Y =Ye^j a
 donde
Y es el valor eficaz de y.




Forma Polar.

Como un módulo y un ángulo.
Por ejemplo la expresión: V = 311 sen (2π 50 t + ¼ π)
Se puede representar como un fasor de la siguiente manera:
V = 311
Vω = 2π 50
Φ = 45 °
En forma polar se escribe como 311 (45°) V.


Forma Binómica.

como: a + j b siendo a la parte real y b la parte imaginaria.




Con las relaciones trigonométricas seno, coseno y tangente, podemos calcular las componentes de la forma binómica (a y b) a partir del módulo del fasor y de su ángulo.

Suma y resta de fasores

Para sumar o restar dos fasores es conveniente tenerlos en forma binómica, por lo tanto se hace la suma o resta componente a componente.



Multiplicacion y división de fasores

Es más simple hacerlas en forma polar. Se multiplican o dividen los módulos según corresponde y se suman los argumentos (para el caso de la multiplicación) o se los resta (para el caso de la división).




Aquí les dejo un vídeo para entender mejor el concepto de Fasores




Diagrama de Flujo:
Suma y Resta:

Multiplicación y División:




Dev-C++
Suma:

Resta:


Multiplicación(en ángulos):


División(en ángulos):



Web grafía:
http://www.fisicapractica.com/fasores.php
http://es.scribd.com/doc/73428920/Algebra-Fasores#scribd