Mostrando entradas con la etiqueta funciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta funciones. Mostrar todas las entradas

viernes, 29 de agosto de 2025

Pixel 10 Pro XL Mis 10 Funciones Favoritas y Novedades Impresionantes

Después de pasar una semana con el nuevo Pixel 10 Pro XL, la autora comparte sus 10 características favoritas del último teléfono premium de Google. Desde el nuevo color Jade y la pantalla más grande, hasta las innovadoras funciones impulsadas por IA, el Pixel 10 Pro XL parece ofrecer una experiencia de usuario mejorada y repleta de inteligencia artificial.

Pixel 10 Pro XL Mis 10 Funciones Favoritas y Novedades Impresionantes

Una de las características más destacadas es la edición conversacional de fotos con Google Fotos, que permite realizar ediciones complejas simplemente dando instrucciones verbales. También resalta el acceso instantáneo al 'AI Mode', una potente herramienta de búsqueda impulsada por IA que utiliza razonamiento avanzado y multimodalidad. La posibilidad de añadir una nueva fila de widgets y apps en la pantalla de inicio es otra ventaja para los amantes de la personalización.

La preinstalación de NotebookLM, una herramienta de investigación basada en IA que permite analizar documentos, vídeos y sitios web para generar resúmenes e insights, es particularmente útil. La función Pro Res Zoom, que permite hacer zoom hasta 100x manteniendo la nitidez gracias a un nuevo modelo de difusión, es otra innovación impresionante. Además, la app Journal ofrece prompts para ayudar a los usuarios a escribir sus pensamientos y recuerdos de forma privada y segura. Magic Cue, una función que conecta información dispersa en varias apps, facilita el acceso a datos relevantes en el momento preciso. Finalmente, Gemini Live proporciona guía visual en pantalla, convirtiéndose en un útil compañero de cocina y compras.

En resumen, el Pixel 10 Pro XL promete ser un dispositivo innovador que integra la inteligencia artificial de forma intuitiva para mejorar la productividad y la creatividad del usuario.

Fuente Original: https://blog.google/products/pixel/hands-on-features-pixel-10-pro-xl/

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

jueves, 28 de agosto de 2025

Nuevas Funciones de IA Generativa en Google Vids Creacion de Videos Ahora Mas Accesible

Google Vids está recibiendo una actualización importante con nuevas herramientas de IA generativa impulsadas por Veo 3, permitiendo a los usuarios transformar imágenes en videos cortos de manera sencilla. Esta nueva experiencia se enfoca en facilitar la creación de contenido visual atractivo y dinámico.

Nuevas Funciones de IA Generativa en Google Vids Creacion de Videos Ahora Mas Accesible

Los suscriptores pagos de Google Workspace, así como los suscriptores de Google AI Pro y Google AI Ultra, obtendrán acceso completo a estas nuevas funcionalidades, incluyendo la capacidad de utilizar avatares de IA y el recorte automático de transcripciones. Esto amplía las posibilidades creativas y la eficiencia en la producción de videos.

Pero la noticia más relevante es que, por primera vez, el editor básico de Vids, que incluye todas las herramientas esenciales pero sin las capacidades de IA, estará disponible para los usuarios de forma gratuita. Esto democratiza el acceso a la creación de videos, permitiendo que un público más amplio pueda crear contenido de calidad sin incurrir en costos adicionales. Para aprender a usar Vids, Google ha lanzado una serie instructiva llamada "Vids on Vids".

Fuente Original: https://blog.google/feed/new-ai-vids-no-cost-option/

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

lunes, 3 de junio de 2019

Ejemplo completo de Matrices en C

A continuación, os pongo el ejemplo que se me ha ocurrido más completo sobre gestión de Matrices en C que reúne los ejemplos que he ido poniendo anteriormente.




#include <stdio.h>;
#include <stdlib.h>;


void Ingresa_Matriz (int m[3][3], int f, int c);
void Utiliza_Matriz (int m[3][3], int f, int c);
void Visualiza_Matriz (int m[3][3], int f, int c);
void Rota_Matriz_D (int m[3][3], int f, int c);
void Rota_Matriz_I (int m[3][3], int f, int c);
void Multiplica_Matriz (int m[3][3], int f, int c, int cf, int *m0, int *m1, int *m2);

int main () {
    char ingresa;
    int m[3][3], cf = 0, direccion = 0, f = 0, c = 0;
    int m0, m1, m2;
    printf ("Deseas ingresar Matriz o utiliza la maqueta &lt;I/M&gt;: ");
    scanf ("%c",&amp;ingresa);
    if (ingresa == 'i') {
        Ingresa_Matriz(m, f, c);
    } else {
        Utiliza_Matriz(m, f, c);
    }
    Visualiza_Matriz(m, f, c);
    printf ("\nDeseas rotar la matriz a la derecha &lt;1&gt; o a la izquierda &lt;0&gt;: ");
    scanf ("%d",&amp;direccion);
    if (direccion == 1) {
        Rota_Matriz_D (m, f, c);
    } else {
        Rota_Matriz_I (m, f, c);
    }
    Visualiza_Matriz(m, f, c);
    printf ("\n¿Quieres multiplicar las filas (1) o las columnas (0)?: ");
    scanf ("%d",&amp;cf);
    Multiplica_Matriz(m, f, c, cf, &amp;m0, &amp;m1, &amp;m2);
    if (cf == 1) {
        printf ("\nMultiplicacion Fila 0: %d",m0);
        printf ("\nMultiplicacion Fila 1: %d",m1);
        printf ("\nMultiplicacion Fila 2: %d",m2);
    } else {
        printf ("\nMultiplicacion Columna 0: %d",m0);
        printf ("\nMultiplicacion Columna 1: %d",m1);
        printf ("\nMultiplicacion Columna 2: %d",m2);
    }
    return 0;
}

void Ingresa_Matriz (int m[3][3], int f, int c) {
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            printf ("\nIntroduce posicion [%d][%d]: ",f,c);
            scanf ("%d",&amp;m[f][c]);
        }
    }
}

void Utiliza_Matriz (int m[3][3], int f, int c) {
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            m[f][c]=rand()%50+1;
        }
    }
}

void Visualiza_Matriz (int m[3][3], int f, int c) {
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            printf ("[%d] ",m[f][c]);
        } printf ("\n");
    }
}
void Rota_Matriz_D (int m[3][3], int f, int c) {
    int tmp[3][3];
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
                if (c == 2) {
                    tmp[f][0]=m[f][c];
                } else {
                    tmp[f][c+1]=m[f][c];
                }
            }
        }
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            m[f][c]=tmp[f][c];
        }
    }
}

void Rota_Matriz_I (int m[3][3], int f, int c) {
    int tmp[3][3];
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            if (c == 0) {
                tmp[f][2]=m[f][c];
            } else {
                tmp[f][c-1]=m[f][c];
            }
        }
    }
    
    for (f=0;f&lt;3;++f) {
        for (c=0;c&lt;3;++c) {
            m[f][c]=tmp[f][c];
        }
    }
}

void Multiplica_Matriz (int m[3][3], int f, int c, int cf, int *m0, int *m1, int *m2) {
    // 1 Multiplica filas
    // 0 Multiplica columnas
    int c0[3], c1[3], c2[3];
    
    if (cf == 0) {
        printf ("\nMultiplicando columnas...\n\n");
        for (f=0;f&lt;3;++f) {
            for (c=0;c&lt;3;++c) {
                if (c == 0)
                    c0[f]=m[f][c];
                if (c == 1)
                    c1[f]=m[f][c];
                if (c == 2)
                    c2[f]=m[f][c];
            }
        }
    } else {
        printf ("\nMultiplicando filas...\n\n");
        for (f=0;f&lt;3;++f) {
            for (c=0;c&lt;3;++c) {
                if (f == 0)
                    c0[c]=m[f][c];
                if (f == 1)
                    c1[c]=m[f][c];
                if (f == 2)
                    c2[c]=m[f][c];
            }
        }
    }
    *m0=c0[0]*c0[1]*c0[2];
    *m1=c1[0]*c1[1]*c1[2];
    *m2=c2[0]*c2[1]*c2[2];
}

viernes, 1 de marzo de 2019

Ejercicios resueltos en C. Preguntas de examen

A continuación, voy a poner dos preguntas de examen resuelto en C.




Ejercicio 1: Escribe un programa en C, que multiplique las columnas de una Matriz 3x3.



#include <stdio.h>

int *m0,*m1,*m2;

int Multiplica_Columnas_Matriz (int m[3][3], int f, int c);
int main () {
    int m[3][3]={10,20,30,40,50,60,70,80,90}; 
    int f, c;
    
    Multiplica_Columnas_Matriz (m,f,c);
    printf ("\n\nMultiplicacion es: %d\n",m0);
    printf ("Multiplicacion es: %d\n",m1);
    printf ("Multiplicacion es: %d\n",m2);
    return 0;
}

int Multiplica_Columnas_Matriz (int m[3][3], int f, int c) {
    int c0[3];
    int c1[3];
    int c2[3];
        
    printf ("[INFO] Matriz original: \n\n");
    for (f=0; f<3; f++) {
        for (c=0;c<3;c++) {
            printf ("%i ",m[f][c]);
        } printf ("\n");
    }
    
    for (f=0; f<3; f++) {
        for (c=0;c<3;c++) {
            if (c == 0)
                c0[f]=m[f][c];
            if (c == 1)
                c1[f]=m[f][c];
            if (c == 2)
                c2[f]=m[f][c];
        }
    }
    
    m0=c0[0]*c0[1]*c0[2];
    m1=c1[0]*c1[1]*c1[2];
    m2=c2[0]*c2[1]*c2[2];
    
}


Ejercicio 2: Escribe un programa en C, en el que al introducir un número, indique la suma de sus dígitos así como indicar los dígitos.
Ejemplo: Si el número es 123, los dígitos serás 1, 2 y 3 y la suma será = 6.




#include <stdio.h>
#include <stdlib.h>
 
int v[10];  

int sumaDigitos(int Num){
    
    int Suma=0, Resto=0, contador=0;
 
    while(Num!=0){
        Resto=(Num%10);
        Suma=(Suma+Resto);
        Num=(Num/10);
        v[0+contador]=Resto;
        contador++;
    }
 
    return (Suma);
 
}
 
int main(){
    
    int Num,i,dim;
    printf("Ingresa un Numero : ");
    scanf("%d",&Num);
    
    printf("------\n");
    printf("La suma de los digitos del numero [%d] es : %d\n",Num,sumaDigitos(Num));
    while (Num !=0) {
        Num=(Num/10);
        dim++;
    }
    for (i=0;i<dim-1;i++) {
        printf ("Digito %i es: %i \n",i+1,v[i]);
    }
    return 0;
}

jueves, 14 de febrero de 2019

San Valentín (modo matemático on)

Cierto es que San Valentín (dia de los enamorados), me resulta un dia absolutamente comercial y bastante suprimible. Una forma amena de pasar este día, como otras muchas, puede ser realizando un poco de análisis matemático, ¿verdad?. ¿Como representaríais un corazón mediante una función matemática?

Hay varias, por ejemplo:


Pero una que me gusta especialmente, es la del medio corazón:


¿Verdad que no dice nada?, pues ves dándoles valores más altos al "1" de la derecha y verás lo que ocurre.


Me encantan las matemáticas, son una ciencia empírica absolutamente asombrosas, en fin.

¡Feliz día de San Valentín!

viernes, 25 de enero de 2019

Ejercicios resueltos en C. Funciones. Paso por valor y por referencia

En lenguaje C, es muy importante conocer cómo se trabaja con funciones, por ejemplo. Antes de entrar en materia con ejercicios que he resuelto, permitirme presentar la siguiente imagen, que bajo mi punto de vista es más que ilustrativa sobre en qué consiste un paso por valor o un paso por referencia y la importancia de utilizar un método u otro en función de nuestro objetivo.


Ejercicio 1: Escribir una función que sume dos números. Implemente un programa que la utilice.


#include <stdio.h>



int main () {

    int a, b;

    printf ("Numero 1: \n");

    scanf ("%d",&a);

    printf ("Numero 2: \n");

    scanf ("%d",&b);

 

    printf ("Resultado : %d",suma(a,b));

 

 

    return 0;

}



int suma (int a, int b) {

    return a+b;

}

</pre>




Ejercicio 2: Escribir un programa que reciba como argumento un conjunto de números. Calcular la media mediante una función.



#include <stdio.h>

float media (int *l,int n);
int main (int argc, char ** argv) {
    int i;
    int *lista;
    
    lista=(int *)malloc(sizeof(int *)*(argc-1)); // -1 al ser INT; +1 al ser CHAR
    if (lista == NULL) {
        printf ("ERROR");
        return 1;
    }
    
    for (i=0;i<argc;i++) {
        lista=atoi(argv[i]);
    }
    printf ("Media: %f",media(lista,(argc-1)));
    
    
    return 0;
}


float media (int *l,int n) {
    int i, suma =0;
    for (i=0;i<n;i++) {
        suma+=l[i];
    }
    return ((float)suma/(float)n);
}


Ejercicio 3: Escribir un programa que reciba una serie de cadenas de caracteres como argumentos. El programa deberá concatenarlas y dar la vuelta a la cadena resultante. La cadena que almacene la concatenación de los argumentos debe utilizar la memoria justa y necesaria.



  



#include <stdio.h>

int main (int argc, char **argv) {
    char *cadena;
    int i,largo,temp;
    
    // ¿Cuanto ocupa?
    for (i=0;i<argc;i++) {
        largo+=strlen(argv[i]);
    }
    
    // Realizo la reserva de memoria para almacenar, +1 fin de cadena
    cadena=(char *)malloc(sizeof(char)*(largo+1));
    strcpy (cadena,""); // Quito los espacios en blanco
    if (cadena == NULL) {
        printf ("Se produjo un error al reservar la memoria\n");
        return 1;
    }
    
    // Almacenamos argv en cadena
    for (i=0;i<argc;i++) {
        cadena=strcat(cadena,argv[i]);
    }
    
    printf ("\nLa cadena original es: %s\n",cadena);
    // Por último, damos la vuelta a la cadena resultante.
    for (i=0;i<strlen(cadena)/2;i++) {
        temp = cadena [i];
        cadena[i]=cadena[strlen(cadena)-1-i];
        cadena[strlen(cadena)-1-i]=temp;
    }
    
    printf ("\n-------\n");
    printf ("La cadena alterada es: %s",cadena);
    
    
    return 0;
}