Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Guia de ejercicios de electronica analogica, Ejercicios de Electrónica

Guia de ejercicios de electronica analogica

Tipo: Ejercicios

2021/2022

Subido el 05/11/2022

florencia-robledo
florencia-robledo 🇦🇷

1 documento

1 / 101

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
COMPUTACION II
INFORMATICA II
Ingeniería Electrónica y Bioingeniería
Guía de Práctica Nº 1
Problemas resueltos y propuestos
sin utilizar funciones
Departamento de Electrónica y Automática
Facultad de Ingeniería
Universidad Nacional de San Juan
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Guia de ejercicios de electronica analogica y más Ejercicios en PDF de Electrónica solo en Docsity!

COMPUTACION II

INFORMATICA II

Ingeniería Electrónica y Bioingeniería

Guía de Práctica Nº 1

Problemas resueltos y propuestos

sin utilizar funciones

Departamento de Electrónica y Automática

Facultad de Ingeniería

Universidad Nacional de San Juan

Computación II / Informática II – Guía de Problemas sin Funciones Analisis mediante un conjunto de datos de prueba

PROBLEMA 1:

Escribir un algoritmo que permita leer un valor entero y un real, que calcule y muestre la potencia del

valor real elevado al valor entero, utilizando la técnica de productos sucesivos para la potenciación.

#include <stdio.h> int main( ) { int base, nro_repeticiones; float exp, prod=1; printf("\n Ingrese el valor de la base: "); scanf("%f%c", &base); printf("\n Ingrese el valor del exponente: "); scanf("%d%c", &exp); for( nro_repeticiones=1; nro_repeticiones <= exp; nro_repeticiones++ ) { prod = base; / Equivale a colocar prod = prod * base */ printf( "En la repeticion:%d\n", nro_repeticiones); printf( "En esta vuelta el valor de producto corresponde:%f\n\n", prod ); } printf("\n\n El valor de la base elevado al exponente es:%f\n", prod ); return 0; } Por teclado se debe ingresar el conjunto de datos de entrada: base y exponente, mediante las dos variables declaradas en el ambiente: base y exp. Si bien el resultado final se muestra a partir de la variable de salida prod, esta variable sufre ciertos cambios de valores a medida que se ejecuta el programa editado en C. Por pantalla se muestra toda la evolución. Por lo que se podría utilizar para observar el valor de cda variable a medida que corre el programa. Se propone el siguiente conjunto de datos de prueba para verificar el funcionamiento:

Lectura

Calcular

Potencia

Mostrar resultados intermedios

Leer valor entero

(exponente)

Leer valor

real (base) Multiplicar

Resultado x Base

Acumular

Repetir N veces según exponente

Mostrar

resultado

final

Problema 1

Computación II / Informática II – Guía de Problemas sin Funciones #include <stdio.h> int main( ) { int dato=0, cont_total=0, cont_par=0, sum=0; float porc=0, prom=0; printf("\n Ingrese el dato: "); scanf("%d%c", &dato); while( (dato!=-50) && (cont_total!=1000) ) { cont_total++; if(dato % 2 == 0){ cont_par++; } sum+=dato; printf ("\n Ingrese el dato: "); scanf("%d%c", &dato); } printf ("\n La cantidad de elementos es: %d", cont_total); if( cont_total!=0 ) { porc =(float)(cont_par*100)/cont_total; prom =(float)sum/cont_total; } printf( "El porcentaje de los pares es: %8.2f%\n", porc ); printf( "El promedio de los datos ingresados es: %8.2f\n", prom); return 0;

Hacer un análisis del funcionamiento del algoritmo mediante un conjunto de datos de prueba,

completando los valores de la tabla, tal como el ejemplo modelo.

dato conttotal contpa sum porc prom 2 17 26 122

Problema 2

Leer 1

elemento

Contar

elemento

Contar elemento par

Acumular

valor del

elemento

leído

Calcular y mostrar promedio Calcular y mostrar porcentaje de elementos pares

Mostrar Cantidad

Para los que el resto de su división entera por 2 sea 0 Para todos los datos ingresados, hasta que se ingresen 1000 datos o el dato ingresado sea -

Computación II / Informática II – Guía de Problemas sin Funciones 1 45

Problema 3

Un conjunto de pintores requiere que sus pinturas tengan una densidad entre 100 y 120 unidades

inclusive para ser aceptadas, si la densidad no está comprendida en el rango especificado se

considera como rechazada. Se deben ingresar los valores de densidad correspondientes a N

muestras de pintura y la primer letra del color que corresponde. Se solicita calcular e imprimir:

a) La cantidad de muestras de pintura rechazadas. b) El promedio de densidad de las muestras aptas para la aplicación. c) La cantidad de muestras de color blanco que sean aptas.

Problema 4

Realizar un algoritmo que permita leer un valor R y un conjunto de N de números reales (máximo

100), y que calcule y escriba:

a) La cantidad de valores mayores que el primero ingresado. b) El promedio de los valores positivos menores que R. c) El porcentaje de valores positivos pares.

Problema 5

Una fábrica de botellas requiere que el espesor del vidrio de sus productos esté comprendido en el

rango de 1,1 y 1,5mm. Leer como máximo 1000 valores de espesor o terminar la lectura si el valor

ingresado es negativo. Calcular e imprimir:

a) La cantidad de botellas que no cumplen la especificación. b) El promedio de espesor de las botellas que cumplen la especificación. c) Mostrar el mayor espesor de los productos ingresados. #include <stdio.h> int main( ) { int cont=0, cont_rechaz=1, cont_acept = 0; float prom, espesor, suma=0, max_espesor=-1;

Problema 5

Leer 1

espesor

Contar espesor incorrecto

Guardar

espesor

Acumular

espesor

Calcular y mostrar promedio Mostrar mayor espesor

Mostrar Cantidad de espesores incorrectos

Para aquellos espesores que sean > 1,5mm o < 1.1 mm Hasta que se ingresen 1000 elementos o el elemento ingresado sea < Cuando el espesor sea

al Mayor guardado previamente Para aquellos espesores que sean <1,5mm o > 1.1 mm

Computación II / Informática II – Guía de Problemas sin Funciones

Problema 7

Ingresar un conjunto de N números, donde N sea impar. Si N es par no se debe permitir la carga de

datos hasta que se ingrese N impar. Determinar y mostrar:

a) La cantidad de datos impares comprendidos entre –10 y 10. b) Mostrar los datos pares que sean distintos de 2 y 4.

Problema 8

En un censo de pacientes se debe realizar el siguiente procesamiento de la información. Por cada

paciente se debe ingresar su edad y su peso. La lectura finaliza cuando se introduzca un peso

negativo o cuando la cantidad de pacientes supere los 400. Calcular y mostrar:

a) La cantidad de pacientes cuya edad este comprendida entre 7 y 11 años inclusive.

b) De los pacientes que verifican el punto a) calcular el porcentaje sobre este rango de aquellos

que su peso supera los 50kg.

c) El paciente con menos peso y su edad.

Problema 9

Leer un conjunto de números enteros hasta que la cantidad de datos supere los 300 o el último

dígito del dato ingresado sea cero. Calcular y mostrar:

a) El promedio de los datos pares de orden par (que se ingreso en posición par). b) El porcentaje de elementos múltiplos de 3 de los primeros 40 datos siempre que sea posible.

Problema 10

En un censo de pacientes se debe realizar el siguiente procesamiento de información. Por cada

paciente, se debe ingresar su edad y su altura. La lectura finaliza cuando se introduzca una altura

inferior a 1,20 metros o cuando la cantidad de pacientes supere los 200. Calcular y mostrar:

a) El promedio de edad de aquellos pacientes cuya altura esté comprendida entre 1,50 y 1,

metros inclusive.

b) El porcentaje de pacientes cuya altura no supere 1,60 metros y cuya edad esté comprendida en

los rangos de 10 a 15 años y de 30 a 35 años.

c) El paciente con mayor altura y su edad correspondiente.

Problema 11

Leer un conjunto de números enteros (máximo 1000) hasta que se ingresen dos datos consecutivos

iguales a cero. Calcular y mostrar:

a) El promedio de valores positivos leídos en posición impar. b) La cantidad de datos pares ubicados entre las posiciones 10 y 32 inclusive siempre que sea

posible.

Problema 12

Una empresa que fabrica vasos desea controlar la calidad de sus productos. Para esto se toma una

muestra de X vasos de la producción total. Para que un vaso se considere de buena calidad, su

altura deberá estar comprendida en el rango de 10cm  5% y su peso superior a los 40 gramos o

cuando su volumen esté comprendido en el rango 125 a 176cm

3

. Por cada vaso se debe ingresar la

altura, peso y volumen. Calcular y mostrar:

a) El porcentaje y el promedio del volumen de vasos de buena calidad.

b) El promedio de altura de aquellos vasos que cumplen la condición sobre dicha altura.

c) Suponiendo una producción total de 5x

6

vasos, ¿Cual será la cantidad de vasos buenos a ser

comercializados?

Problema 13

Una fábrica de espirales desea controlar la calidad de sus productos. Para esto, toma una muestra

de X espirales de la producción total. Un espiral se asume bueno (bien fabricado) cuando:

Computación II / Informática II – Guía de Problemas sin Funciones

 La cantidad de vueltas es igual a 8.

 El largo es de 60cm con un error de 1cm.

 El peso es de 20gr con un error de  0,5gr.

Un parámetro de producción específica que si más del 20% de la muestra corresponde a elementos

defectuosos, toda la muestra se considera mala o no representativa. Informar cual es la cantidad de

espirales que no pasan el control de calidad y también su porcentaje, solo si la muestra es buena.

Problema 14

Una empresa de cables trenzados desea controlar la calidad de sus productos. Para ello se ha

pedido un algoritmo que lea datos relevantes de la producción. El cable producido se obtiene

trenzando dos cables, los que deben cumplir con las siguientes condiciones para formar un cable

trenzado bueno:

 Resistencia eléctrica entre extremos del rollo es de 100  10%.

 Aislamiento eléctrico mayor a 10kV.

En el caso de que alguno de los cables formantes no cumpla con una sola de las especificaciones

anteriores, el cable trenzado debe ser marcado como de segunda calidad. Si ambos cables

formantes dejan de cumplir con alguna de las dos especificaciones, el cable debe ser marcado

como malo. El ingreso de datos finaliza cuando se ingresa un valor de resistencia nulo. Mostrar:

a) Cantidad de cables analizados. b) Porcentaje de cables de primera y segunda calidad. c) Promedio de la resistencia de los cables de la producción total.

Problema 15

Una fábrica de pulloveres utiliza cierta calidad de lana para sus tejidos. La información más

relevante de la calidad de cada ovillo es:

 Porcentaje de poliéster.  Gramos / metros.

Realizar un programa que realice la siguiente operación:

a) Leer los datos de un lote de ovillos hasta que los gramos/metros sean iguales a 10 ó el

porcentaje de poliéster se encuentre comprendido entre 50 y 60.

b) Calcular y mostrar el promedio de gramos/metros de la muestra.

c) Averiguar y mostrar el promedio de los “porcentajes de poliéster” para cada uno de las

siguientes calidades.

 Primera calidad: Porcentaje de poliéster entre 0 y 10%, gramos/metros entre 45 y 50.

 Segunda calidad: Porcentaje de poliéster entre el 10 y 30%, gramos/metros entre 35 y 45.

 Mala calidad: cualquier otro caso.

Problema 16

Se desea procesar la información del tipo de mercadería proveniente de los camiones de una

empresa que realiza entregas a domicilio. Para ello se cuenta con la siguiente información cada

paquete:

 Código de identificación del paquete (entero corto)  forma de entrega del paquete (carácter: ‘i’ inmediata, ‘m’ moderada, ‘c’ corriente),  peso del paquete (en gramos),  distancia que recorrió (en Km).

Se pide que se ingrese información hasta que se tenga un peso negativo o la distancia sea mayor a

3000 Km. Se pide calcular:

a) El promedio de peso de paquetes a entregar con peso mayor a 4000 gramos y que no necesiten

entregarse en forma inmediata.

Computación II / Informática II – Guía de Problemas sin Funciones printf("No se entregaron paquetes con la condición de peso promedio."); } if( contI >= contM && contI >= contC ) printf("El destino inmediato se hace con un porcentaje de: %f", (float)contI/conttotal100); if( contM > contI && contM >= contC ) printf("El destino inmediato se hace con mas frecuencia en: %f", (float)contM/conttotal100); if( contC > contM && contC >= contI ) printf("El destino inmediato se hace con mas frecuencia en un porcentaje de: %f", (float)contC/conttotal*100); printf("Se recaudo en total: %f\n", recaud); return 0; }

e) Hacer un análisis del funcionamiento del algoritmo mediante un conjunto de datos de prueba ,

completando en una tabla los valores de las variables más significantes del algoritmo, tal como

el ejemplo modelo.

Problema 17

Se desea procesar la información de los pasajeros que viajan en un tren urbano. El tren hace varias

paradas. Para ello se debe ingresar el código de viaje que tiene los siguientes valores por sección: 1

 corta distancia, 2  distancia media y 3  larga distancia. También se debe ingresar la edad del

pasajero y la hora reloj de ingreso al tren (hora y minutos). El ingreso de datos finaliza cuando

ingresan al tren dos menores de edad (menores de 12 años) ó cuando se ingresa un código no

válido. Se pide:

a) Cuántos pasajeros viajaron por cada código de viaje?

b) Cuál es la recaudación total, sabiendo que el precio base por pasaje de un mayor es de 1$ para

corta distancia y para las otras distancia se debe duplicar y triplicar respectivamente el precio

base? Los menores de edad pagan la mitad de precio de ese pasaje.

c) Si se ingresa por teclado una hora de referencia, indicar cuantos pasajeros llevan viajando más

de 45 minutos.

NOTA: En todos los problemas hacer un análisis del funcionamiento del algoritmo mediante

un conjunto de datos de prueba, completando en una tabla los valores de las variables más

significativas del algoritmo, tal como el ejemplo modelo.

COMPUTACION II

INFORMATICA II

Ingeniería Electrónica y Bioingeniería

Guía de Práctica Nº 2

Problemas resueltos y propuestos

con funciones, arreglos, matrices y Strings

Departamento de Electrónica y Automática

Facultad de Ingeniería

Universidad Nacional de San Juan

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings scanf("%f%c", &dato); return dato; } float promedio( float a, float b, float c ) { / Sumar y Dividir son "acciones primitivas" y pueden integrarse sin problema dentro de una función */ float p; p = a + b + c / 3; return p; } float producto( float a, float b, float c ) { return a * b * c; } void mostrar( float prom, float prod) { printf( "El promedio es: %f\n", prom); printf( "El producto es: %f\n", prod); } int sonIguales(float a, float b, float c ) { return ( a == b && a == c )? 1 : 0; } Problema 19 Ingresar pares de valores enteros x e y. El proceso de carga finaliza cuando la diferencia entre ambos valores sea impar y divisible por 7. Para cada par de valores (x,y) se pide: a) Si el valor y es mayor que x, mostrar los valores intermedios. b) Si el valor y es mayor que 0 calcular, mediante productos sucesivos, el valor de X elevado a la Y y mostrarlo en la función main. c) Calcular el promedio de los valores x para los x > 0. d) El porcentaje de pares con por lo menos un componente = 0.

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings Código: #include <stdio.h> void incrementoContsAcum(int var_x, int var_y, int ContsAcum[]); void mostrarValoresEntre(int var_x, int var_y); int calcularPotencia(int var_x, int var_y); void mostrarPromPorc(int ConstsAcum[]); int main(){ int x, y; int ContsAcum[4]={0, 0, 0, 0};/* Se usa un arreglo de contadores / printf("Ingrese el valor de x y de y: \n"); scanf("%d%c", &x); scanf("%d%c", &y); while( (x-y)%2 == 0 || (x-y)%7 != 0 ) { incrementoContsAcum(x, y, ContsAcum); if(x > y){ mostrarValoresEntre(x,y); } if(y > 0){ printf ("La potencia es: %d\n", calcularPotencia(x,y)); } printf("Ingrese el valor de x y de y: \n"); scanf("%d%c", &x); scanf("%d%*c", &y); } mostrarPromPorc(ContsAcum); return 0; } void incrementoContsAcum(int var_x, int var_y, int ContsAcum[]){ ContsAcum[0]++; if(var_x > 0){ ContsAcum[1]++; ContsAcum[2]+= var_x; } if( (var_x && var_y) == 0 ){

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings El programa simula la tirada de una moneda una cierta cantidad de veces especificada por el operador. Calcular y mostrar la cantidad de veces que sale Cara y Ceca, y sus porcentajes correspondientes. #include <stdio.h> #include <conio.h> #include <stdlib.h> int main( ) { int moneda; long int i, contC=0, contS=0; /Contador de Caras y Secas/ long int CantT; /Cantidad de Tiradas/ printf("Ingresa Cantidad de Tiradas de la Moneda:"); scanf("%ld%c",&CantT); for(i=0;i<CantT;i++){ moneda = rand()%2; (moneda == 0)? contC++ : contS++; } printf("Cantidad de Caras y Cecas para %ld Tiradas\n\n",CantT); printf("Caras: %ld\t\tCecas: %ld\n",contC,contS); printf("Porcentaje Caras: %f\t\tPorcentaje Cecas: %f\n", (contC100.)/CantT, (contS100.)/CantT); return 0; } NOTA: Cada vez que se ejecuta este programa, se puede observar que siempre se muestran los mismos resultados. Para ello es necesario cambiar la semilla de generación a través de la función srand(). Problema 21 El programa simula la tirada de un dado una cierta cantidad de veces especificada por el operador. Entrega como resultado el número de veces de que sale cada Cara y sus porcentajes sobre el total. En este caso se agrega la función srand(), que permite cambiar la semilla de generación de los números aleatorios. Se toma como semilla la hora del sistema mediante la función time() incluida en la biblioteca time.h #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> int main() { int dado; long int i, cont1=0, cont2=0, cont3=0, cont4=0, cont5=0, cont6=0; long int CantT; /Cantidad de Tiradas/ printf("Ingresa Cantidad de Tiradas del dado: "); scanf("%ld%c",&CantT); srand(time(NULL)); for(i=0;i<CantT;i++){ dado = 1 + rand()%6; switch(dado){ case 1: cont1++; break;

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings case 2: cont2++; break; case 3: cont3++; break; case 4: cont4++; break; case 5: cont5++; break; case 6: cont6++; break; } } printf("Cantidad de Tiradas del dado: %ld\n\n",CantT); printf("Cara1: %ld\t\tCara2: %ld\n",cont1,cont2); printf("Porcentaje Cara1: %5.2f\tPorcentaje Cara2:%5.2f\n\n", (cont1100.)/CantT, (cont2100.)/CantT); printf("Cara3: %ld\t\tCara4: %ld\n",cont3,cont4); printf("Porcentaje Cara3: %5.2f\tPorcentaje Cara4:%5.2f\n\n", (cont3100.)/CantT,(cont4100.)/CantT); printf("Cara5: %ld\t\tCara6: %ld\n",cont5,cont6); printf("Porcentaje Cara5: %5.2f\tPorcentaje Cara6: %5.2f\n\n", (cont5100.)/CantT,(cont6100.)/CantT); return 0; } Problema 22 El programa simula la extracción de cartas de una baraja una cierta cantidad de veces especificada por el operador. Este programa cuenta el palo de cada carta y entrega por resultado el número de veces y el porcentaje de cada uno de ellos. El palo de cada carta se simula a través de numeros, es decir, si el numero está entre 0 y 9 el palo es Oro, entre 10 y 19 el palo es Copa, entre 20 y 29 corresponde a basto y entre 30 y 39 a espada. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> int main() { long int c1,c2,c3,c4,n,i; int valor; c1=c2=c3=c4=0L; srand(time(NULL)); printf("Simulación de una Baraja de Naipes \n"); printf("Ingrese la cantidad de Cartas a Extraer: "); scanf("%ld%*c",&n); printf("Carta (Palo)\nOro\tCopa\tBasto\tEspada\n\n"); for(i=0L; i<n; i++){ valor = rand()%40; if(valor>=0 && valor < 10) { c1++; } else if(valor>=10 && valor < 20) {

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings case 9: case 10: /* debe volver a tirar / do { printf("\n\nPresione enter para lanzar los dados nuevamente\n\n" ); getchar(); puntos2 = tirada(); printf("\n\nEl valor obtenido en este tiro es: %2d", puntos2); }while((puntos2 != puntos1) && (puntos2 != 7)); if(puntos2 != 7) printf("\n\nGANO\n"); else printf("\n\nPERDIO\n"); break; } /Cierra el switch / } / Cierra la función / int main() { char c='s'; printf(" Comienza el juego \n\n "); while(toupper(c) != 'N') { juego(); printf ("\n\n Desea jugar de nuevo? S/N\n"); c=getchar(); } return 0; } / Fin del main / Problemas resueltos con Matrices y Vectores Problema 24 Generar una matriz cuadrada triangular de nxn elementos, máximo 20x20: 01 02 03 04 05 06 07 00 08 09 00 00 10 00 00 00 #include <stdio.h> #include <stdlib.h> / Declaración de funciones / void llenar(int M[][20], int d); void mostrar(int M[][20], int d); int main() { int d; int M[20][20]; printf("Ingrese dimension: "); scanf("%d%c",&d); llenar(M, d); mostrar(M, d); return 0; }

Computación II / Informática II – Guía de Problemas Con Funciones, Arreglos y Strings void llenar(int M[][20], int d) { int i,j,cont=1; for (i=0;i<=d;i++) { for (j=0;j<=d;j++) { /* Para llenar los elementos de una matriz por encima de la diagonal se debe tener en cuenta que la suma de los índices i,j correspondiente a la posición de cada elemento no debe superar el valor de la dimensión d / /Elementos por encima de diagonal de la Matriz/ if ((i+j)<=d) { /Cada elem M[i][j] se llena en forma consecutiva/ M[i][j]=cont; cont++; } else M[i][j]=0; /Se llenan con ceros/ } } } void mostrar(int M[][20], int d) { int i, j; for (i=0;i<=d;i++) { printf("\n"); for (int j=0;j<=d;j++) { printf ("%d\t",M[i][j]); } } } Problema 25 Generación de una Matriz cuadrada mediante el uso de funciones de producción de números aleatorios. #include<stdio.h> #include<stdlib.h> #include<time.h> / Declaración de funciones / void llenar (int M[][20], int d); void mostrar (int M[][20], int d); int main( ) { int d; int M[20][20]; printf("Ingrese dimension (maximo 20x 20): "); scanf("%d%c",&d); llenar(M, d); mostrar(M, d); printf("\n"); return 0; } void llenar(int M[][20], int d) { int i,j,mod,signo,elem; srand(time(NULL)); for (i=0;i<=d;i++) { for (j=0;j<=d;j++) { /Tengo un 1 o 0/ mod=rand()%2; /obtengo un signo + o signo - / signo = (mod == 1)? -1 : 1; /Una matriz con culaquier número desde -9 a 9/