Arreglos ó Arrays

En la práctica es frecuente que enfrentemos problemas cuya solución sería muy difícil de hallar si utilizáramos tipos simples de datos para resolverlos.

Es decir, datos que ocupan una sola casilla de memoria como los enteros o flotantes.

Sin embargo, muchos de estos problemas se podrían resolver fácilmente si aplicaramos en cambio tipos estructurados de datos, los cuales ocupan un grupo de casillas de memoria y se identifican con un nombre.


Array

Un arreglo unidimensional permite almacenar N elementos del mismo tipo (enteros, reales, caracteres, cadenas de caracteres, etc.) y acceder a ellos por medio de un índice. En los arreglos unidimensionales se distinguen dos partes fundamentales: los componentes del índice.

Un vector sería algo muy similar a una lista, ademas que siempre se usan junto con bubles. En C, un array unidimensional se declara como:

Sintaxis

//Aqui solo lo declaras
tipo nombre[tamaño];

//Aqui solo lo declaras y le das valores
tipo nombre[tamaño] = {valor1, valor2, valor3 ...};

En C, el primer elemento de un array es el que posee el índice 0, por lo tanto, un array de 20 elementos posee sus elementos numerados de 0 a 19.

array

Sin embargo, el lenguaje C no comprueba el tamaño de los arrays. ¡Porque C nos odia!

array

Aquí unas notas importantes para las próximas lecciones incluso si ahora no lo entiendes.

Nota:

  • Para usar un array como parámetro de una función basta con nombre
  • Para el prototipo de la misma funcion deberia ponerse nombre[]

Por lo cual, podemos escribir:

Aquí estan unos ejemplos:

float vector[3]={-3.0,5.7,-7.5};
int secuencia[3] = {0,1,2};

También es posible inicializar arrays sin ponerles el tamaño, el compilador cuenta el número de caracteres de inicialización y reserva el tamaño necesario de forma automática. Por ejemplo:

float vector[]={-3.0,5.7,-7.5};
char cadena[]=“Esto es una cadena”;

Matriz

Un conjunto de arrays o arreglos.

Así de simple : )

La declaración de arrays de más de una dimensión se realiza de forma parecida a la de una dimensión, la sintaxis de la declaración de un array multidimensional es:

//Aqui solo lo declaras
tipo nombre[tamaño1][tamaño2]...[tamañoN];

//Aqui solo lo declaras y le das valores
tipo nombre[tamaño][tamaño2] = {{var1,var2..},{var3,var4...},{var5,var6...}};

String

Una cadena, también llamada string, es un tipo especial de array unidimensional. Una cadena es un array de caracteres (char) que termina con un carácter especial (el carácter ‘\0’).

En esto el string es diferente a un arreglo de char, que tiene un final.

Es por ello, que la declaración de una cadena de caracteres se realiza exactamente igual que la declaración de un array unidimensional de caracteres:

//Aqui solo lo declaras
char cadena[tamaño];

Como toda cadena debe terminar en el carácter ‘\0’, es por ello que si se quiere usar una cadena de 20 caracteres, debe declararse de tamaño 21 (20 caracteres + carácter terminador).


Arrays  como Punteros

Otra manera de acceder a una parte contigua de la memoria, en lugar de con un arreglo, es con un puntero.

Ya que estamos hablando acerca de las cadenas, las cuales se componen de caracteres, estaremos usando punteros a caracteres, o más bien:

char *string;

Después hacemos que apunte a la dirección de memoria del array

string = &(array[0]);

Ahora estas sentencias son iguales:

array[7];
*(string+7);

Existe una estrecha relación entre los punteros y los arrays. Consideremos el siguiente fragmento de código:

¡Ambos son exactamente igual para la máquina!

char str[80],*p;

p=str;

int str[80],*p;

p=&str[4];

Este fragmento de código pone en la variable puntero p la dirección del primer elemento del array str. Entonces, es posible acceder al valor de la quinta posición del array mediante str[4] y *(p+4) (recuerda que los índices de los arrays empiezan en 0).

Esta estrecha relación entre los arrays y los punteros queda más evidente si se tiene en cuenta que el nombre del array sin índice es la dirección de comienzo del array, y, si además, se tiene en cuenta que un puntero puede indexarse como un array unidimensional, por lo cual, en el ejemplo anterior, podríamos referenciar ese elemento como p[4].

Notación

Vector[x]; *(Vector + x);
Vector[x][y]; *(*(Vector+x) + y);
Vector[x][y][z]; *(*(*(Vector+x) + y) + z);

Sin embargo, los punteros sólo tienen una dirección, no pueden contener todos los caracteres de una matriz de caracteres. Esto significa que cuando usamos un char * para realizar un seguimiento de una cadena, debe existir el arreglo de caracteres que contiene la cadena.


Funciones – Arrays

El lenguaje de programación C utiliza parámetros por referencia para pasar los arreglos a las funciones. Cualquier modificación que se realice a los arreglos á las funciones afecta su valor original.

En la llamada a la función sólo se debe incluir el nombre del arreglo, que es un apuntador. No se deben incluir los corchetes porque ocasionan un error de sintaxis.

void NombreFuncion(NombreArray){
...
}

 

Hemos usado algo pero no hemos tenido de explicarlo, los punteros, así que…

¿Me acompañas?

btn1 btn
btn

Funciones del Sistema (scanf & printf)

En este post vamosa ver el I/O (Osea como introducir datos en nuestros programas y cómo enviar cosas a la pantalla)

O más bien en vez de enviar, debería decir…imprimir :3

Printf

  • Es la función más básica para imprimir texto por la salida estandar (osea la pantalla) .
  • Para poder ocupar necesitas la libreria stdio.h

Sintaxis Básica:

printf("Aqui va el mensaje");

¿Y que pasa si quiero escribir en la pantalla el valor de ciertas variables?

Muy fácil, simplemente sigue esta métrica:

Sintaxis con Variables:

printf("Aqui va el texto normal %Letra", NombreVariable);

Para usarse con la Variables se necesita usar el %Letra, donde Letra es:

  • %d Entero con signo
  • %o Octal
  • %x  Hexadecimal
  • %e Notación científica
  • %i Int Entero sin signo
  • %f Float / Double
  • %c Char
  • %s  String

Aquí unos ejemplos:

//Ejemplo 1
int x = 3;
printf("X vale %d", x);

//Ejemplo 2
float pi = 3.1416;
printf("Esto :%f es lo que vale pi", pi);

Dando Saltos de línea

Algo también muy útil de saber es que podemos dar saltos de línea desde este comando, mira:

//Salto de linea
printf("Texto en linea uno \n Texto en linea 2")

Controlando el Punto Flotante

Pasa algo muy cool con los números flotantes o con punto decimal y es que podemos decirle a la máquina con cuantos puntos decimales los queremos.

Así con codigo así:

float numero = 543.232;

printf("Prueba uno %f");   //Mostrará 543.232000
printf("Prueba uno %.3f"); //Mostrará 543.232
printf("Prueba uno %.1f"); //Mostrará 543.2
printf("Prueba uno %.f");  //Mostrará 543

 printf


Scanf

Si printf era nuestra manera de sacar variables a la pantalla scanf es nuestra forma de meter información desde el teclado, pero hay que dejar algo muy claro.

¡scanf es muy fácil de HACKEAR!

  • Así que usar solo para aprender.
  • Requiere que incluyamos la librería stdio.h.

Permite obtener texto del teclado introducido por el usuario, es decir escanea lo que nosotros metemos por teclado.

Sintaxis:

scanf(“%Algo", &Variable);
  • Donde esto es muy importante.
  • Donde Algo tiene que ser:
    • %i Int
    • %f Float / Double
    • %c Char

Aquí unos ejemplos:

scanf(“%i", &x);
scanf(“%f", &NumeroFlotante);

índice.jpeg


Fgets

Mucho mejor que Fgets para obtener strings.

Permite obtener texto del teclado introducido por el usuario, es decir escanea lo que nosotros metemos por teclado.

Sintaxis:

fgets(Nombre,Tamaño,Input);

Donde:

  • Nombre: Nombre del String donde se guardará el texto que recoja.
  • Tamaño: Número máximo que recoge de caracteres.
  • Input: Lugar donde recogerá esos datos, para el teclado es stdin.

Aquí unos ejemplos:

fgets(stringEjemplo,14,stdin);

Nota: Siempre, siempre al intentar recoger más de 2 strings usar, porque permite limpiar el buffer:

fflush(stdin);

Números Aleatorios

Esto es más un pequeño procedimiento muy usado, así que quise compartirlo. Esto sirve para crear número aleatorio.

Procedimiento:

#include <time.h>             //Importamos la biblioteca necesaria

srand(time(NULL));            //Plantamos una semilla de tiempo

int aux = rand()%NumeroMaximo //Guardamos en aux un número aleatorio
btn1 btn
btn

Sentencias de Control

Las sentencias de control son una manera fancy de hablar de los bucles (secciones de nuestro código que se repiten muchas veces)  y las selectivas (cuando el programa decide ejecutar una u otra sección dependiendo de una decisión) así que empecemos por la primera ¿va?

meme.jpeg

Sentencias Selectivas

IF

La más famosa y fundamental es los IF´s, estos permiten al programa con base si una condición es cierta ejecutar un bloque de código o no hacerlo.

Se ven así:

Diferentes sintaxis de IF

//FORMA BÁSICA
if(condicion){
  sentenciasSiEsVerdad;
}

//COMO OPERADOR TERNARIO
(condicion)? sentenciaVerdad:sentenciaFalsa;

//FORMA IF-ELSE
if(condicion){
  sentenciasSiEsVerdad;
}
else{
  sentenciasSiEsFalso;
}

//FORMA IF-ELSE IF- ELSE
if(condicion1){
  sentenciasSiEsVerdad1;
}
else if(condicion2){
  sentenciasSiEsVerdad2;
}
else if(condicion3){
  sentenciasSiEsVerdad3;
}
else{
  sentenciasSiEsFalsoTodo;
}

Operadores de Comparación

Lo que va dentro de condición, es muy fácil, es una pregunta que tu le harás a la máquina que podrá contestar como un sí o un no.

Deja primero mostrarte qué operadores pueden comparar:

  • != No igual
  • == Igual
  • < Menor que
  • > Mayor que
  • && And
  • || Or
  • <= Menor o igual que
  • >= Mayor o igual que

Otra cosa muy útil de saber es que para C, cualquier valor que sea distinto de cero es verdadero, siendo por tanto falso sólo si el valor cero.

Por lo tanto será verdad siempre que el valor de la variable x sea distinto de cero, sea cual sea el tipo de la variable x.

Por lo tanto podemos terminar con algunos ejemplos de condiciones:

//Ejemplo 1
double pi = 3;
int variableBasura;

if(pi < 4){
  variableBasura = 0;
}

//Ejemplo 2
int numero = 3;

if( numero != 3 ){
  printf("Nunca se va a ejecutar esto");
}

//Ejemplo 3
int condicion = 0;

if(condicion!){
  printf("Esto siempre se va a ejecutar");
}

Así es como la mayoría de los programas que conoces funcionan, veamos ahora la siguiente:

Switch

Son básicamente igual a los if, simplemente que con otra sintaxis (si, se que hay más diferencias técnicas pero no importa), aquí su sintaxis:

switch (variable){
  case const1:
    sentencia;
    ...
    break;

  case const2:
    sentencia;
    ...
    break;

  ...

  default:
   sentencia;
}

Y si, eso es un switch, (¿Ves que no muerde?), total, esta sintaxis de ahí arriba se puede entender muy fácil si te muestro un código con if´s que haría exactamente lo mismo, se vería así:

if(variable == const1){
    sentencia;
    ...
}
else if(variable == const1){
    sentencia;
    ...
}
else if(variable == const2){
    sentencia;
    ...
}
else{
    sentencia;
    ...
}

Ahora vamos a ver un segundo tipo de sentencias de control, los bucles : 3


Bubles

WHILE

Este es sin menor duda la forma más básica de un bucle, lo único que hace es que ejecuta un bloque de código una y otra vez mientras una condición sea verdad.

while (condicion){
  sentencias;
}

No puede ser tan fácil, ¿o sí?…
La verdad es que lo es, es por eso que es el bucle más poderoso, pero la verdad es que mucha gente lo acaba usando es un estilo más o menos así:

int i = 0;             //Este es nuestro contador
while (i < tope){   //Lo vamos a seguir haciendo tope veces
  sentencias;          //Ejecutamos algo
i++;                   //Aumentamos el contador en uno
}

Pero el problema es que como te das cuenta resulta poner mucho código para repetir cosas, por eso se inventó un nuevo bucle.

FOR

Este es lo mismo que el bucle while, simplemente con otra sintaxis, es más esta es la sintaxis:

for (inicialización; condición; incremento){
  sentencia;
}

Así el último código que vimos con los whiles, se vería así con for:

for (i=0; i<tope; i++){
  sentencia;
}

Mucho más bonito y organizado ¿verdad?

Perfecto, ya casi terminamos, ya solo falta el final, te mostraré el último bucle, el do while.

DO WHILE

Al contrario que los bucles for y while que comprueban la condición en lo alto de la misma, el bucle do/while comprueba la condición en la parte baja del mismo, lo cual provoca que el bucle se ejecute como mínimo una vez. La sintaxis del bucle do/while es:

do{
  sentencia;
}
while(condicion);

Break y Continue

Las sentencias de control break y continue permiten modificar y controlar la ejecución de los bucles anteriormente descritos.

  • La sentencia break provoca la salida del bucle en el cual se encuentra y la ejecución de la sentencia que se encuentra a continuación del bucle.
  • La sentencia continue provoca que el programa vaya directamente a comprobar la condición del bucle en los bucles while y do/while, o bien, que ejecute el incremento y después compruebe la condición en el caso del bucle for.
btn1 btn
btn

Tipos de Datos y Sintaxis

Esta lección es rara : /

Por un lado hoy toca aprender básicamente toda la teoría que veremos en el curso (cosa que puede llegar a ser bastante aburrida), así que mientras vemos todo eso de teoría te ire contando como hacer tu primer programa en C.

¿Lo recuerdas?

//Hola Mundo C:
#include &lt;stdio.h&gt;

int main(void) {
  printf(“Hola Mundo”);
  Return 0;
}

 hola-mundo

Bueno, pues la primera línea que ves ahí es un comentario, así que empecemos por ahí:

Comentarios

Antes que nada (y ya para quitarme eso de encima), aquí esta como se escriben los comentarios en C:

//Comentario de una línea para algo rápido

*/ Comentario largo,
ideal para la Documentación */

Espera, espera…

¿Qué es un comentario? Ahhh, muy buena pregunta, es básicamente un pequeño texto que tienes en tu código fuente y que la computadora ignora, te sirve para poderte dejar notas para ti o para otros para que entiendan que estas haciendo.


Tipos de Datos

Los tipos de datos son como la máquina interpreta ceros y unos.

En C existen cinco tipos de datos:

Tipo de Dato Descripción
char ·  Almacenan: Carácter ASCII

· Tamaño: 1 Byte

· Usan comillas simples   ‘a’.

int ·  Almacenan: Entero entre -32.768 y 32.767.

· Tamaño: 2 Bytes

float ·  Almacenan: Decimales

· Tamaño: 4 Bytes

·  Siempre llevan un f al final

double ·  Almacenan: Decimales con presición

· Tamaño: 8 Bytes

·  Siempre llevan un lf al final

void ·  Uso especial


Variables

Las variables son pequeños trozos de memoria RAM que tu programa va a ocupar para llenarlos de información ( básicamente de «1» y «0» ) y los tipos de datos son cómo es que tu computadora interpreta esos «1» y «0».

Declarar una variable es algo que hacemos en algunos lenguajes de programación, y que básicamente sirve para decirle a tu computadora: Reserva espacio de memoria para que yo pueda guardar un número o una letra o cualquier cosa.

En C, toda variable, antes de poder ser usada, debe ser declarada, especificando con ello el tipo de dato que almacenará. Toda variable en C con estas sintaxis:

Forma Basica

TipoDeDato NombreDeDato;

O también puedes declarar varias variables al mismo tiempo (¡No es asombroso!)

TipoDeDato Dato1, Dato2, Dato3;

También puedes ponerte más abusado y declararlas e inicializarlas (¡Todo en una misma línea, esto es asombroso!):

TipoDeDato Dato1 = Valor;
TipoDeDato Dato2 = Valor2, Dato3 = Valor3;

Así que ya que te sabes todas las formas de declarar variables en C, podemos empezar con algunos ejemplos:

float a;
char letra, otraLetra;
int salon = 1200, dinero = 22;

Variables Globales y Locales

En C, las variables pueden ser declaradas en cuatro lugares del módulo del programa:

  • Fuera de todas las funciones del programa, son las llamadas variables globales, accesibles desde cualquier parte del programa.
  • Dentro de una función, son las llamadas variables locales, accesibles tan solo por la función en las que se declaran.
  • Como parámetros a la función, solo existen dentro de la función.

Variables Estáticas

En C, una variable estática es una que sin importar por ejemplo que esté dentro de una función mantendrá su valor entre invocaciones.

int funcionEstupida(){
   static int numeroQueNoSeBorra = 3;
}

Modificadores

Modificador Tipos de actuación Tipos de actuación
signed char int Con signo (por defecto)
unsigned char int Sin signo
long int double Largo
short int Corto
const Todos Variable de valor constante
volatile Todos Variable cuyo valor es modificado externamente

Por lo tanto, podemos crear algo como lo siguiente:

long int NumeroMuyGrande;
long long int NumeroMuyMuyGrande;

Códigos

Código Significado
\b Retroceso
\f Alimentación de hoja
\n Nueva línea
\r Retorno de carro
\t Tabulador horizontal
\” Doble comilla
\’ Simple comilla
\0 Nulo – Final de Cadena
\\ Barra invertida
\o Constante octal
\x Constante hexadecimal

Operadores Matemáticos

Símbolo Operación
+ Suma
Resta
* Multiplicación
% Módulo

Resto de división

Simplificaciones

Forma Simple Forma Compleja
x += y x = x+y
x -= y x = x-y
x *= y x = x*y
x /= y x = x/y
x++ x = x+1
x– x = x-1

Lógicos

Operador Significado
!      NOT
>      Mayor que
<      Menor que
==     Igual
&&      AND
||      OR
>=      Mayor o igual que
<=      Menor igual que
!=      No igual


Preprocesador

En un programa escrito en C, es posible incluir diversas instrucciones para el compilador dentro del código fuente del programa. Estas instrucciones dadas al compilador son llamadas directivas del preprocesador y, aunque realmente no son parte del lenguaje C, expanden el ámbito del entorno de programación de C. El preprocesador, definido por el standard ANSI de C, contiene las siguientes directivas:

#if, #ifdef, #ifndef, #else, #elif, #endif
#include, #define, #undef, #line, #error, #pragma

DEFINE

Son una instrucción para el compilador de manera que siempre que vea este texto lo sustituye con el otro valor que le damos.

Sintaxis:

 #define PalabraABuscar PalabraASustituir;

Ejemplo:

#define pi 3.1416;

INCLUDE

La directiva #include fuerza al compilador a incluir otro archivo fuente en el archivo que tiene la directiva #include, y a compilarlo.

Sintaxis:

 #include

Ejemplo:

#include &lt;stdio.h&gt;;

Bibliotecas

Una biblioteca es un archivo en C del que nuestro programa puede usar su codigo, podemos hablar de 2 elementos muy importantes:

Biblioteca.c

Biblioteca.h

El primer archivo que tenemos es donde se encuentran las funciones que vamos a ocupar mientras que en el segundo tenemos los encabezados, de ahí el .h

Las más comunes son:

stdio.h Biblioteca estándar para entrada / salida
time.h Biblioteca usada para controlar el tiempo
math.h Biblioteca usada para usar funciones de matemáticas
stdlib.h Biblioteca usada para funciones estandar (memoria dinámica)

Así que has llegado hasta el final, estoy muy orgulloso de ti mi pequeño aprendiz, ahora si que estas listo para entender tu primer programa:

¿Lo recuerdas?

//Hola Mundo C:           -&gt;Comentario
#include &lt;stdio.h&gt;;     //-&gt;Biblioteca

int main(void) {       //-&gt;Aqui esta el main, dentro haremos todo
  printf(“Hola Mundo”);//-&gt;Muestra por pantalla el Hola mundo
  return 0;            //-&gt;Regresa un cero
}                      //-&gt;Fin del programa

 

 ¿No entiendes nada?

No te preocupes, no esperaba que lo hiciera, como te has dado cuenta incluso un programa básico tiene muchas partes, y cosas muy raras como ese int o printf ¿Qué significan?

No te preocupes, ya llegaremos a eso, por ahora nos falta solo una lección y podrás ya entender por fin ese codigo, ¡aguanta!

Da click aquí para seguir

btn1 btn
btn

Introducción a C

 

Fuentes.png

Historia y Datos útiles de C

denis.jpg

Adora a tu nuevo Dios ¡De rodillas!

C fue creado por Dennis Rietchie. C es el resultado de un proceso de desarrollo que comenzó con un lenguaje anterior, el BCPL, o mejor conocido simplemente como B.

Por eso se llama C….porque el lenguaje anterior era B (Sip, esa es la explicación más estúpida que se me ocurre tambien a mi).

 


¿Y porque es tan importante ese tal Dennis?

Cita.png

Mi humilde traducción a este:

dennis_ritchie

Precioso meme

El es uno de los padres de la computación actual, si hoy en día tenemos celulares en nuestras casas, ordenadores, o demás es porque el motivado el gran boom! del software.

El al crear C,  que es lo que ha hecho crecer al mundo de los ordenadores, hablando de fechas, el creo C en 1972 mientras trabajaba para Bell Labs junto con Kerrigan todo el equipo estaba trabajando en el desarrollo de un nuevo sistema operativo….UNIX. C fue creado con un solo propósito: CREAR Y TRABAJAR en UNIX.

unix

 

Además, el lenguaje C no es rígido en la comprobación de tipos de datos, permitiendo fácilmente la conversión entre diferentes tipos de datos y la asignación entre tipos de datos diferentes.

//Por lo tanto puedo hacer cosas como:

int arreglo[10];
arreglo[11] = 4;

C es un lenguaje sensible al contexto, por lo cual, C diferencia entre mayúsculas y minúsculas, y por tanto, diferencia entre una palabra escrita total o parcialmente en mayúsculas y otra escrita completamente en minúsculas.

//Esto para la maquina es diferente:
int VARIABLE;
int Variable;
int variable;


¿Es C un lenguaje de «alto nivel»?

Pues tiene todas las características de un lenguaje de alto nivel, pero la gran ventaja de C es que nos permite estar cerca del procesador y hacer más cosas orientadas a hardware que las de los demás lenguajes, justo por eso usan este lenguaje para PIC o aparatos parecidos.

¿Cómo programo en C?

Todo programa de C consta (sin ponernos de complejos) de un conjunto de funciones, y una función llamada main (por favor, por favor, nunca olviden poner el main), la cual es la primera que se ejecuta al comenzar el programa, llamándose desde ella al resto de funciones que componen nuestro programa.

Pero bueno, basta ya de aburrirlos con muchas palabras, es hora de aprender algo de verdad divertido: ¡Las variables!

Así que si, es hora de empezar a ver un poco de Sintaxis.

Pero antes es hora de que me lo quite de encima, así es como se ve el programa mínimo en c.


Formato de un Programa Básico

//Hola Mundo C:
#include <stdio.h>

int main(void) {
  printf(“Hola Mundo”);
  Return 0;
}

 ¿No entiendes nada? No te preocupes, ese es el objetivo de la siguiente lección.

Da click para seguir

btn1 btn
btn

Teoremas de Integrales

Teorema de la Divergencia de Gauss

Suponga que V es el volumen limitado por una superficie cerrada S y que A es una función vectorial  de posición con derivadas continuas, donde n es la normal positiva (dirigida hacia fuera) a S.

Entonces:

guass

Ejemplo:

El pase de diapositivas requiere JavaScript.


Teorema de la Stokes

Suponga que S es una superficie abierta, de dos lados, limitada por una curva C cerrada que no se interseca a sí misma (curva simple cerrada), y suponga que A es una función vectorial de posición con derivadas continuas.

Entonces:

stokes

 Ejemplo:

El pase de diapositivas requiere JavaScript.


Teorema de Green

Suponga que R es una región cerrada en el plano xy, limitada por una curva simple cerrada, C, y que M y N son funciones continuas de x y y que tienen derivadas continuas en R. Entonces:

green

Donde C se recorre en la dirección positiva (en sentido contrario al movimiento de las manecillas del reloj).

Ejemplo :

El pase de diapositivas requiere JavaScript.

…. Y listo ¡Has dominado todos, y digo TODOS los temas de Análisis Vectorial.

¡Eres genial!

btn

Integrales de Línea, Superficie y Volúmen

Integral de Línea

Aquí está, ahora mismo se ve bastante como las demás, ¿no es así?

Tú tranquilo, ya verás como todo se pone peor : )

integrales

Curva Cerrada

Si C es una curva cerrada (que supondremos es una curva cerrada simple, es decir, una curva que no se intersecta consigo misma en ningún punto), es frecuente denotar la integral alrededor de C.

curva.png

Aquí un ejemplo:

El pase de diapositivas requiere JavaScript.


Integrales Dobles

superficial

De la misma manera en que la integral de una función positiva de una variable definida en un intervalo puede interpretarse como el área entre la gráfica de la función y el eje x en ese intervalo, la doble integral de una función positiva de dos variables, definida en una región del plano xy, se puede interpretar como el volumen entre la superficie definida por la función y el plano xy en ese intervalo.

normal

Al realizar una «integral triple» de una función definida en una región del espacio xyz, el resultado es un hipervolumen, sin embargo es bueno notar que si el resultado se puede interpretar como el volumen de la región de integración.


Integral de Superficie

Sea S una superficie de dos lados.Un lado de S se considera de manera arbitraria como el positivo (si S es una superficie cerrada, como una esfera, entonces el lado exterior se toma como el positivo).

superficie

Una normal unitaria, n, a cualquier punto del lado positivo de S se llama normal unitaria positiva o dirigida hacia fuera.

Asociemos con la diferencial de la superficie, dS, un vector dS de magnitud dS y cuya dirección es la de n. Entonces, dS = ndS. La integral

Podemos denotar en el plano XY como:

ejemplos

Aquí un ejemplo:

Ejemplo 1:

El pase de diapositivas requiere JavaScript.

Ejemplo 2:

El pase de diapositivas requiere JavaScript.


Integral de Volumen

Considere una superficie cerrada en el espacio que encierra un volumen V. Entonces, las integrales de volumen o integrales espaciales, se denotan como sigue:

volumen

El pase de diapositivas requiere JavaScript.

¿Se ve difícil? Es hora de hacerlo más fácil… ¡Con los teoremas de Integrales!

btn1 btn
btn

La Integración Vectorial

Introducción

Todos una vez que sabemos estas cosas solemos decir que la integrales son mucho más difíciles que las derivadas, pero con vectores ¡Ja!, es mucho más.

Así que sin más es hora de empezar:

funcion.png

Sea un vector que depende de una sola variable escalar, u, donde se supone  que todas sus componentes son continuas en un intervalo específico.

Entonces las integrales son bastantes sencillas:

integral.png

Ejemplo:

ejemplo.png

Y ya, esto podría decirse que es la parte fácil, pues lo bueno viene ahora, cuando llegamos a la partes especial que tienen las integrales aquí, que pueden ser de línea, superficie o volumen...Así que pónganse los cinturones que se acaba de terminar lo lindo:

Acompañame a:

Integrales de Línea, Superficie y Volúmen

btn1 btn
btn

Campos Escalares y Vectoriales

¿Qué son los campos?

En física, un campo representa la distribución  de «algo» es decir, es una propiedad que puede medirse en el entorno de cada punto de una región del espacio para cada instante del tiempo.

Matemáticamente, los campos se representan mediante una función definida sobre una cierta región. Gráficamente, se suelen representar mediante líneas o superficies de igual magnitud.


Campos Escalares

campo

En matemáticas y física, un campo escalar representa la distribución espacial de una magnitud escalar, asociando un valor a cada punto del espacio. En matemáticas, el valor es un número; en física, una magnitud física.

campo2.png

Un campo escalar es una función que a cada punto del espacio le asigna un valor de una magnitud escalar, definida por un número (su magnitud) con su signo, y su unidad.

Suponga que a cada punto (x, y, z) de una región en el espacio le corresponde un número (escalar) Φ(x, y, z). Entonces Φ se denomina función escalar de posición, y decimos que se ha definido un campo escalar Φ.

Ejemplo: Φ(x, y, z)= 3x-2y+z


Curvas de Nivel

Son simplemente como se ve ese campo con con cierto parámetro estable, hay varios muy famosos, aquí se los dejo:

circuloeq

circulo

Círculo


eq0

hiperbola.png

Hipérbola


eq10

cn

paraboloide


eq13

cn2

Paraboloide Hiperbólico


eq3

cn3.png

Hiperboloide


Derivada del Campo Escalar

derivada.png


Campos Vectorial

Suponga que a cada punto (x, y, z) de una región en el espacio, le corresponde un vector V(x, y, z). Entonces V se llama función vectorial de posición, y decimos que se ha definido un campo vectorial V.

Ejemplo: V(x, y, z)= (3x+2)i+(2z)j+(y+3x)z

vectorial.png

 


Campo Conservativo

Es un campo vectorial bastante especial, te contaré los requisitos para que tu campo vectorial sea conservativo:

  1. Su rotacional es cero.

¡Listo!

Si lo anterior es cierto, entonces existe un campo escalar tal que:

conservativo

Entonces podemos decir que el campo escalar contiene toda la información del campo original, también lo llamamos CAMPO POTENCIAL.

Y podemos definir 2 características que te serán muy útiles en el futuro:

  • La integral es independiente de la trayectoria.

con2.png

  • La integral cerrada siempre será cero, sin importar la trayectoria.

con1


 

 

Ahora es hora de que vamos a la guerra si o si, vamos por las Integrales ¡Corre!

btn1 btn
btn

Laplaciano ∇ ·∇f: De escalar a escalar

…espera ¿qué? ¿Còmo que de escalar a escalar?¿Qué sentido tiene eso?

Si, y es que la divergencia del gradiente de una función escalar tiene un nombre en especial y se llama Laplaciano.

Es sencillo de entender, es solo:

laplaciano

Y ya, si, sé que creíste que sería más difícil, pero a veces las cosas son más sencillas de lo que parecen.

Así que toma a una tortuga a cambio.

Art016.jpg

¡Wiii!

Ahora es hora de lo bueno, INTEGRACIÓN VECTORIAL…

SI ¡VAMOS, QUE EMPIECE LA GUERRA!

(o también puedes empezar despacio por aprender de los campos)

btn1 btn
btn