sexta-feira, 30 de setembro de 2016

Como realizar consultas no LibreOffice Base

Neste tutorial iremos abordar como realizar consultas no banco de dados do LibreOffice Base. Consulta é um mecanismo muito útil, por que através deste podemos recuperar e classificar os dados de acordo com nossa necessidade.



terça-feira, 27 de setembro de 2016

Como Criar Tabelas no LibreOffice Base


Nesse tutorial abordaremos o que são e como criar tabelas no Base. Começaremos a construir também um catálogo de endereços como exemplo.



sexta-feira, 23 de setembro de 2016

Banco de dados com LibreOffice Base


Iremos abordar nesse tutorial os conceitos iniciais do banco de dados do LibreOffice Base. Construiremos inicialmente um catálogo de endereços.

terça-feira, 20 de setembro de 2016

Download Dev C++

Dev-C++ (também conhecido como Dev-Cpp) é um ambiente de desenvolvimento integrado livre que utiliza os compiladores do projeto GNU para compilar programas para o sistema operacional Microsoft Windows. Suporta as linguagens de programação C e C++, e possui toda a biblioteca ANSI C. A IDE é escrita em Delphi.

Este aplicativo é largamente utilizado em faculdades e cursos técnicos que utilizam essas linguagens de programação




Download

UNIVESP - Informática Portfólio 07


Portfólio 07 – Informática

Exercício de portfólio de apoio



    No primeiro vídeo desta semana, aprendemos os recursos necessários para o desenvolvimento de textos técnicos e científicos. Destaco que estes textos geralmente não mudam sua estrutura com o passar do tempo.
    Os textos técnico-científicos costumam apresentar diagramas, gráficos, equações e figuras. Esse fato, faz com que o profissional de engenharia precise possuir o domínio das ferramentas necessárias para a produção desse tipo específico de literatura. Existem várias ferramentas para essa finalidade, dentre elas destaco o Word, LibreOffice e LaTex.
    O Word e LibreOffice servem bem na elaboração de textos com alguns desses recursos, porém quando o desenvolvimento de um texto com muitos desses recursos é necessário, devemos optar por um software que facilite o trabalho como o LaTex, que oferece uma completa gama de ferramentas para esse fim.
   Ainda nesta aula, foi abordado o uso de algumas ferramentas que auxiliam a produção de literaturas técnicas, como a inserção de referências, gráficos, planilhas dentre outros; o que agregou muito no conhecimento dessa ferramenta.
    A vídeo aula 14 abordou conceitos importantes nas apresentações públicas. Os principais tópicos foram: Recursos necessários ao planejamento, durante a apresentação e depois desta. Esses conceitos são importantes pois constantemente em grandes empresas somos convidados a expor os trabalhos desenvolvidos e ideias apresentadas além dos resultados da própria empresa.
    Nesta aula, aprendemos mais sobre a estrutura de uma apresentação e como o planejamento é importante a fim de que a apresentação tenha um aspecto profissional. Também foram lecionadas boas práticas na apresentação e depois dela, tais como levar questões e/ou realizar questionamentos e coletar o feedback do público.

Referências: Projeto LaTex, disponível em: https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwifk8aIjZ7PAhUJhZAKHV75DpYQFggqMAM&url=https%3A%2F%2Fwww.latex-project.org%2F&usg=AFQjCNF3eWvblrUFVSCKzdZEe3kYVvtWZg&sig2=w0fOp2xcCan84s7b7zBF7A&bvm=bv.133387755,d.Y2I ,acesso em 20/09/2016 11:01:05.

segunda-feira, 19 de setembro de 2016

UNIVESP - Informática Portfólio 01


A evolução dos computadores digitais


Desde os primórdios o homem buscava maneiras de automatizar tarefas como por exemplo a maquina de tecer de Joseph Marie Jacquard que, se valia das primeiras ideias de lógica binária idealizada por matemáticos, como George Boole, para confeccionar vestidos usando cartões perfurados que diziam se o fio iria ficar por cima ou por baixo. Esse invento demonstrou que as máquinas poderiam seguir uma programação baseada m lógica binária.


cm045.jpg
Cartões Perfurados da máquina de tecer de Jacquard

De fato o computador, ou seja, uma máquina de computar, faz muitas tarefas complexas mas todas elas são essencialmente baseadas em cálculos matemáticos embutidas em um conjunto de instruções que processador é capaz de entender.


Com a evolução os primeiros computadores começaram a aparecer, sendo eles mecânicos, eletromecânicos, valvulados e finalmente transistorizados. O computador apresentou um grande avanço em sua capacidade de calculo em curta faixa de tempo, quando se juntou os transistores dentro de uma único pastilha de silício formando os primeiros microprocessadores como aqueles da família Intel e Motorola.

O computador representou grandes interferências na história contemporânea do homem ajudando nos esforços de guerra desde a segunda guerra mundial até os dias de hoje onde a informação precisa ser rápida e confiável exigindo máquinas de grande poder de computo por exemplo em mainframes, sistemas embarcados e críticos.



O computador evoluiu muito além do que os seus principais colaboradores do passado imaginavam. Os primeiros idealizadores não imaginavam que um dia teríamos um computador em casa e muito menos um celular na forma que hoje ele se apresenta.

Elementos da organização de computadores

O computador é um sistema complexo formado por módulos que pode tomar varias formas. No geral ele é composto por meios de entrada e saída de dados, um meio de processamento e memória.

Representação dos dados: Temos varias formas de representar os dados, dentre elas podemos citar o sistema binário, octal, decimal e hexadecimal.

Processador: constitui a CPU que faz tarefas através de um programa constituído de instruções e dados de entrada.
Dentre as características de um processador podemos citar, o conjunto de instruções que ele suporta, o tamanho da palavra, e sua velocidade de clock, e tamanho da memória cache.
Nos tempos atuais, coloca-se cada vez mais núcleos no processadores, devido ao fato da velocidade estar chegando no seu limite praticável.

Memória principal: É composta de uma memória que perde os dados na ausência de energia. Representa a memória mais rápida e cara do computador, esta deve operar na mesma velocidade do processador a fim de não ocasionar perda de desempenho no processador. Suas principais características são: tempo de acesso e tamanho

Memória secundária: Representa a os discos rígidos e SSDs. Estes são os meios de armazenamento onde ficam armazenados os dados que não podem se perder na ausência de energia, como o sistema operacional e programas.

Dispositivos de memória externa: São dispositivos móveis, que guardam dados e podem ser facilmente removidos durante o funcionamento do computador.

Dispositivos de entrada e saída de dados: São os meios que o usuário se comunica com o computador, enviando ou recebendo dados. Fazem a conversão homem-máquina entre o usuário e o computador.

Referências:
https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_computa%C3%A7%C3%A3o , data de acesso: 05/08/2016.

domingo, 18 de setembro de 2016

UNIVESP - Portfólio 06 Introdução a engenharia


Download do Portfólio

Sustentabilidade e a pesquisa na engenharia


Sustentabilidade é o mecanismo que o homem encontrou para utilizar os recursos necessários para sua geração de forma menos invasiva através de práticas sustentáveis, a fim de que as próximas também possam usufruir. Esse conceito é necessário para garantir a vida de nossos filhos e netos além da preservação da natureza.
As práticas sustentáveis possuem 4 pilares: econômico, ambiental, social e cultural. A sustentabilidade ajuda na economia da empresa na forma de legalidade, competitividade, economicidade e na imagem desta. Na parte ambiental atua no ciclo de vida do material, gerando reaproveitamento dos materiais principais e excedentes na própria produção, diminuindo assim a necessidade de retirada e descarte na natureza. No social ela influência a comunidade em que está incluída, trabalhando nas necessidades do ser humano que a compõe. Práticas sustentáveis geram também cultura deixando legados para as gerações futuras.

Ao realizar um projeto, o engenheiro deve considerar a questão sustentável baseando-se nos pilares citados. Deve-se também, realizar uma análise prévia do ciclo de vida do produto. Essa postura faz com que o impacto inicial seja menor, ou seja, é um design sustentável. Nas etapas da pesquisa, se faz necessário o uso de práticas sustentáveis, como requisito e como sugestão de solução alternativa recursos reutilizáveis. Com uma mentalidade sustentável podemos garantir que nossas futuras gerações tenham não só um mundo igual, mas sim melhor do que temos hoje, com menos poluição e mais recursos sustentáveis. 



Referências:

Contratações Públicas Sustentáveis. Disponível em: <http://cpsustentaveis.planejamento.gov.br/?page_id=5 > Acesso em 14 de setembro de 2016.

Atitudes Sustentáveis. Disponível em:  
<http://www.atitudessustentaveis.com.br/sustentabilidade/voce-sabe-sustentabilidadeempresarial/>
Acesso em 14 de setembro de 2016.


UNIVESP - Informática portfólio 06



Download do portfólio

Portfólio 06: Recursos informacionais disponíveis na Web.

Inovação é o desenvolvimento ou aperfeiçoamento de um processo ou produto já existente. A pesquisa é parte primordial desse desenvolvimento e, pode ser realizada de várias formas, variando desde uma simples pesquisa na internet até a consulta de uma equipe de especialistas.
Considerando que o processo de inovar pode ser simples ou complexo, é importante ao profissional de engenharia dominar os recursos disponíveis na web para realizar o projeto. Caso necessário, este poderá consultar um especialista dentro de um subcampo do conhecimento requerido. Esta pratica é amplamente utilizada na engenharia da computação no desenvolvimento de celulares e aviões, onde tecnologias avançadas são empregadas.
O interessado encontra esses especialistas em muitas plataformas web especializadas, como o “Lattes”, que fornece curriculum de diversos profissionais em várias áreas do conhecimento. Outra opção é a contratação de grupos de pesquisa, que estejam trabalhando em áreas de interesse do projeto. Estes podem ser encontrados em plataformas como sites de universidades e em eventos promovidos por associações de profissionais como o CREA. 

 
             
De acordo com os interesses da empresa, pode ser necessário uma pesquisa no mercado, a fim de saber as condições em que esta irá atuar. Tal coleta de dados pode ser realizada sob informações revelada por concorrentes, fabricantes, fornecedores e até consumidores.
O conhecimento necessário pode também ser obtido em teses variadas, patentes, artigos científicos e normas técnicas. Esses documentos devem ser retirados de fontes confiáveis como sites de universidades, INPI, ABNT, entre outros.
As publicações técnicas, obedecem a padrões que auxiliam a compreensão do leitor. Esses padrões são referenciados pela ABNT, regrando assim a estrutura do texto e outorgando a validade dentro das áreas acadêmica e profissional. O conhecimento dessas regras interessa tanto ao produtor do conhecimento quanto ao leitor, visto que este pode navegar e retirar o conhecimento de forma facilitada.










             

Referências:

Inovação Tecnológica. Disponível em: <http://www.inovacaotecnologica.com.br/index.php> Acesso em 12 de setembro de 2016.


quarta-feira, 29 de junho de 2016

Como usar a IDE SASM para fazer programas assembly.


Este é um rápido tutorial de como baixar e usar o SASM.

O que é o SASM?

É uma IDE multiplataforma, utilizada para escrever programas em assembly NASM, MASM, entre outros.

Como baixo?

Disponibilizei o download no drive nas versões x64_86 e i386. Se preferir vc pode baixar direto do site dos desenvolvedores (apenas utilizo, não desenvolvi nem ajudei no projeto).

Como instalo?

Depois que baixar o programa no ubuntu, abra com o instalador de aplicativos do sistema.

Como uso?

É bem simples e intuitivo. Para criar um novo programa basta criar um novo projeto, escrever o código desejado e clicar na seta verde (build and run). A saída padrão aparecerá na janela OUTPUT, assim como a entrada na INPUT.

Estrutura básica de um programa assembly NASM (ubuntu)


Neste tópico irei abordar alguns conceitos básicos da linguagem Assembly utilizada pelo compilador NASM. Expliquei como compilar programas assembly no ubuntu neste post.

Vantagens da linguagem Assembly

  1. Interfaceia os programas diretamente com o hardware, sistema operacional e BIOS.
  2. O fato da linguagem ser de baixo nível, permite que programa rode geralmente mais rápido e consumindo menos memória.
  3. Devido sua facilidade em acessar hardware, é uma boa alternativa na hora de construir drivers e afins.

Desvantagens da linguagem Assembly

  1. Em muitos casos é pouco produtiva em termos de tempo.
  2. Pode exigir bem mais conhecimentos do que uma linguagem de nivel alto.
  3. Em muitas situações, especialmente em processadores de arquitetura RISC (acrônimo de Reduced Instruction Set Computer; em português, "Computador com um conjunto reduzido de instruções") você terá de construir as rotinas manualmente.

Endereçando dados na memória em assembly

O processo de execução ou ciclo de execução se divide em três partes principais: buscar , decodificar e executar as instruções.

Em determinados grupos de dados o processador terá que "quebrar" a informação que está no registrador para armazenar na memória. 

Por exemplo, um valor 1012h poderá ser dividido em dois grupos de 1 byte, o primeiro armazenando 10h e o segundo com 12h. 

Os dados são armazenados na memória de forma reversa, ou seja, na posição da memória "x" será armazenado o valor 12h já na posição x+1, o valor 10h. Quando retirado da memória para os registradores, ocorre novamente uma troca pelo qual ele volta a ficar na posição original.

Existem dois tipos de enderaçamento de memoria: endereçamento por valor"absoluto" e por "segmentação". No endereçamento direto ou absoluto, faz-se referenciamento ao endereço diretamente; já no endereçamento por segmentação é usado um sistema de offset, no qual é usado um endereço inicial mais um valor chamado "offset".

Sintaxe básica de um programa assembly

Um programa em assembly é comumente dividido em trẽs seções:
  • section .data -  seção utilizada para guardar constantes e dados inicializados (aqueles que já são declarados junto com a sua inicialização).
  • section .bss -  seção que guarda as variáveis de seu programa.
  • section .text - este é o local que irá armazenar as instruções , ou seja, o código. Esta seção deve conter o ponto de entrada do sistema que é representada pela declaração global main.
Exemplo:
section .text        ;seção onde o código é escrito
    global main   
main:                  ;ponto de entrada do linker
    mov edx,len   
    mov ecx,msg  
    mov ebx,1      
    mov eax,4      
    int 0x80         
 
    mov eax,1      
    int 0x80

section .data       ;dados inicializados e constantes
msg db 'Ola mundo!', 0xa   ;string

len equ $ - msg                    ;tamanho da string
section .bss

Comentários

São representados pelo ";" seguidos do comentário.
Exemplo:

add ah,bh ;isto é um comentário 

Declarações da linguagem Assembly

São basicamente três tipos de delclarações: instruções, diretivas e macros.

  • Instruções são códigos voltados à máquina, o que gera a execução de uma ação e dizem efetivamente o que o processador deve fazer. Essas instruções geram um código de máquina.
  • Diretivas são voltadas ao compilador e não a máquina. Dizem ao compilador (assembler) como será o processo de assemblagem (compilação).
  • Macros funcionam como simples substituição de texto. 
A partir de agora iremos fazer nossos primeiros programas nessa maravilhosa linguagem. Para isso recomendo instalar o SASM, que é uma IDE que utilizo para construir meus programas e é bem compativel com o NASM.


Neste post aprendemos a montar o esqueleto básico em assembly. No próximo, começarei a explicar os tópicos principais desta linguagem.

terça-feira, 28 de junho de 2016

Como compilar um programa em C com o CodeBlocks



No último tutorial sobre C, ensinei сomo compilar um programa diretamente pelo terminal. Desta vez irei ensinar como instalar e compilar um programa em C usando o CodeBlocks.

Instalando o CodeBlocks

Para instalar basta conectar-se a internet, abrir o terminal e digitar o seguinte comando:

sudo apt-get install codeblocks

 
Se tudo ocorrer corretamente você poderá ir no "ubuntu software" ou no "pesquisar no seu computador" e digitar "codeblocks". Com isso deve aparecer o ícone do programa e poderá iniciar o mesmo por lá.
Outra forma de executar o programa é via terminal digitando:

codeblocks & 

Vale ressaltar que após uma reinicialização, o ícone irá aparecer na barra de lançamento.

Feito isso, o CodeBlocks vai mostrar sua tela inicial:


Para criar um novo projeto, na tela inicial clique em: Creat new Project >> Console aplication >> Next >> clique em C e depois em Next >> dê um nome para o projeto e denovo Next >> e depois em Finish.

Feito isso irá aparecer essa tela:



Rodando o programa

Na aba "projects" do lado esquerdo,  dê um duplo-clique em sources >> main.c.

Vai aparecer seu hello world pronto para ser executado . Para compilar e rodar o programa basta apertar "F9".



Cabe relembrar que, para aqueles que escrevem rotinas em windows, que algumas bibliotecas não são compatíveis com o linux, um belo exemplo é a famosa e útil "conio.h" ou "console input/output" muito usada para formatar a saída pro terminal. Tem uma alternativa para a conio.h  chamada unistd.h mas não espere encontrar os mesmo comandos.

Esse compilador será utilizado em nossos próximos tutoriais em linguagem C por ser de fácil manuseio em ubuntu. Por usar o compilador nativo do ubuntu ele é bem compatível.

quinta-feira, 23 de junho de 2016

Compilando programas em assembly no ubuntu com o NASM


Instalando o NASM


Na última postagem mostrei como compilar programas em C utilizando o compilador nativo GCC. Hoje irei explicar um procedimento similar com a linguagem Assembly.

Nessa postagem irei me abster a compilação, até para as pessoas que já tem experiência em outros compiladores e plataformas poderem aproveitar da melhor forma possível.

Em primeiro lugar é necessário saber se o NASM está instalado da seguinte forma: Abra o terminal e digite "nasm -h" , se aparecer algo parecido com a imagem abaixo o nasm não está no seu PC. Caso não esteja basta apenas digitar "sudo apt install nasm" quando estiver com conexão na internet.

 Segue o exemplo abaixo:




Como segunda alternativa, você pode baixar o NASM direto do site.

Como instalar pelo arquivo do site?

1 - Baixe a versão que desejar
2 - Extraia o arquivo
3 - Abra o terminal na pasta que extraiu o arquivo
4 - Digite "./configure"
5 - Digite "make"
6 - Digite "make install"

 

Compilando um programa "Olá mundo!".

Agora sim vamos ao que interessa, para gerar um programa que diga "Olá mundo!" no terminal, primeiro deve-se baixar este arquivo ou escrever o seguinte programa:


section .text
    global main    ;precisa ser declarado pro linker
main:                  ;ponto de entrada do linker
    mov edx,len    ;tamanho da mensagem
    mov ecx,msg   ; mensagem a ser gravada
    mov ebx,1       ;saida em stdout
    mov eax,4       ;numero da chamada do sistema
    int 0x80          ; chamada do kernel
 
    mov eax,1       ;chamada sys_exit
    int 0x80

section .data
msg db 'Ola mundo!', 0xa   ;string

len equ $ - msg                      ;tamanho da string

Salve o arquivo com o nome de "ola.asm", e abra o terminal onde salvou o arquivo. Feito isso abra o terminal na pasta (explique isso no post de como compilar programas em c no ubuntu) e digite "nasm -f elf ola.asm", isso vai gerar um arquivo objeto "ola.o".



Agora digite "ld -m elf_i386 -s -o ola ola.o", irá aparecer um aviso mostrando que o ponto de entrada não foi definido, mas não se procupe. Este passo deve gerar um executável.

Finalmente para executar basta digitar no terminal "./ola". Deverá aparecer um Ola mundo no terminal.


 No próximo post irei explicar a estrutura de um programa da linguagem assembly NASM para ubuntu. 

Até breve!




terça-feira, 14 de junho de 2016

Compilando programas em c no ubuntu.




Para quem está iniciando na programação em C, surgem muitas dúvidas de como gerar códigos executáveis.

Hoje vou ensinar como compilar na linha de comando do ubuntu. com um compilador nativo deste chamado de GCC.

Vamos escrever um programa simples chamado hello.c que imprime (ou seja faz aparecer na tela) uma mensagem, a famosa "hello world".

Vamos, inicialmente criar um novo documento, clicando com o botão direito do mouse depois em novo documento>>documento vazio. Vamos chamar esse documento de "hello.c"




Agora vamos abrir o programa em digitar o seguinte texto:

#include<stdio.h>

void main(){

    printf("Hello world");

}

Agora salve o programa,  navegue até a pasta que salvou o programa, e clique com o botão direito em um lugar da pasta que esteja sem nenhum arquivo,  depois clique em "abrir no terminal".




 


Vamos compilar nosso programa digitando "gcc hello.c -o hello" . Para executar nosso programa basta digitar "./hello" .

Isto produzirá na tela o hello world!




Em outra publicação explico como fazer um programa em C com o CodeBlocks.
Até a próxima.

Gradiente descendente em python para problemas em 1° grau

O seguinte código utiliza o recurso gradiente descendente para descobrir dois parâmetros, theta e theta1, que irão descrever uma equação d...