Estrutura de Dados e Programação.

Estruturas de dados é uma disciplina do curso de Sistemas de Informação voltada ao estudo de técnicas para manipulação de dados e soluções de problemas envolvendo uso computacional de dados...

MWC 2011 - Tablets e Smartphones LG.

A LG apresentou nesta segunda-feira (14/2) o Optimus 3D e o Optimus Pad, smartphone e tablet que são capazes de captar imagens e vídeos em 3D ...

Rotina e programação.

Ontem, 09, comecei a ter a mesma sensação do ano que passou. A sensação da rotina. Os mesmo rituais do dia a dia. Isso é chato. Não deixem se pegar pela rotina. A rotina é inimiga da perfeição. ... .

Volta as aulas e trote universitário

Ontem, 07, foi meu primeiro dia de aula deste ano. As aulas recomeçaram. O primeiro dia de aula é sempre aquela ansiedade: rever os amigos, novos professores, novas pessoas...

Se linguagens de programação fossem religiões...

Achei esse texto muito interessante em um fórum e resolvi traduzir(google) e posta-lo aqui. Podem confirir o Original clicando...

quarta-feira, 16 de fevereiro de 2011

Estrutura de Dados I e PROGRAMAÇÃO I

Introdução às Estruturas de Dados  


Estruturas de dados é uma disciplina do curso de Sistemas de Informação voltada ao estudo de técnicas para manipulação de dados e soluções de problemas envolvendo uso computacional de dados.
Trata-se da evolução da disciplina de Algoritmos, onde iremos utilizar os conceitos aprendidos até
hoje e adicionar termos, técnicas e modelos a fim de aprimorar os nossos conhecimentos em relação
ao desenvolvimento de software.
Sabemos que para uma mesma tarefa, diferentes algoritmos podem ser desenvolvidos, todos
retornando o mesmo resultado esperado. O que diferencia um algoritmo de outro será a quantidade
de linhas de código necessárias, custo computacional exigido, entre outros fatores.

Tipos de Dados


Como já sabemos, o bit (binary digit) é a unidade
básica de memória do computador e representa
um valor entre 0 e 1.
Como é muito difícil representar informações por
meio de um único bit, o computador faz um
agrupamento de bits a fim de possibilitar a
representação mais adequada de cada dado.
Em um programa de computador, as áreas de
memória utilizadas para armazenamento de dados
são chamadas de variáveis.
A forma com que os dados poderão ser
representados e manipulados pelo computador é
definida pelo tipo de dado utilizado. Exemplo:
números quebrados (float), letras (char), dinheiro
(float), contagem (integer).
A maioria das linguagens de programação de alto nível possuem tipos de dados primitivos (inteiro,
real, caractere e lógico), além de mecanismos para criação de novos tipos de dados para solução de
problemas mais específicos.


Tipos de Dados Abstratos (TDA)


Como os tipos de dados já são conhecidos por nós, vamos agora iniciar um estudo sobre os tipos de dados abstratos, que são modelos matemáticos definidos por um conjunto de valores e operações.
Exemplos de TDAs são: Pilhas, Listas, Filas e Árvores.
Já que um TDA é um modelo matemático, nossa função como programador é desenvolver uma
solução (implementar) utilizando tipos de dados já existentes e técnicas de desenvolvimento de
software já conhecidas a fim de que a TDA resulte em um tipo de dado primitivo.

Variável e Constante
No contexto de desenvolvimento de software, as variáveis são formas de alocação de dados na
memória a fim de serem utilizados pelo programa.
Uma variável, como o nome já diz, pode ter seu conteúdo modificado em tempo de execução. Além
disso, cada variável armazena um tipo específico de dado, ou seja, variáveis do tipo INT somente
armazenam números inteiros, já as variáveis do tipo CHAR armazenam além de números inteiros,
também letras e outros caracteres.
Constantes tem a mesma função das variáveis dentro do programa, a diferença básica é que não
podemos modificar o seu valor inicialmente atribuído. Elas são úteis quando precisamos armazenar
algum dado que, se modificado, dificulta ou impede o prosseguimento correto da tarefa.
Exemplo:
// Definindo duas constantes por meio do pré processador da aplicação
#define PI 3.13
#define NUM 10
// Definindo duas constantes utilizando a palavra-chave 'const'
const int ANO = 2011;
const float VALOR = 29.90;
Registro
Cada vez que criamos uma variável em um software, estamos
também criando um ou mais registros de memória que são
formados por conjuntos de bits.
Como a memória RAM é volátil, um registro fica disponível
pelo programa até o momento que o computador é desligado
ou que o programa solicite explicitamente que esse dado seja
inutilizado. A volatilidade diz respeito à capacidade do
componente de memória manter determinado dado
armazenado enquanto existe energia fluindo pelos seus
barramentos. Quando, por algum motivo, a energia deixa de
fluir pelos barramentos da memória (computador desligou, reiniciou), os dados armazenados são perdidos.
Cada posição de memória (bit) possui um endereço formado por um número hexadecimal:



Vetores


Quando queremos armazenar mais de um dado em uma única variável, podemos utilizar um vetor.
Também conhecidos como arrays ou arranjos, os vetores armazenam a quantidade especificada de
valores do tipo de dados declarado.
A quantidade de elementos de um vetor não pode ser alterada depois que o vetor for declarado. Da
mesma forma, o vetor não poderá armazenar mais valores do que a quantidade máxima declarada.
Quando um vetor é declarado, a porção de memória RAM necessária para seu armazenamento é
alocada e permanece desta forma até que o programa seja fechado.
Exemplos:
// declarando um vetor de inteiros de 5 posições
int vetor[5];
// declarando um vetor de caracteres de 3 posições
char letras[3] = {'a','b','c'};
// declarando e inicializando um vetor de inteiros de 7 posições
int idades[] = {15, 18, 23, 25, 30, 32, 38};

Matrizes


Quando precisamos armazenar um conjunto de dados que tem relação com um outro conjunto de
dados com formato de tabela, podemos criar uma matriz.
A fim de exemplificar, vamos imaginar a seguinte tabela de dados:



A tabela acima nada mais é do que uma matriz de dados, ignorando-se o cabeçalho de cada coluna.
Para declarar uma matriz utilizamos a seguinte sintaxe:
// declarando a matriz 4x3 (4 linhas e 3 colunas)
int clientes[4][3];
// declarando e inicializando a matriz acima
int clientes[4][3] = {{1,0,2},{2,1,1},{3,0,4},{4,2,5}}
// outra forma de declarar e inicializar a matriz acima
int clientes[][] = {{1,0,2},{2,1,1},{3,0,4},{4,2,5}}

Funções


Sempre que em seu código fonte aparecer um mesmo trecho de código repetido, quer dizer que
você deveria substituí-lo por uma função.
Fazendo o reaproveitamento do código, você tem a vantagem de simplificação do código fonte além
da facilidade de manutenção do mesmo.
Formato geral de uma função em C:

retorno_da_funcao nome_da_funcao (lista_de_parametros) {
// conteúdo da função
{
Exemplos de funções:
void escrever(){
printf(“Olá mundo”);
{
void soma(int a, int b){
int resultado = a+b;
printf(“O resultado da soma é: %d”, resultado);
void soma(int a, int b){
printf(“O resultado da soma de %d com %d é: %d”, a,b,a+b);
{
int soma(int a, int b){
return a+b;
{






PROGRAMAÇÃO I.


 Por: Ronaldo Paranhos .


Como percebi, muitos estão com dificuldades em compreender a definição da matéria classes e objetos, então, fiz uma breve explicação com base no que compreendi ate agora e inclui exemplos do mesmo.

Estou disponibilizando para vocês. Espero que gostem e por favor, sigam o blog. Pois postarei mais artigos relacionados.

Façam o Download clicando aqui, ou na imagem em baixo. 
Obrigado.






terça-feira, 15 de fevereiro de 2011

MWC 2011 - Tablets e Smartphones reproduzem e gravam 3D.




A LG apresentou nesta segunda-feira (14/2) o Optimus 3D e o Optimus Pad, smartphone e tablet que são capazes de captar imagens e vídeos em 3D e reproduzí-los sem a necessidade de óculos especiais.
Os produtos foram exibidos durante a Mobile World Congress 2011, principal evento de tecnologias móveis que acontece nesta semana em Barcelona, na Espanha.
Para o efeito 3D sem óculos, a LG utilizou uma tecnologia de barreira paralaxe, que coloca uma série de camadas em frente à tela LCD para bloquear a luz. Isso garante que cada olho veja uma imagem diferente.

Veja no vídeo abaixo: 


quinta-feira, 10 de fevereiro de 2011

Rotina e programação


Vida rotineira;     


    Ontem, 09, comecei a ter a mesma sensação do ano que passou. A sensação da rotina. 
Os mesmo rituais do dia a dia. Isso é chato. Não deixem se pegar pela rotina. 
A rotina é inimiga da perfeição. 
    A rotida de acordar todos os dias a mesma hora. Repetir as dezenas de coisas que fazemos todos os dias. Acordar do mesmo jeito que faz-nos esquecer quem realmente somos, quem fomos e quem realmente queremos ser.
    Nós caímos em uma armadilha, todos os dias, em que prometemos para nós mesmo que mudaremos, que vamos levantar, erguer a cabeça e gritar de peito aberto quem realmente somos.
    Mas na manha seguinte ao acordar, aquele mesmo que faz-nos esquecer quem realmente somos, quem fomos e quem realmente queremos ser.
A rotina retorna.
    “Acordamos”, de fato, realmente acordamos ? Creio eu que não.
Continuamos a dormir e o que acontece é o levantamento do nosso corpo pelas rotinas do dia após dia.
Bem isso é só a minha opnião. =) 

"O corpo é que paga quando a cabeça não tem juízo”




Caminho à Programação;

   Vamos ao que interessa. 
Na mesma noite, fui à Universidade, e tive aula de programação, isso mesmo, a tão falada programação, e como não tenho nenhum arquivo de programação aqui no blog, resolvi criar uma página - podem visualizá-la aqui ou ir na abas matérias lá em cima - sobre programação. Ainda não está pronta mas está a caminho, desde a lógica à programação em si.               
Todos os dias que eu estiver tempo escreverei um pouco até chegar na matéria onde estou estudando na faculdade.   
   Ontem também tive aula de Economia e Finanças, não vou falar sobre o mesmo. É chato. E não tem nada a ver com o conteúdo do blog. 









segunda-feira, 7 de fevereiro de 2011

Volta as aulas e trote universitário.

Volta as aulas.

     Ontem, 07, foi meu primeiro dia de aula deste ano. As aulas recomeçaram. O primeiro dia de aula é sempre aquela ansiedade: rever os amigos, novos professores, novas pessoas. Dessa vez não foi diferente, estava muito ansioso para ver todo mundo, chegando lá, revi, e só. Pronto. Quero férias de novo. 
     Não quero férias pelo motivos das pessoas, nem dos professores tampouco por causa dos novos calouros. E sim por que eu quero continuar na 'vida mansa'. Acordar tarde, dormir tarde, não ter compromisso no outro dia. É tão bom. Hoje a aula foi tranquila, apenas conversa, uma apresentação do professor e mais nada. Mas, só de pensar em estudar para Cálculo, Estatística, Programação, já me deixa de cabelo em pé - literalmente -, mas sem a volta das aulas esse blog não teria continuidade por falta de assunto. 
     Mas, falando de hoje, tive aula de estatística. Aula não, o professor não fez a sacanagem de dar aula já no primeiro dia, só nos conhecemos e pronto. Estão dispensados. Esperaremos no decorrer da semana para ver como vai ser. 



                      
Trote.

   Voltemos a falar de hoje. Logo depois que acabaram as aulas, foi a hora do famoso trote - sem aquelas babaquices, ok ? - onde raspam o cabelo dos 'Bichos', jogam tinta, etc. Muito massa. Legal, conheci alguns dos novos calouros, aceitaram na boa as brincadeiras pois não houve nenhuma sacanagem. 
Deixo algumas fotos aqui para vocês verem... 
Abraços, e até amanhã. 



quinta-feira, 3 de fevereiro de 2011

Se linguagens de programação fossem religiões...

     
     Achei esse texto muito interessante em um fórum e resolvi traduzir(google) e posta-lo aqui.
Podem confirir o Original clicando Aqui

"Se linguagens de programação fossem religiões"
(Inspirado por "Se linguagens de programação fossem carros")

     C seria o Judaismo - é antiga e restritiva, mas o mundo está familiarizado com suas leis e respeita-os. Você não pode ser converter a ele - ou você começa do inicio, ou você irá achar que é tudo insano. Além disso, quando as coisas dão errado, muitas pessoas estão dispostas a culpar os problemas do mundo por isso.

     Java seria o Cristianismo Fundametalista - É teoricamente baseado no C, mas ele foge de muitas das velhas leis que ele não sente de todo originais. Em vez disso, adiciona suas proprias regras rigidas, assim seus seguidores se sentirão superiores ao original. Não somente estão certos de que essa é a melhor linguagem do mundo, como estão prontos para queimar quem os desagradar.

     PHP seria como o Cristianismo não praticante - Luta com Java pelo mercado da web. Tem vários conceitos de C e Java, mas apenas aqueles que realmente gosta. Não é coerente como as outras linguagens, mas pelo menos leh deixa muita mais livre e ostensivamente mantém a essencia da idéia. Além disso, todo o conceito do "goto hell" (vai para o inferno) foi abandonado.

     C++ seria como o Islamismo - Pegou C e não só manteve todas as suas leis como adicionou um novo conjunto de leis no topo dessas. É tão versatil que pode ser usado na criação de qualquer coisa, de grandes atrocidades a lindos trabalhos de arte. Seus seguidores estão convictos que essa é a ultima linguagem universal, e ficam irritados com quem discordar deles. Além disso, se você insultar eles ou seu criador, você provavelmente será ameaçado de morte pelos seguidores mais radicais.

     C# é como os Mormons - A primeira vista, é como o Java, mas ao olhar mais de perto, você verá que é controlada por somente uma corporação ( que muitos seguidores do Java dizem ser malvada), e alguns conceitos teologicos são levemente diferentes. Você suspeitaria que ela provavelmente é legal, se você não fosse discriminado por todos os seguidores de Java por seguir ele.

     Lisp é como o Budismo - Ele não tem sintaxe, não tem centralização de dogmas, e não possuem santos. O universo inteiro está ai ao seu alcançe - só se você estiver esclarecido o suficiente para pega-lo. Alguns dizem que não é uma linguagem, outros dizem que é a unica linguagem que faz sentido.

     Haskell é como o Taoismo - Ele é tão diferente das outras linguagens que muitas pessoas não entendem como alguem produz algo util com isso. Seus seguidores acreditam que esse é o caminho correto para a sabedoria, mas essa sabedoria está além do alcançe da maioria dos mortais.

     Erlang
 seria como o Hinduismo - Essa é outra estranha linguagem que quem olha não consegue ve-la ser util, mas diferente da maioria das linguagens modernas, foi construida no conceito de multiplos e simultaneos santos.

     Perl é como o Voodoo - Uma incompreensivel seria de encatamentos de arcanos que envolve sangue de cabras e corrompe sua alma permanentemente. Frequentemente usada quando seu chefe quer uma tarefa urgente para as 21hrs de sexta.

     Lua seria como Wicca - Uma linguagem panteísta que pode facilmente ser adaptada para diferentes culturas ou locais. Seu código é muito liberal, e permite o uso de técnicas que podem ser descritas como mágicas pelas mais tradicionais linguagens. Tem uma estranha ligação com a lua.

     Ruby seria como o Novo paganismo - Uma mistura de diferentes linguagens e ideias que foi socado dentro de algo conhecido como linguagem. Seus adeptos estão crescendo rapidamente, com isso muitas pessoas olham para ele com suspeitas, são normalmente pessoas bem intencionadas sem intenção de prejudicar ninguém.

     Python seria como o Humanismo - Simples, sem restrições, e tudo que você precisa para segui-lo é o senso comum. Muitos dos seguidores afirmam-se livres dos encargos impostos por outras linguagens, e que redescobriram o prazer de programar. Há quem diga que é somente uma forma de pseudo-código.

     COBOL é como o Antigo Paganismo - Teve um tempo que comandou uma vasta região e foi muito importante, mas nos dias de hoje está praticamente morto, para o bem de todos nós. Emboram muitos ainda estejam marcados por seus rituais, há muitos que insistem em mante-lo vivo.

     APL seria como Cientologia - Existem muitas pessoas que clamam para segui-lo, mas você sempre suspeitará que é uma grande e elaborada pirraça que irá fugir do seu controle.

     LOLCODE seria como Pastafarianism(WTF!?!?) - Uma exoterica, nascida na internet e que ninguem leva a serio, ignorando todos os esforços para desenvolve-la e dissemina-la.

     Visual Basic
 seria como o Satanismo - Exceto que você realmente não precisa vender sua alma para ser um satanista.

     Desculpem-me pelos erros, se alguma coisa ficou traduzida errada xinguem o Google
=) 

Redes Sociais SI Frutal

Twitter Delicious Facebook Digg Stumbleupon Favorites More