Newest Post
Amosando publicacións coa etiqueta ESEI b>. Amosar todas as publicacións
Un par de páxinas que poden ser de grande axuda para o exame de ACI(Vale, traen os algoritmos feitos. Aínda non sei se funcionan pero podédelos probar)Están en inglés pero eu penso que se entenden ben.
- http://www.8085projects.info/page/free-programs-for-8085-microprocessor.aspx //Aquí trae programas de factorial e división , ademáis de outros moitos programas. Trae o correspondente ordinograma.
- http://www.circuitstoday.com/division-of-two-8-bit-numbers-in-8085 // Dividir dous números de 8 bits
- http://microprocesser.blogspot.com/2009/09/find-factorial-of-number8085.html // Factorial dun numero entre 0 e 8
Tag :// ESEI
Se queresdes ver a practica 10 feita e que funcione non tedes máis que ir a troncoblog pinchando no enlace da marxe dereita desta páxina.
Tag :// ESEI
INICIO: LXI H,0030h
LXI D,0020h
BUCLE1:MOV A,D
CPI 0h
JZ BUCLE2
BUCLE: MVI M,00fah
INX H
DCX D
JMP BUCLE1
BUCLE2:MOV A,E
CPI 0h
JZ FIN
JMP BUCLE
FIN: HLT
END
//nota para darllr valor a a unha etiqueta poñer ETIQUETA: EQU e o numero que queiras en hexadecimal. Por exemplo, VALOR: EQU 0020h
LXI D,0020h
BUCLE1:MOV A,D
CPI 0h
JZ BUCLE2
BUCLE: MVI M,00fah
INX H
DCX D
JMP BUCLE1
BUCLE2:MOV A,E
CPI 0h
JZ FIN
JMP BUCLE
FIN: HLT
END
//nota para darllr valor a a unha etiqueta poñer ETIQUETA: EQU e o numero que queiras en hexadecimal. Por exemplo, VALOR: EQU 0020h
Tag :// ESEI
Ejercicio 1. Clase.
Supóngase una memoria RAM de 1024 palabras × 16 bits/palabra construida empleando
circuitos integrados de memoria RAM de 128 palabras × 8 bits/palabra. A fin de
permitir el direccionamiento de las palabras de la memoria, calcular:
1. El número de líneas del bus de direcciones
2. El número de líneas del bus de direcciones comunes a todos los módulos.
3.Cantos módulos necesitaría para formar o mapa de memoria?
1.O bus de direccións debería ter 10 liñas. (2**10)
2.Necesitas 7 liñas, desde a posición 0000000 a 1111111. As tres liñas liñas adicionais úsanse para activar o que chamamos a selección do chip.2**3, hai que implementar dous módulos en paralelo
3.16. Tamaño*ancho de palabra= (2**10)*(2**4)*(1B/2**3b)=2**11B
(2**3)*(2**7) *(1B/2**3b)= 2**7 B
2**11/2**7= 2**4= 16.
Ejercicio 2. Clase.
Se considera un procesador que dispone de 12 líneas de direcciones A11-A0, para la
construcción de su unidad de memoria se dispone de módulos de 1K palabras,
utilizándose las líneas más significativas (A11-A10) para la selección de cada módulo.
¿Cuál es en el mapa de memoria, la dirección base (primera dirección de cada módulo)
en notación hexadecimal de los sucesivos bloques de memoria?
1.O ancho da memoria é o mesmo que o anchodo módulo. 12 liñas de bus de direccións. 2**10, 10 bits a primeira posición. A última posición serían dez 1s. O primeiro módulo levará nas dúas liñas adicionais 00.En hexadecimal sería 000h. e a última dirección sería FFFh.
32 LIÑAS O BUS DE DIRECCIÓNS E 64 O BUS DE DATOS.
(2**32)* (2**6)*(B/2**3)= 2**35B * (1GB/2**30)= 32 GB
Supóngase una memoria RAM de 1024 palabras × 16 bits/palabra construida empleando
circuitos integrados de memoria RAM de 128 palabras × 8 bits/palabra. A fin de
permitir el direccionamiento de las palabras de la memoria, calcular:
1. El número de líneas del bus de direcciones
2. El número de líneas del bus de direcciones comunes a todos los módulos.
3.Cantos módulos necesitaría para formar o mapa de memoria?
1.O bus de direccións debería ter 10 liñas. (2**10)
2.Necesitas 7 liñas, desde a posición 0000000 a 1111111. As tres liñas liñas adicionais úsanse para activar o que chamamos a selección do chip.2**3, hai que implementar dous módulos en paralelo
3.16. Tamaño*ancho de palabra= (2**10)*(2**4)*(1B/2**3b)=2**11B
(2**3)*(2**7) *(1B/2**3b)= 2**7 B
2**11/2**7= 2**4= 16.
Ejercicio 2. Clase.
Se considera un procesador que dispone de 12 líneas de direcciones A11-A0, para la
construcción de su unidad de memoria se dispone de módulos de 1K palabras,
utilizándose las líneas más significativas (A11-A10) para la selección de cada módulo.
¿Cuál es en el mapa de memoria, la dirección base (primera dirección de cada módulo)
en notación hexadecimal de los sucesivos bloques de memoria?
1.O ancho da memoria é o mesmo que o anchodo módulo. 12 liñas de bus de direccións. 2**10, 10 bits a primeira posición. A última posición serían dez 1s. O primeiro módulo levará nas dúas liñas adicionais 00.En hexadecimal sería 000h. e a última dirección sería FFFh.
32 LIÑAS O BUS DE DIRECCIÓNS E 64 O BUS DE DATOS.
(2**32)* (2**6)*(B/2**3)= 2**35B * (1GB/2**30)= 32 GB
Tag :// ESEI
INICIO
COCIENTE<--0(Cantas veces se fai o reparto)
RESTO<--0(O que queda ao repartir)
CONT<---0(cando acabo o reparto, cando chegue ao dividendo)
BUCLE: cmp cont,divdo
beq fin
cont=cont+1
resto=resto+1
cmp resto=divisor
cocien<---cocien+1
resto<--0
beq BUCLE;
PROGRAMA EN MÁQUINA SIMPLE
DIVDO:DATO 0000
DIVSOR:DATO 0000
COCIEN: DATO 0000
RESTO: DATO 0000
CONT : DATO 0000
CERO: DATO 0000
UN:0001
INICIO:MOV CERO,COCIEN
MOV CERO,RESTO
MOV CERO,CONT
BUDIV:CMP CONT,DIVDO
BEQ FIN
ADD UN,CONT
ADD UN , RESTO
CMP RESTO,DIVSOR
BEQ INRCO
CMP UN,UN
BEQ SECUEN
INRCO: ADD UN,COCIEN
MOV CERO,RESTO
SECUEN: CMP UN,UN
BEQ BUDIV
FIN:BEQ FIN
COCIENTE<--0(Cantas veces se fai o reparto)
RESTO<--0(O que queda ao repartir)
CONT<---0(cando acabo o reparto, cando chegue ao dividendo)
BUCLE: cmp cont,divdo
beq fin
cont=cont+1
resto=resto+1
cmp resto=divisor
cocien<---cocien+1
resto<--0
beq BUCLE;
PROGRAMA EN MÁQUINA SIMPLE
DIVDO:DATO 0000
DIVSOR:DATO 0000
COCIEN: DATO 0000
RESTO: DATO 0000
CONT : DATO 0000
CERO: DATO 0000
UN:0001
INICIO:MOV CERO,COCIEN
MOV CERO,RESTO
MOV CERO,CONT
BUDIV:CMP CONT,DIVDO
BEQ FIN
ADD UN,CONT
ADD UN , RESTO
CMP RESTO,DIVSOR
BEQ INRCO
CMP UN,UN
BEQ SECUEN
INRCO: ADD UN,COCIEN
MOV CERO,RESTO
SECUEN: CMP UN,UN
BEQ BUDIV
FIN:BEQ FIN
Tag :// ESEI
A este metodo pasaslle un numero e diche de cantos billetes de 100,50,20,10,5 e moedas de 2,1 se compon
public static void sampleMethod(int num)
{ int a=0;
if(num%100==0){
a=(num/100);
}
System.out.println("El numero de billetes de 100 es"+num/100);
System.out.println("El numero de billetes de 50 es"+((num%100)/50));
System.out.println("El numero de billetes de 20 es"+((num%100)%50)/20);
System.out.println("El numero de billetes de 10 es"+((((num%100)%50)%20)/10));
System.out.println("El numero de billetes de 5 es"+ (((((num%100)%50)%20)%10)/5));
System.out.println("El numero de monedas de 2 euros es"+((((((num%100)%50)%20)%10)%5)/2));
System.out.println("El numero de monedas de 1 euro es"+(((((((num%100)%50)%20)%10)%5)%2)/1));
}
public static void sampleMethod(int num)
{ int a=0;
if(num%100==0){
a=(num/100);
}
System.out.println("El numero de billetes de 100 es"+num/100);
System.out.println("El numero de billetes de 50 es"+((num%100)/50));
System.out.println("El numero de billetes de 20 es"+((num%100)%50)/20);
System.out.println("El numero de billetes de 10 es"+((((num%100)%50)%20)/10));
System.out.println("El numero de billetes de 5 es"+ (((((num%100)%50)%20)%10)/5));
System.out.println("El numero de monedas de 2 euros es"+((((((num%100)%50)%20)%10)%5)/2));
System.out.println("El numero de monedas de 1 euro es"+(((((((num%100)%50)%20)%10)%5)%2)/1));
}
Tag :// ESEI
Ben, aquí deixo o link de algúns vídeos explicativos que me pareceron moi útiles de cara ao exame, onde se fan as cousas paso a paso.
Tag :// ESEI
Ben, primeiro vou dicir como se escriben os pares ordeados nunha relación. Ex: Temos o conxunto A{1,2,3,4}, onde a e b pertencen a A e a divide a B. Así, miramos a condición. 1 divide a tódolos números de A, polo tanto escribiremos(1,1),(1,2),(1,3),(1,4). Logo miramos o 2, que se divide a si mesmo e a 4.(NOTA: a sentenza a divide a b refírese a que o resto de dividir b entre a é 0)Así, escribimos (2,2), (2,4). Logo, o 3 só se divide a si mesmo, pòlo que escribimos (3,3).4 igual, así que escribimos (4,4). Deste xeito, queda{(1,1),(1,2),(1,3),(1,4),(2,2),(2,4),(3,3),(4,4)}
Be, agora, cómo sabemos se unha relación é reflexiva, transitiva, simétrica ou antisimétrica?. Ben, poñamos por exemplo a relación anterior. Así, é reflexiva, xa que todo elemento está relacionado consigo mesmo. Vemos que non é simétrica, xa que por exemplo 2R4 pero non 4R2. Logo, é transitiva , cúmprese para todos os casos que se aRb r bRc, aRc, isto é moi similar a unha regra de inferencia lóxica. É antisimétrica, xa que en tódolos caos nos que aRb e bRa a=b.
Ben agora vou definir de maneira breve pero creo que bastante ilustrativa as operacións que se poden realizar con relacións.
- Unión: Consiste en coller tódolos elementos de ambas relacións e formar unha soa.
- Intersección: consiste en formar unha relación cos elementos que teñan en común as dúas relacións.
- Resta: consiste en facer unha nova relación na que estén presentes tódolos elementos da primeira relación que non estean na segunda.
- Suma directa: Formar unha nova relación con tódolos elementos que son independentes en ambas, é dicir, unha nova relación na que no haxa ningún elemento que estivese nas dúas relacións ao mesmo tempo previamente.
- Inversa: non é máis que cambiar de orde. Exemplo, se temos unha relación tal que {(1,2),(3,4),(5,2)}, a inversa sería {(2,1),(4,3),(2,5)}
- Composición. Ben, a teoría é que cada relación da nova relación composición cumplirá que hai un (x,z) tal que (x,y)pertence á primeira relación e (y,z) á segunda. Deste xeito , se temos unha relación A {(1,1),(1,3),(4,5)} e unha relación B{(3,1),(1,4)}
Ben , agora paso a explicar as relacións de equivalencia, unha relación é de equivalencia cando é transitiva simétrica, e reflexiva.
A relación de congruencia de módulo m, isto é, dous números son congruentes módulo m se o resto de dividir cada un deses números entre m é o mesmo. Unha propiedade importante é a de que se temos varios número congruentes módulo m, a suma de dous deles será congruente módulo ma suma de outros dous.
As clases de equivalenvia módulo m consisten e n escribir dsde 0 ata m negado, en columna. Ao lado de cada un escribimos o m en cuestión. Así, sumamos m e restamos m unhas cantas veces en cada caso. Exemplo, para m=3, en 0 negado escribiríamos..., -9,-6,-3,0,3,6,9..... Ben, así para 1negado sumaríamos 1 a tódolos membros , para dous negado sumaríamos un ao de un negado, e así sucesivamente.
Tag :// ESEI
Exercicio 1
Acada unha base ortogonal do subespazo <(1; 0; 1); (0; 1;-1)>
Ben, son dous vectores liñalmente independentes en R3, logo forman unha base de R3. Esta base non é ortogonal xa que se multiplicamos escalarmente((1,0,1)+(0,1,-1))non é igual a 0. Ben, polo tanto o que temos que facer é unha abse ortogonal. Para iso necesitamos un v1' e un v2'. v1' é igual a v1, iso sempre pasa, pero v2' non. Así, v2'=v2+alfa*v1'. Temos que calcular alfa. Deste xeito , por Gram-Schmidth facemos -(v2'*v1')/(norma v1')**2. A norma de v1' é o mesmo que dicir o seu módulo, así, elevamos tódalas compoñentes ao cadrado, sumamos e logo facemos a raíz cadrada. Así, alfa1 danos 1/2 e v2' (1/2,1,-1/2).Deste xeito con v2' e v1' xa temos a base ortogonal que nos pedían.
Exercicio 2
Acada unha base ortonormal do subespazoW = <(1; 0; 1); (0; 1;-1)>e calcula a proxección sobre W do vector v = (1; 1; 1). Ben, o subespazo é o mesmo que o anterior. Así, para calcular unha base ortonormal divídese cada coordenada da base ortonormal entre a súa norma( as coordenadas de v1' entre a norma de v1' e as de v2' entre a norma de v2'). Así, o novo v1' é(1/ráiz2,0,-1/raíz2), se racionalizamos, quedaría (raíz2/2,0,raíz2/2) .
Logo calculamos anorma de v2 polo mesmo procedemento que no exercicio 1, dando raíz(6/4), que simplificado queda raíz6/2.Se dividimos v2' entre a súa norma queda (1/raíz6,2/raíz6,-1/raíz6), se racionalizamos(raíz6/6,raíz6/3,-raíz6/6). Con este vector e o anterior xa temos a base ortonormal.
Logo pídennos a proxección de v sobre w. Así, para calcular a proxección, o que facemos é alfa1*v1'+alfa2*v2'. Calculamos alfa coma antes, alfa1=v*v1'/(normav1')**2 e alfa2=(v*v2')/(normav2')**2. Hai unha diferencia neste grand-schmidt co anterior, neste non hai un signo negativo .
Exercicio 3
Acada unha base ortonormal do subespazoW = <(1; 0; 1; 0); (0; 1;-1; 0)>e calcula a proxección ortogonal sobreW do vector v = (1; 1; 1; 0)
e a distancia entre v e W.
Igual que o anterior. A única diferenza é que nos piden a distancia. Pois bn, a distancia calcúalse restando v-Pw, sendo Pw a proxección de v en w, e logo facendo a norma do que resulta. Así, o resultado é raíz(3/9)ou simplificado raíz 1/3.
Exercicio 4
Acada unha base ortonormal do subespazoW = <(1; 0; 1; 0); (0; 1;-1; 0); (0; 0; 1; 1)> e calcula a proxección ortogonal sobreW do vector v = (1; 1; 1; 0)
e a distancia entre v e W. Ben a única diferenza deste cos anteriores é que hai tre vectores. O procedemento é o mesmo. Isto é, v1'=v1, v2'=v2+alfa1*v1' e v3'=v3+alfa1*v1'+alfa2*v2'..
Exercicio 5
Calcula unha base ortonormal do subespazo de Rn:
<(1; 0; ....; 0); (1; 1; 0; ...; 0); (1; 1; 1; 0;.... ; 0); : : : ; (1; 1; ....; 1)>
Ben, aquí temos n vectores contidos en Rn liñalmente independentes. Así, a base que nos piden , que ten n vectores liñalmente independentes en Rn é C, a canónica.
Exercicio 6:
Calcula o espazo Wortogonal nos seguintes casos:
i)<(1,2,-1,3)>
Ben, o que temos que achar uns certos x,y,z,t que multiplicados polo vector nos den 0(para que sexan ortogonais tense qu dar esa condición). Deste xeito, igualamos a 0 a ecuación(x+2y-z+3t=0), daquí sacamos x=-2y+z-3t. Así, o noso subespazo será un que na coordenada x cumpra (2y+z-3t,y,z,t)/y,z,t pertencen a R .
Tag :// ESEI