terça-feira, 18 de dezembro de 2012

Microprocessadores - Lista x86

Senhores Alunos:

Estou disponibilizando o link que dá acesso à lista de exercícios para o microprocessador 8086:


Até amanhã


quarta-feira, 12 de dezembro de 2012

terça-feira, 11 de dezembro de 2012

segunda-feira, 10 de dezembro de 2012

Homenagem a Ada Lovelace

Prezados

Hoje, a página principal do Google homenageia Ada Byron Lovelace, a criadora do primeiro programa de computador.

Até breve!

quarta-feira, 5 de dezembro de 2012

terça-feira, 4 de dezembro de 2012

Aula de Microprocessadores - 5/11

Senhores alunos:

No link abaixo, é possível baixar o material que será trabalhado nos próximos encontros:

  •  Material sobre o 8086.
   
Até breve!

Programação C - Tecnólogo - Tarefa 2

Senhores Alunos:

Segue link com os requisitos da segunda tarefa:

A tarefa dece ser enviada por email até 20/12/12. O email deve conter:
  • Pasta do projeto compactada;
  • O arquivo fonte deve ser endentado, com cabeçalho contendo nome do autor e devidamente comentado.
Será enviado uma confirmação do recebimento do email.

Até breve!

 

segunda-feira, 3 de dezembro de 2012

quinta-feira, 29 de novembro de 2012

Microprocessadores - Aula de 30/11

Senhores Alunos:

Avaliem o aprendizado dos conteúdos vistos até o momento na disciplina, acessando o link abaixo:


 Não esqueçam que a nossa avaliação foi marcada para o dia 12/12!

Até amanhã.


terça-feira, 27 de novembro de 2012

Aula de microprocessadores - 28/11

Senhores Alunos:

Cliquem nos links abaixo para acessar o material sobre a Organização do Neander, todos baseados no livro texto:

- Organização do Neander 1 - Autor: Jose Guntzel;
- Organização do Neander 2 - Autor: Jose Guntzel;
- Organização do Neander - Autor: C. A. Lisboa.

Até amanhã!

 

Linguagem C - solução de exercício

Senhores alunos:

Exercício proposto: Faça uma função que receba uma frase do programa principal e retorne a frase sem os espaços.

Solução:

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

void tiraespaco(char*);

int main()
{   char frase[100];
    printf("Entre com uma frase\n");
    gets(frase);
    tiraespaco(frase);
    printf("A frase sem espacos fica\n%s",frase);
    return 0;
}

void tiraespaco(char* ptr_frase)
{   int n=0;
    char* ptr_copy = ptr_frase;
    while(*ptr_frase)
    {
         if(*ptr_copy==' ')ptr_copy++;
        *ptr_frase=*ptr_copy;
        ptr_frase++;
        ptr_copy++;
    }
}
 


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

Até mais!

quinta-feira, 22 de novembro de 2012

Tarefa I - Microprocessadores

Senhores Alunos:

Cliquem aqui para acessar a primeira tarefa de Microprocessadores. A data limite para a entrega é 5/12.
A nossa primeira avaliação será no dia 12/12. Programem-se!

Boa Noite!

segunda-feira, 19 de novembro de 2012

quarta-feira, 14 de novembro de 2012

Microprocessadores - Aula de 15/11

Senhores Alunos:

Dia 15/11, conversaremos sobre o uso de subrotinas no computador hipotético Ramses e iniciaremos o processo de resolução dos exercícios  propostos pelo livro texto (páginas 172 - 174).

Até breve!

terça-feira, 13 de novembro de 2012

Microprocessadores - Aula de 13/11

Senhores Alunos:

Seguem os links com o material para a nossa próxima aula, ambos de autoria do prof. Raul Weber.

Até amanhã!

Programação C - Tecnólogo - Aula de 13/11

Srs alunos da turma 2030411A:

Cliquem aqui para acessar o material sobre ponteiros.

Até breve.

segunda-feira, 12 de novembro de 2012

Introdução a Linguagem C++ - Parte II

Pessoal:

Está disponível a segunda parte do curso introdutório de C++.

Cliquem aqui para acessá-la.


Um abraço!

quinta-feira, 8 de novembro de 2012

quarta-feira, 7 de novembro de 2012

Programação C - Tecnólogo - Exercícios: pré-processador C

Srs alunos da turma 2030411A:

Segue o link para acessar a lista de exercícios sobre o pré-processador C.

Até a próxima postagem

terça-feira, 6 de novembro de 2012

Microprocessadores- Aula de 7/11

Senhores Alunos:

Seguem os links para acessar o material da aula de amanhã:


Até amanhã!  

Programação C - Tecnólogo - Aula de 06/11

Srs alunos da turma 2030411A:

Segue o link para acessar o material da aula de hoje.

Até mais!

Programação C

Srs alunos:

Segue a solução do exercício abaixo, agora utilizando uma função recursiva:

Elabore uma função (e um programa para testá-la) que solicite um número inteiro ao usuário e crie um novo número inteiro com os dígitos em ordem inversa. Por exemplo, uma execução do programa é:

Digite um número inteiro: 5382

Seu número invertido é:   2385


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

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


/* Elabore um programa que solicite um número inteiro ao usuário
 e crie um novo número inteiro com o s dígitos em ordem inversa.
 Por exemplo, uma execução do programa é:

Digite um número inteiro: 5382
Seu número invertido é:   2385 */


int inverte(int num, int peso)
{  int resto;
   if(num>0)
    {   resto=num%10;  
        return peso*resto + inverte(num/10,peso/10);
    }
    else return 0;
}


int main()
{   unsigned int num_inv = 0, num, peso=1,num_digitos,i;
    char num_string[10];
    printf("Digite um um numero inteiro: ");
    gets(num_string);
    num_digitos=strlen(num_string); // descobre o numero de digitos
    num=atoi(num_string);
    for(i=1;i<num_digitos;i++)peso=peso*10; // determina o peso maximo
    num_inv=inverte(num,peso);
    printf("\nSeu n\xA3mero invertido \x82:   %d",num_inv);
    return 0;

quarta-feira, 31 de outubro de 2012

Programação C

Srs alunos:

Segue a solução do exercício:

Elabore uma função (e um programa para testá-la) que solicite um número inteiro ao usuário e crie um novo número inteiro com os dígitos em ordem inversa. Por exemplo, uma execução do programa é:

Digite um número inteiro: 5382

Seu número invertido é:   2385


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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Elabore um programa que solicite um número inteiro ao usuário
 e crie um novo número inteiro com o s dígitos em ordem inversa.
 Por exemplo, uma execução do programa é:

Digite um número inteiro: 5382
Seu número invertido é:   2385 */

int inverte (unsigned int,unsigned int); // protótipo da função

int main()
{   unsigned int N_inv , num, peso=1,num_digitos,i;
    char num_string[10];
    printf("Digite um um numero inteiro: ");
    gets(num_string);
    num_digitos=strlen(num_string); // descobre o numero de digitos
    num=atoi(num_string);
    for(i=1;i<num_digitos;i++)peso=peso*10; // determina o peso maximo
    N_inv=inverte(num,peso);
    printf("\nSeu n\xA3mero invertido \x82:   %d",N_inv);
    return 0;
}

int inverte (unsigned int num, unsigned int peso)
{   unsigned int num_inv=0,resto;
    while(num>0)
    {
        resto=num%10;   // obtem o resto
        num=num/10;     // atualiza numero
        num_inv = num_inv + peso*resto; // compoe o numero
        peso=peso/10;    // atualiza o peso
    }
    return num_inv;
}

Programação C - Tecnólogo - Aula de 01/11

Srs alunos da turma 2030411A:

Segue o link para acessar o material da nossa próxima aula. O material é de autoria do prof. Ugo Dias da UNB.

Fiquem atentos para um pequeno erro na página 13 do material:

  • enquanto que as variáveis estáticas externas somente podem ser acessadas pelas funções do mesmo programa-fonte e definidas abaixo de suas declarações. (Faltou a palavra "estáticas")

Até amanhã!

terça-feira, 30 de outubro de 2012

Ficção científica x realidade

Pessoal:


Recentemente, li, em uma revista nacional de grande tiragem, que um cientista da Nasa pretende testar em Laboratório o sistema de propulsão  que possibilitava que a nave Enterprise da série Jornada nas Estrelas (Star Trek) viajasse pelas galáxias - a dobra espacial (warp drive). Basicamente, a dobra espacial consiste em distorcer o espaço ao redor da nave, expandindo o espaço na parte traseira e contraindo na parte dianteira, impulsionando a nave acima da velocidade da luz (em relação à Terra). Assim, viagens que hoje durariam dezenas de anos poderiam ser feitas em meses. É claro que a dobra a ser criada em laboratório consumirá uma quantidade de energia minúscula quando comparada a energia necessária para deslocar uma nave. Porém, para dar um grande passo, é necessário começar com um bem pequeno.

Vale lembrar que Arthur Clarke, o maior escritor de ficção científica de todos os tempos, previu, em 1945, que os satélires geoestacionários seriam utilizados para estabelecer a comunicação entre diversos pontos do globo terrestre. O primeiro satélite foi lançado apenas em 1957.

Outra previsão de Clarke que, segundo o famoso consultor de tecnologia Ray Kurzweil, deve se tornar realidade daqui a 30 anos, é a criação de computadores conscientes, capazes de conversar com um ser humano (sem a intervenção de outro ser humano, é claro). Quem assistiu "2001, Uma Odisséia no  Espaço" deve lembrar do computador Hall! Tudo bem, neste caso Clarke estaria 30 anos adiantado na sua previsão. Vale a pena ler a obra de Clarke para conhecer o mundo que ele imaginou e que muito tempo depois começa a se materializar.

Livros de Arthur Clarke que eu recomendo (para começar):
  Todos estes livros podem ser encontrados na Estante Virtual


Vale a pena, também, ler o livro "A Era das Máquinas Espirituais" de Ray Kurzweil que apresenta uma visão dos avanços tecnológicos que resultarão na criação de computadores conscientes. Uma previsão de Kurzweil neste livro, que já foi antecipada, em 1966, na Série Jornada das Estrelas (a mesma da "dobra espacial"), é o surgimento dos tradutores (tradução de linguagem fala-fala) em tempo real. Na Enterprise, existia um tradutor universal que permitia a comunicação com os extraterrestres.
" A Era das Máquinas Espirituais" é uma publicação da Editora Aleph. A Editora Aleph está reeditando, para a alegria dos leitores de ficção científica, diversos títulos que por muito tempo estiveram indisponíveis, como a saga Duna de Frank Herbert, adaptada para o cinema (os filmes, porém, não recomendo).

Até breve!

Microprocessadores - Aula de 31/10

Senhores Alunos:

Cliquem aqui para acessar o material da próxima aula.

Boa Noite!

segunda-feira, 29 de outubro de 2012

Programação C - Solução de exercício

Senhores alunos da turma 2030411A (Tecnólogo):

Segue a solução do programa para estimar o valor da conta de energia (com  apenas 5 itens).

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

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


/******************************************************

Faça um programa para estimar o valor da conta de
energia elétrica em função dos equipamentos presentes
na casa do consumidor.
– Para cada aparelho escolhido deve ser perguntado o
número de dias em que o equipamento é utilizado
durante o mês e as horas de utilização dia.
– No caso das lâmpadas, perguntar ainda o número de
lâmpadas.
– No caso de aparelhos de uso contínuo (refrigerador) só
acumular o número de kwh.
– Prever 20 itens.
– Calcular o valor da conta com base na tabela atual da
concessionária de energia.
– http://www.inmetro.gov.br/consumidor/tabelas.asp


******************************************************/

int main()
{  int caso=1,n_15=0;
   float consumo=0,horas,valor;
   const float TARIFA_1=0.377;
   const float TARIFA_UP=0.446820;
   while(1)
   {   if(caso==0)break;
       printf("Escolha um eletrodomestico\n");
       printf("<1> Lampada compacta de 15W\n");
       printf("<2> Chuveiro eletrico\n");
       printf("<3> Refrigerador duplex\n");
       printf("<4> Televisao de LED 33 polegadas\n");
       printf("<5> Notebook\n");
       printf("<0> Calcular valor do consumo\n");
       scanf("%d", &caso);
       switch (caso)
       {
          case 1:
                printf("Quantas lampadas?\n");
                scanf("%d",&n_15);
                printf("Quantas horas ficam ligadas por dia?\n");
                scanf("%f",&horas);
                consumo = consumo + 0.015*n_15*horas*30;
                system("cls");
                printf("Consumo Parcial = %.2f kWh\n\n", consumo);
                break;
          case 2:
                printf("Quantas horas de uso por dia?\n");
                scanf("%f",&horas);
                consumo = consumo + 5*horas*30;
                system("cls");
                printf("Consumo Parcial = %.2f kWh\n\n", consumo);
                break;
           case 3:
                consumo = consumo + 52;
                system("cls");
                printf("Consumo Parcial = %.2f kWh\n\n", consumo);
                break;
           case 4:
                printf("Quantas horas de uso por dia?\n");
                scanf("%f",&horas);
                consumo = consumo + 0.07*horas*30;
                system("cls");
                printf("Consumo Parcial = %.2f kWh\n\n", consumo);
            break;
            case 5:
                printf("Quantas horas de uso por dia?\n");
                scanf("%f",&horas);
                consumo = consumo + 0.04*horas*30;
                system("cls");
                printf("Consumo Parcial = %.2f kWh\n\n", consumo);
            break;
          case 0:
                printf("Voce saiu do programa!\n\n");
            break;
          default:
            printf("Escolha novamente\n\n");
            break;
        }
   }
    if(consumo>150)
        valor = 150*TARIFA_1 + (consumo-150)*TARIFA_UP;
    else
        valor = consumo*TARIFA_1;
    printf("Sua conta \x82 de R$ %.2f\n",valor);

   return 0;
}


Programação C - Tecnólogo - Aula de 30/10


Senhores alunos da turma 2030411A (TECNÓLOGO):

Cliquem aqui para baixar o material da próxima aula.


Até a próxima postagem!

quinta-feira, 25 de outubro de 2012

Microprocessadores - Aula de 26/10

Senhores Alunos:

Cliquem aqui para acessar o conteúdo da próxima aula.

  • Arquiteturas e número de endereços;
  • Arquitetura Von Neumann x  Arquitetura Harvard;
  • CISC x RISC;
  • O "Neander" RISC.

Até breve!

quarta-feira, 24 de outubro de 2012

Introdução a Linguagem C++ - Parte I

Pessoal:


Estou disponiblizando, aos interessados, um curso introdutório de C++ voltado para programadores com alguma experiência em ANSI C. 

Para que as turmas que estão acompanhando as minhas aulas de C neste semestre possam acompanhar o curso, ele será disponibilizado em uma série de arquivos e com o "time" adequado,

Cliquem aqui para acessar a primeira parte do curso.


Boa leitura!

terça-feira, 23 de outubro de 2012

Microprocessadores - Aula de 24/10

Senhores alunos:

Cliquem aqui para acessar o material sobre o processador hipotético Ahmes de autoria do prof. Guntzel da UFPEL.

Até mais! 

Exercícios - Linguagem C

Senhores Alunos:

Seguem alguns exercícios selecionados aleatoriamente do livro:


MIZRANI, Victorine Viviane. Treinamento em Linguagem C. São Paulo: Pearson Prentice Hall, 2008.


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

1. Sabendo que o latão é obtido fundindo-se sete partes de cobre com três partes de zinco, faça um programa que solicite quantos quilos de latão se quer produzir e imprima quantos quilos de cobre e de zinco são necessários.


2. Faça um programa que imprima os caracteres da tabela ASCII de códigos 32 a 255. O programa deve imprimir cada caractere, seu código decimal e seu código hexadecimal.


3. Elabore um programa que solicite um número inteiro ao usuário e crie um novo número inteiro com o s dígitos em ordem inversa. Por exemplo, uma execução do programa é:


Digite um número inteiro: 5382

Seu número invertido é:   2385

4. Escreva um programa que encontre o menor inteiro positivo n que satisfaça as seguintes condições:


n/3 = x inteiros e resto 2

n/5 = y inteiros e resto 3
n/7 = z inteiros e resto  4.

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

Até breve!

Programação C - Tarefa I

Senhores alunos da turma 2030411A (TECNÓLOGO):

Cliquem aqui para acessar os requisitos da Primeira Tarefa. 


A tarefa deve ser enviada por e-mail até 1/11/2012 às 23h 59' 59''. O email deve conter: 
  • Pasta do projeto compactada;
  • O Arquivo fonte deve estar endentado, com cabeçalho contendo nome do autor e devidamente comentado.
  Será enviado uma confirmação do recebimento do e-mail.

Até a próxima postagem!

terça-feira, 16 de outubro de 2012

Programação C - Solução de exercício

Senhores alunos:

Segue a solução do exercício - Faça um programa que imprima na tela a sequência (usando laços):
*
**
***
****
*****
******
*******
----------------------------------------------------------------------

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

int main()
{   char i,cont;
    for(cont=1;cont<=7;cont++)
    {
        for(i=0;i<cont;i++)
            printf("*");
        printf("\n");
    }
    return 0;
}


Introdução a programação em Linguagem C - Aula de 22/10

Senhores alunos da turma 1880331A:

Cliquem aqui para acessar o material da próxima aula.

Não esqueçam de terminar os exercícios propostos nos slides da aula passada.

No mais, aproveitem as atividades da semana comemorativa do Jubileu de Prata do Departamento de Eletrônica.

Boa semana!


Programação C - Aula de 23/10

Senhores alunos da turma 2030411A:

Cliquem aqui para acessar o material da aula de 23/10.

Não esqueçam de fazer os exercícios propostos nos slides da aula passada.

No mais, aproveitem as atividades da semana comemorativa do Jubileu de Prata do Departamento de Eletrônica.

Boa semana!

terça-feira, 9 de outubro de 2012

Compra de livros usados

Boa tarde:

Antes de adquirir um livro, confira se o título está disponível na Estante Virtual, o maior acervo de livros usados do Brasil. Adquirir livros usados é mais econômico e mais ecológico.
As compras podem ser feitas com cartão de crédito através do PayPal. Se o livro estiver disponível em um livreiro de sua cidade, você pode efetuar a compra pessoalmente na loja física, economizando o frete.
 
Um abraço!

Lista de Exercícios - Processador hipotético Neander

Senhores alunos de Microprocessadores,

cliquem aqui para baixar a lista de exercícios sobre o processador Neander.

Até breve!

segunda-feira, 8 de outubro de 2012

Programação C - Aulas da semana

Senhores alunos da turma 2030411A:

Segue o link com o material das próximas aulas:

                    Próximas aulas

Até breve!

Introdução a Programação em Linguagem C - Aula de 8/10

Senhores alunos da turma 1880331A:

Segue o link com o material da próxima aula:

               Terceira Aula.

Um abraço!

quinta-feira, 4 de outubro de 2012

Microprocessadores - Aula de 5/10

Senhores Alunos:
Baixem aqui o material sobre sistemas de numeração.
Baixem aqui o material sobre o processador hipotético Neander de autoria do prof. Guntzel da UFPEL.   LINK CORRIGIDO EM 27/03/13!
Baixem aqui os simuladores dos processadores hipotéticos, elaborados pelo autor do livro Fundamentos de Arquitetura de Computadores, Prof. Raul Fernando Weber.
Até breve!

terça-feira, 2 de outubro de 2012

Programação C

Senhores alunos de Programação C (Tecnólogo):

Seguem os links com o material das primeiras aulas:
- Aula 1.
- Aula 2.

Baixe aqui o plano de ensino da disciplina.

Até a próxima postagem!

Microprocessadores - Aulas de 28/09 e 03/10

Senhores alunos da turma 2030411A:

Baixe aqui o material sobre história dos computadores e aqui um material introdutório sobre organização e arquitetura de computadores elaborado por um professor da Universidade do Minho (Portugal). 

Até breve!

quarta-feira, 26 de setembro de 2012

Microprocessadores - Plano de Ensino

Senhores alunos da turma 2030411A:

Baixe aqui o plano de ensino da disciplina de Microprocessadores.

Até logo!

terça-feira, 25 de setembro de 2012

Introdução a Programação em Linguagem C - Aula de 01/10/12

Senhores alunos da turma 1880331A:

Cliquem no link abaixo para acessar o conteúdo da próxima aula:

 
A propósito, fiz pequenas correções nos slides da aula passada. Por favor, atualizem:
 

Um abraço.

segunda-feira, 24 de setembro de 2012

Segurança na Internet

Bom Dia:
 
O Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil (CERT) mantido pelo NIC.br, do Comitê Gestor da Internet no Brasil, disponibiliza uma cartilha que contém recomendações e dicas para o usuário utilizar de forma mais segura os recursos da Internet.
 
Para facilitar a compreensão de certos conteúdos da Cartilha, o CERT disponibilizará periodicamente fascículos ilustrados.
 
Apresente o fascículo sobre redes sociais para as crianças e adolescentes sob sua responsabilidade, evitando problemas futuros.
 
 
Até breve!


quinta-feira, 20 de setembro de 2012

Desenvolvendo aplicativos em C

 Senhores alunos:

 
O Code::Blocks é um ambiente de desenvolvimento integrado (IDE) de código aberto e multiplataforma (Linux, MAC OS e Windows) para as linguagens C e C++. Ele oferece suporte a diversos compiladores como GCC/MinGW, SDCC, Intel C++, GNU AVR GCC entre outros.
 
O tutorial disponível em http://www.feng.pucrs.br/~jclima/downloads/Utilizando%20o%20Code%20Blocks.pdf  vai auxiliá-los no primeiro contato com o Code::Blocks
 
Link para download do arquivo de instalação:
 
 
Até uma próxima postagem!
 
 

quarta-feira, 19 de setembro de 2012

Livro "AVR e Arduino: Técnicas de Projeto"

Pessoal:

Conheçam o melhor material publicado em português sobre técnicas de projeto para microcontroladores clicando na figura abaixo! 


 Obtenha aqui a versão de avaliação completa em baixa resolução.

Para adquirir: clube dos autores.

Disponível também na versão ebook (pdf).


Um abraço!

 Keywords: AVR, arduino, microcontroller, Atmega, firmware.

Introdução a Programação em Linguagem C - Aula de 24/09/12

Senhores alunos da turma 1880331A:

Cliquem no link abaixo para acessar o conteúdo da aula:


Conheçam o Plano de Ensino.

Um abraço

Postagem Inaugural

Este Blog será utilizado como um meio de comunicação com os meus alunos do Instituto Federal de Santa Catarina - Campus Florianópolis.
Serão postados aqui assuntos de interesse geral e links para baixar materiais de minha autoria que serão utilizados ao longo dos semestres letivos.

Bom uso!