segunda-feira, 28 de novembro de 2016

segunda-feira, 21 de novembro de 2016

quarta-feira, 16 de novembro de 2016

segunda-feira, 7 de novembro de 2016

domingo, 23 de outubro de 2016

Programação C - Técnico Subsequente - Aula de 24/10

Senhores alunos:


No link abaixo encontra-se o material relacionado a nossa próxima aula

Boa semana!

Programação C - Técnico subsequente - Material extra na internet

Senhores alunos:

Seguem alguns link com material didático adicional:

Exercícios:

- Coletânea de Exercícios em Linguagem C;


Vídeo:

- Exercícios resolvidos;


Apostila:

Programação C - Um curso básico e abrangente;


Esses são apenas alguns exemplos, existe muito material disponível na internet para estudar e praticar programação C.


Boa semana!

quarta-feira, 19 de outubro de 2016

quinta-feira, 13 de outubro de 2016

segunda-feira, 3 de outubro de 2016

segunda-feira, 26 de setembro de 2016

Programação C - Técnico Subsequente - Aula de 26/09

Senhores alunos:


No link abaixo encontra-se o material relacionado a nossa próxima aula

Boa semana!

Transitórios RLC série/paralelo de segunda ordem - Script com Scilab

Senhores Alunos:


Segue, abaixo, o script Scilab completo para o cálculo das constantes da solução das equações diferenciais e o traçado dos gráfico da corrente e da tensão dos transitórios RLC série e paralelo de segunda ordem.

Bom uso!

Keywords: transient response, second-order, parallel RLC circuit, series RLC circuit, Scilab.

----------------------------------------------------------------------

clc;
clear ;
xdel(winsid());
disp('Avaliação da Corrente no transitorio RLC de 2a ordem');
Tipo = input('Informe <1> para circuito serie <2> para paralelo: ')
disp('Entrada de Dados');
R = input('Valor de R =');
L = input('Valor de L =');
C = input('Valor de C =');
I0 = input('Valor de I0 =');
V0 = input('Valor de V0 =');
w0 = 1/(sqrt(L*C));
if Tipo==1
    Vs = input('Valor de Vs =');
    dI0 = -(-Vs+R*I0+V0)/L;
    dV0 = I0/C
    alpha = R/(2*L);
else 
    Is = input('Valor de Is =');
    dV0 = -(-Is+I0+V0/R)/C;
    dI0 = V0/L;
    alpha = 1/(2*R*C);
end     
printf('di(0)/dt = %.2f, alpha = %.2f, w0 = %.2f\n',dI0,alpha,w0); 
printf('dv(0)/dt = %.2f\n',dV0); 
if Tipo==1
    if alpha<w0
        disp('Caso subamortecido');
        wd = sqrt(w0^2-alpha^2);
        A1 = I0;
        A2 = (dI0 + alpha*A1)/wd;
        A3 = V0 - Vs;
        A4 = (dV0 + alpha*A3)/wd;
        printf('s1 = %.2f + j%.2f, s2 = %.2f - j%.2f\n',-alpha,wd,-alpha,wd);
        printf('wd = %.2f\n',wd);
        t = 0:0.001:5/alpha;
        i = exp(-alpha*t).*(A1*cos(wd*t) + A2*sin(wd*t));
        il = 'exp(-alpha*t)*(A1*cos(wd*t) + A2*sin(wd*t))';
        v = exp(-alpha*t).*(A3*cos(wd*t) + A4*sin(wd*t)) + Vs;
        vc = 'exp(-alpha*t)*(A3*cos(wd*t) + A4*sin(wd*t)) + Vs';
    elseif alpha>w0
        disp('Caso superamortecido');
        delta = sqrt(alpha^2-w0^2);
        s1 = -alpha + delta;
        s2 = -alpha - delta;
        A2 = (s1*I0 -dI0)/(2*delta);
        A1 = I0 - A2;
        A4 = (s1*(V0-Vs)-dV0)/(2*delta);
        A3 = V0 - Vs - A4;
        printf('s1 = %.2f, s2 = %.2f\n',s1,s2);
        tau = max([-1/s1 -1/s2]);
        t = 0:0.001:6*tau;
        i = A1*exp(s1*t) + A2*exp(s2*t);
        il = 'A1*exp(s1*t) + A2*exp(s2*t)';
        v = A3*exp(s1*t) + A4*exp(s2*t) + Vs;
        vc = 'A3*exp(s1*t) + A4*exp(s2*t) + Vs';
    else
        disp('Caso de amortecimento crítico');
        s = -alpha;
        A2 = I0;
        A1 = dI0 + alpha*A2;
        A4 = V0 - Vs;
        A3 = dV0 + alpha*A4;
        printf('s = %.2f\n',s);
        t = 0:0.001:6/alpha;
        i = (A2 + A1*t).*exp(s*t);
        v = (A4 + A3*t).*exp(s*t) + Vs;
        il = '(A2 + A1*t)*exp(s*t)';
        vc = '(A4 + A3*t)*exp(s*t) + Vs';
    end
else  
    if alpha<w0
        disp('Caso subamortecido');
        wd = sqrt(w0^2-alpha^2);
        A3 = V0;
        A4 = (dV0 + alpha*A3)/wd;
        A1 = I0 - Is;
        A2 = (dI0 + alpha*A1)/wd;
        printf('s1 = %.2f + j%.2f, s2 = %.2f - j%.2f\n',-alpha,wd,-alpha,wd);
        printf('wd = %.2f\n',wd);
        t = 0:0.001:5/alpha;
        v = exp(-alpha*t).*(A3*cos(wd*t) + A4*sin(wd*t));
        i = exp(-alpha*t).*(A1*cos(wd*t) + A2*sin(wd*t)) + Is;
        vc = 'exp(-alpha*t)*(A3*cos(wd*t) + A4*sin(wd*t))';
        il = 'exp(-alpha*t)*(A1*cos(wd*t) + A2*sin(wd*t)) + Is';
    elseif alpha>w0
        disp('Caso superamortecido');
        delta = sqrt(alpha^2-w0^2);
        s1 = -alpha + delta;
        s2 = -alpha - delta;
        A4 = (s1*V0 -dV0)/(2*delta);
        A3 = V0 - A4;
        A2 = (s1*(I0-Is)-dI0)/(2*delta);
        A1 = I0 - Is - A2;
        printf('s1 = %.2f, s2 = %.2f\n',s1,s2);
        tau = max([-1/s1 -1/s2]);
        t = 0:0.001:6*tau;
        v = A3*exp(s1*t) + A4*exp(s2*t);
        i = A1*exp(s1*t) + A2*exp(s2*t) + Is;
        vc = 'A3*exp(s1*t) + A4*exp(s2*t)';
        il = 'A1*exp(s1*t) + A2*exp(s2*t) + Is';
    else
        disp('Caso de amortecimento crítico');
        s = -alpha;
        A4 = V0;
        A3 = dV0 + alpha*A4;
        A2 = I0 - Is;
        A1 = dI0 + alpha*A2;
        printf('s = %.2f\n',s);
        t = 0:0.001:6/alpha;
        v = (A4 + A3*t).*exp(s*t);
        i = (A2 + A1*t).*exp(s*t) + Is;
        vc = '(A4 + A3*t)*exp(s*t)';
        il = '(A2 + A1*t)*exp(s*t) + Is';
    end
end 
printf('Constantes ED corrente, A1 = %.2f, A2 = %.2f\n',A1,A2);
printf('Constantes ED tensao, A3 = %.2f, A4 = %.2f\n',A3,A4);
printf("il(t) = %s\n",il);
printf("vc(t) = %s",vc);
subplot(211);
plot(t,i)
xlabel('Tempo (s)');
ylabel('Corrente (A)');
xgrid;
subplot(212);
plot(t,v)
xlabel('Tempo (s)');
ylabel('Tensão (A)');
xgrid;

sexta-feira, 23 de setembro de 2016

quarta-feira, 14 de setembro de 2016

segunda-feira, 12 de setembro de 2016

quinta-feira, 1 de setembro de 2016

sexta-feira, 26 de agosto de 2016

Script Scilab - Transitórios RC e RL de Primeira ordem

Senhores Alunos:


Segue, abaixo, o script Scilab completo para a apresentação das equações e o traçado dos gráfico da corrente e da tensão dos transitórios RC e RL de primeira ordem.

Bom uso!

Keywords: transient response, first-order, RC circuit, RL circuit, Scilab.
  
------------------------------------------------------
clc;
clear;
xdel(winsid());
disp('Avaliação do transitorio RL ou RC de 1a ordem');
Tipo = input('Informe <1> para circuito RC <2> RL: ');
disp('Entrada de Dados');
 R = input('Valor de R =');
 Vs = input('Valor de Vs =');
if Tipo==1
    C = input('Valor de C =');
    V0 = input('Valor de V0 =');
    tau = R*C;
else 
    L = input('Valor de L =');
    I0 = input('Valor de I0 =');
    tau = L/R;
end   
t = 0:tau/1000:6*tau;
printf(' tau = %g\n',tau);  
if Tipo==1
        v = Vs + (V0-Vs)*exp(-t/tau);
        i = -C*(1/tau)*((V0-Vs)*exp(-t/tau));
        printf('v = %g + [%g * exp(-t/%g)]\n',Vs,V0-Vs,tau);  
        printf('i = -[%g*exp(-t/%g)]\n',C*(1/tau)*(V0-Vs),tau);  
else  
        i = (Vs/R) + (I0-(Vs/R))*exp(-t/tau);
        v = -L*(1/tau)*((I0-(Vs/R))*exp(-t/tau));
        printf('i = %g + [%g * exp(-t/%g)]\n',Vs/R,I0-Vs/R,tau);  
        printf('v = -[%g*exp(-t/%g)]\n',L*(1/tau)*(I0-Vs/R),tau); 
end 
subplot(211);
plot(t,i)
xlabel('Tempo (s)');
ylabel('Corrente (A)');
xgrid;
subplot(212);
plot(t,v)
xlabel('Tempo (s)');
ylabel('Tensão (V)');
xgrid;

quarta-feira, 24 de agosto de 2016

segunda-feira, 22 de agosto de 2016

quarta-feira, 17 de agosto de 2016

terça-feira, 16 de agosto de 2016

Programação de Computadores I - Primeira Aula 2016/2

Senhores alunos:

Os arquivos ProgramacaoI_ParteI.zipProgramacaoI_ParteII.zip contém todo o material que será utilizado em nossas aulas, agrupados por avaliação. O primeiro arquivo contem, ainda, o plano de ensino com todas as informações necessárias sobre a disciplina.

Os livros, 

FORBELLONE, A. L. V. Lógica de Programação: a construção 
de algoritmos e estruturas de dados. 3.ed. São Paulo: Prentice Hall, 2005.
(15 exemplares na biblioteca)

MANZANO, J. A. Algoritmos: lógica para desenvolvimento 
de programação de computadores. 13.ed. São Paulo: Érica,
2002.
(8 exemplares na biblioteca)

possuem muita informação e exercícios sobre algoritmos organizados em fluxogramas e pseudocódigo. Elaborem os algoritmos e convertam em programas em C ou Scilab.
Programação só se aprende fazendo.

A disciplina não trabalha com lista de exercícios, os exercícios devem ser buscados na literatura.

Referências na Internet:

Boa apostila de C

http://www.inf.ufsc.br/~fernando/ine5412/C_UFMG.pdf

Boa apostila de Scilab (e Organização de Computadores)
http://www.decom.ufop.br/anderson/BCC701/IOPC_2011_1-4.pdf


Bom retorno a todos.

terça-feira, 12 de julho de 2016

terça-feira, 5 de julho de 2016

segunda-feira, 4 de julho de 2016

quarta-feira, 15 de junho de 2016

Computação Científica - Aula de 17/06

Senhores Alunos:


No link abaixo, encontram-se as notas de aula referente ao nosso encontro da próxima sexta:


Até sexta.

Programação de Computadores I - aula de 16/06 e Tarefa II

Senhores Alunos:


Nos links abaixo, encontram-se as notas de aula referentes ao capítulo IV, segunda parte - Tipos de dados compostos - Parte II: registros e uniões e as orientações para elaboração da segunda tarefa.

Até amanhã

segunda-feira, 13 de junho de 2016

quarta-feira, 8 de junho de 2016

segunda-feira, 6 de junho de 2016