Orar semigroup #2

Orar semigroup #2

[CAN] 16 octombrie - Lab 2

Dioda permite trecere curentului doar într-un singur sens (nu trec alternanţele negative, în acest caz). În AIM-Spice se trece întâi nodul de la + al diodei. Tensiune de prag - până la o anumită tensiune, dioda nu se deschide.

Redresor monoalternanta
D1 1 2 dioda
.model dioda D
R1 2 0 100
Vin 1 0 sin(0 10 1k 0 0)

Redresor dublu alternanta
D1 1 2 di
D2 0 1 di
D3 0 3 di
R1 2 0 100
D4 3 2 di
Vin 1 3 sin(0 10 1k 0 0)
.model di D

Redresor dublu alternanta azi 16.10
D1 1 2 di
D2 0 1 di
D3 0 3 di
R1 2 0 100
D4 3 2 di
Vin 1 3 sin(0 10 1k 0 0)
.model di D

joi, 16 octombrie 2014 by DlMuresan
Categories: , , , , | Leave a comment

[POO] 14 octombrie - Lab 2 - Suma 2 la n

Sa se calculeze suma 2^0+2^1+...+2^n
package ro.utcluj.poo.lab02;
import java.math.BigInteger;
public class Suma2n {
public static void main(String[] args) {
// TODO Auto-generated method stub
BigInteger s,p,c;
/*s=new BigInteger("2");
c=new BigInteger("-1");
s = s.pow(64);
s = s.add(c);
System.out.println(s.toString());*/
p=new BigInteger("1");
c=new BigInteger("2");
s=new BigInteger("0");
int i,n;
n=63;
for(i=0;i<=n;i++)
{
s=s.add(p);
p=p.multiply(c);
//System.out.println(s.longValue());
}
System.out.println(s.longValue());
}
}
Cu functie si test
package ro.utcluj.poo.lab02;
import java.math.BigInteger;
public class Suma2n {
public int putere(double n){
int s,p,c;
int i;
s=0;
p=1;
c=2;
for(i=0;i<=n;i++)
{
s=s+p;
p=p*c;
}
return s;
}
public static void main(String[] args) {
}
}
Test
package ro.utcluj.poo.lab02;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import static org.testng.Assert.*;
public class Suma2nTest {
Suma2n main;
@BeforeClass
public void init(){
main = new Suma2n();
}
@DataProvider
public Object[][] valoriDeTest(){
return new Double[][]{
{2.0, 7.0, 0.001},
{3.0,15.0, 0.01},
{4.0,31.0,0.01}
};
}

@Test(dataProvider = "valoriDeTest")
public void get(double input, double expected, double precision) {
double result = main.putere(input);
assertEquals(result, expected,precision);
}
}

marți, 14 octombrie 2014 by DlMuresan
Categories: , | Leave a comment

[CN] 13 octombrie - Lab 1

Să se afişeze termenii 1-30 ai şirurilor recurente x(k)=(n+1)x(k-1)-1 pentru valorile 1-10 ale lui n şi eroarea de calcul pentru fiecare termen.

For[n = 1, n < 11, n++,
 v = Table[0, {i, 1, 30}];
 x = N[1/n, 50];
 For[k = 1, k < 31, k++,
   x = (n + 1)*x - 1;
   v[[k]] = x;]
  Print["n=", n, " val rec ", MatrixForm[N[v]], " erorile ",
   MatrixForm[Abs[v - 1/n]]]]
Să se afişeze termenii 1-30 ai şirului dat de Integrala de la 0 la 1 din x^n/(x+5)
j = NIntegrate[1/(x + 5), {x, 0, 1}];
N[j]
x =.;
For[n = 1, n < 31, n++,
 j = 1/n - 5 j;
 Print["n=", n, " val.rec ", j, " eroare ",
  Abs[j - NIntegrate[x^n/(x + 5), {x, 0, 1}]]]]
N[log[1.2], 10]
Să se aproximeze funcţia Sinus pentru un x dat folosind Polinomul lui Taylor. Să se afişeze valoarea calculată cu Taylor şi valoarea corectă Sin[x]
x = N[\[Pi]/4 + 40*\[Pi]];
While[x > 2 Pi,
 x = x - 2 Pi;]
While[x < 0,
 x = x + 2 Pi;]
s = 0;
t = x;
k = 1;
While[Abs[t] > 10^(-15),
 s = s + t;
 t = -x^2/(2 k)/(2 k + 1)*t;
 k = k + 1;]
Print["x=", N[x, 20], " aprox. ", N[s, 20], " val.corecta ", Sin[x]]

luni, 13 octombrie 2014 by DlMuresan
Categories: , , , , | Leave a comment

[PLA] 10 octombrie - Lab 2

Ex1

.386
.model flat, stdcall
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;includem msvcrt.lib, si declaram ce functii vrem sa importam
includelib msvcrt.lib
extern exit: proc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;declaram simbolul start ca public - de acolo incepe executia
public start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;sectiunile programului, date, respectiv cod
.data
var1 DB 10,2,3,14
var2 DW 15,6,7,8
var3 DD 1020A0h, 011223344h, 01A2B3C4Dh
var4 equ 10
var5 DB '1', '2', "abc"
var6 DB 4 DUP(5)

.code
start:
    mov eax, 0
    mov al, var1
    mov ah, 11
    mov ebx, 0
    mov bx, var2
    mov ecx, var3
    mov edx, var4
    add ecx, edx
    mov dl, var5
    mov dh, var6
   
    ;terminarea programului
    push 0
    call exit
end start
Model
.386
.model flat, stdcall
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;includem biblioteci, si declaram ce functii vrem sa importam
includelib msvcrt.lib
extern exit: proc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;declaram simbolul start ca public - de acolo incepe executia
public start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;sectiunile programului, date, respectiv cod
.data
;aici declaram date
sir db 1,2,3
.code
start:
    ;aici se scrie codul
    mov si,0
    mov bx,0
    mov ax, sir[bx+si+1]

    ;terminarea programului
    push 0
    call exit
end start

vineri, 10 octombrie 2014 by DlMuresan
Categories: | Leave a comment

[CAN] 9 octombrie - Lab 1

Reguli
1. Primul rând este întotdeauna un comentariu
2. Se scrie o singură componentă pe linie
select C1 - Shift+F1 - Help
C1 in (nod) out (nod)
3. Nu se speciufică unitatea de măsură (doar multipli sau submultipli)
4. Nodul de la masă se notează întotdeauna cu 0
5. Ordinea componentelor este arbitrară
6. * sau ! la începutul rândului îl transformă în comentariu
7. Nu se lasă spaţiu la începutul rândului
8. Prima poziţie pe rând este piesa (elementul de circuit)

RC trece jos
R1 in out 1k
C1 out 0 470n
!Vin in 0 dc 5 sin(0 5 200 0 0)
Vin in 0 dc 5 pulse(0 5 0 0.01e-3 0.01e-3 0.2e-3 0.4e-3)

RC trece jos
R1 in out 1k
C1 out 0 4,7n
!Vin in 0 dc 5 sin(0 5 200 0 0)
Vin in 0 dc 5 pulse(0 5 0 0.01e-4 0.01e-4 0.2e-4 0.4e-4)

RC trece sus
C1 in out 2500n
R1 out 0 1k
!Vin in 0 dc 5 sin(0 5 10k 0 0)
Vin in 0 dc 5 pulse(0 5 0 0.01e-3 0.01e-3 0.2e-2 0.4e-2)

joi, 9 octombrie 2014 by DlMuresan
Categories: , , , | Leave a comment