Mestrado na Argentina - Período do BLOGGER - Enero de 2011 a julio de 2011.
quarta-feira, 13 de julho de 2011
segunda-feira, 27 de junho de 2011
A Evolução da Informática
A Evolução da Informática
Nestes últimos tempos, a tecnologia tem-se desenvolvido de forma surpreendente. Um dos setores que mais evoluiu e popularizou-se é a Informática.
Os computadores surgiram inicialmente com fins militares. Diversos circuitos eletrônicos foram utilizados no controle de naves espaciais pelos EUA. Desta forma, essa tecnologia possibilitou a exploração do espaço pelo homem e sua chegada à Lua.
Na década de 60, os supercomputadores (assim conhecidos devido a sua enorme capacidade de processamento) passaram a ser utilizados em empresas de grande porte, realizando o controle financeiro e administrativo.
Para se ter uma idéia da capacidade de processamento do primeiro computador (chamado de ENIAC), podemos compará-lo a uma calculadora de bolso. Entretanto, por ser este um computador totalmente valvulado (não existiam transistores, muito menos circuitos integrados), a energia necessária para alimentá-lo poderia iluminar uma pequena cidade. Para abrigar os seus circuitos, foi necessário fazer uso de um andar inteiro de um edifício.
Na década de 70, o computador passou a ser montado com transistores, o que possibilitou uma redução no tamanho e no consumo de energia e, ao mesmo tempo, um aumento em sua capacidade de processamento.
Em torno de 1978, uma pequena empresa americana chamada APPLE lançou o primeiro microcomputador (assim conhecido por seu tamanho reduzido e pequena capacidade de processamento). Paralelamente, duas pequenas empresas também americanas se uniram para lançar o seu microcomputador, fazendo concorrência ao APPLE. Era a histórica união entre a INTEL (fabricante de chips para computadores) e a International Business Machine (IBM). Esse microcomputador foi denominado de Personal Computer (PC), sendo conhecido mundialmente por IBM PC XT.
Nesse ponto, os microcomputadores começaram a invadir as empresas, e cada vez mais foram aperfeiçoando-se os programas.
No começo dos anos 80, um estudante americano chamado Bill Gates revolucionou o mundo dos computadores com a formação de uma empresa, a MICROSOFT, e com o lançamento do primeiro sistema operacional para os IBM PC XT, que foi denominado de Disk Operating System (DOS).
A partir daí, tanto o hardware (os circuitos que formam o computador) como o software (os programas) evoluíram muito rapidamente. Muitas empresas surgiram de ex-funcionários da IBM e da MICROSOFT. Duas empresas que deslancharam no ramo do hardware foram a COMPAQ e a ACER. Já na área de software, surgiram a BORLAND e a LOTUS. Esta última tornou os computadores mais aplicáveis às empresas, com o lançamento da primeira planilha eletrônica, denominada de 123.
De 1980 até os dias de hoje, muito mudou na Informática. Com a abertura de mercado no Brasil, os computadores passaram a entrar no país e serem utilizados cada vez mais por empresas nacionais.
Nestes últimos 17 anos, pode-se citar os fatos que mais marcaram a evolução da Informática:
- Aumento na capacidade de processamento dos chips;
- Aumento no desempenho global do microcomputador, com o desenvolvimento de memórias e interfaces cada vez mais velozes;
- Surgimento da multimídia - o micro passa a ser utilizado com sons e imagens;
- Desenvolvimento, pela MICROSOFT de um revolucionário sistema operacional: o Windows, que tornou o microcomputador mais acessível e amigável às pessoas;
- Uma empresa americana chamada NOVELL realizou a primeira comunicação entre dois computadores. Surgiam aí as primeiras redes de computadores, que posteriormente passaram a ser realizadas por linha telefônica;
- A Internet surgiu como a rede mundial de computadores, possibilitando a comunicação entre computadores espalhados pelo mundo;
- Com o desenvolvimento da multimídia, os computadores passaram a ser utilizados em teleconferências (reuniões e debates à distância, com a transmissão de imagem e voz pela linha telefônica);
- Os microcomputadores invadem as casas, passando a ser considerado um eletrodoméstico para a família;
- Os periféricos também sofrem um grande desenvolvimento, aparecendo no mercado impressoras, scanner's, leitores de código de barras, joystick's, leitores e gravadores de CD, placas de som, de vídeo e de TV, câmeras fotográficas digitais, camcorder's e muitos outros.
Concluindo: a Informática tem evoluído de tal forma que tornou-se indispensável para o homem moderno. Todos os processos antes realizados manualmente, passaram a ser informatizados, trazendo uma redução nos custos, rapidez, maior qualidade (não é um sistema passível a erros) e um maior controle do processo (seja industrial, comercial ou administrativo). Além disso, a Informática também surge como uma forma de lazer para a família.
domingo, 19 de junho de 2011
sucessossssssssssssss
muito bom passar o final de semana com a família,............muito bom.
Edinilson
Edinilson
Feliz da vida
Está chegando o dia da grande partida para a Argentina dia 10/07/2011.................abraço forte a todos é uma ótima temporada de estudo a todos.
Abraço
Abraço
Feliz da vida
Está chegando o dia da grande partida para a Argentina dia 10/07/2011.................abraço forte a todos é uma ótima temporada de estudo a todos.
Abraço
Abraço
terça-feira, 31 de maio de 2011
A evolução da Informática
A evolução da Informática
O computador que conhecemos hoje é uma máquina programável que processa informações. O caminho percorrido para chegar até o estágio de desenvolvimento em que estamos começou com a criação das primeiras máquinas de calcular. Vamos ver alguns fatos marcantes na história da Informática.
500 AC | Ábaco: O ábaco é um instrumento simples, composto por um quadro com varetas e contas coloridas. Utilizado desde a antiguidade, inicialmente por mercadores babilônicos, o ábaco permite fazer rapidamente cálculos aritméticos. Ábaco |
614 | Logaritmos e régua de cálculo: O matemático escocês John Napier cria a teoria dos logaritmos e as tabelas de logaritmos. Estas tabelas servem de base para que Wiliam Oughtred crie a régua de cálculo. |
1642 | Calculadora de Pascal: O matemático francês Blaise Pascal começa a construir sua máquina de calcular. Ela é composta por rodas dentadas. O usuário disca os números nas rodas dentadas para realizar os cálculos. Calculadora de Pascal |
1672 | Calculadora de Leibniz: 1672. O matemático alemão Gottfried Leibniz aperfeiçoa a calculadora de Pascal facilitando as operações de multiplicação e divisão. Calculadora de Leinitz |
1822 | Máquinas de Babbage: Século XIX. O matemático britânico Charles Babbage, considerado o pai da Informática, começa a trabalhar no projeto de uma máquina diferencial e de uma máquina analítica.Por razões diversas suas máquinas não chegam a ser construídas. Os projetos, todavia, servem de base a pesquisadores que vem depois para o desenvolvimento dos computadores modernos. Babbage |
1848 | Álgebra booleana: Uma das maiores contribuições para a História da Informática não é uma máquina, mas uma teoria matemática. O matemático inglês George Boole desenvolve a chamada álgebra booleana que cria a base teórica para todo o desenvolvimento posterior da Informática. |
1890 | Computador mecânico de cartões: 1890. Hermann Hollerith desenvolve o primeiro computador mecânico para acelerar os trabalhos do censo americano de 1890. A máquina de Hollerith lê os cartões perfurados usados no recenseamento. A empresa de Hollerith em 1924 se torna a IBM (Internacional Business Machines). Hermann Hollerith |
1938 | Teoria da Informação: 1938. O matemático americano Shannon publica uma tese que mais tarde será conhecida como Teoria da Informação. A partir da Teoria da Informação ficou demonstrado que a melhor maneira de processar dados é utilizando o sistema binário de contagem. |
1943 | Mark I: O Mark I é desenvolvido em projeto conjunto da Marinha Americana com a IBM, chefiado pelo americano Howard Aiken. O Mark I é considerado o primeiro computador moderno. Trabalha com cartões perfurados e relês elétricos. Em um dia faz cálculos que antes levavam seis meses. Aiken e o Mark I |
1945 | ENIAC: O exército americano quer uma máquina que faça complexos cálculos balísticos. John Mauchly e J. Presper Eckert apresentam o projeto de uma máquina com válvulas eletrônicas. Em 1945 começa a funcionar o ENIAC (Eletronical Numerical Integrator and Computer). O ENIAC mede 5,5m de altura por 25m de comprimento e pesa 30 toneladas. ENIAC |
1947 | Transistor: A equipe da empresa Bell Labs, chefiada pelo americano Willian Shockley desenvolve o primeiro transistor. A invenção do transistor substitui as válvulas, servindo de base para a criação dos circuitos integrados e mais tarde, dos modernos processadores. |
1951 | UNIVAC: Os desenvolvedores do Mark I, Mauchly e Eckert lançam o primeiro computador comercial. O UNIVAC (Universal Automatic Computer) era eletrônico e armazenava dados em fitas magnéticas. Este computador foi produzido pela empresa Remington Rand. O primeiro comprador foi o Departamento Americano do Censo de 1951. UNIVAC |
1957 | FORTRAN: O americano John Backus apresenta a primeira linguagem de alto nível para computadores, o FORTRAN. Depois dela surgem o COBOL, ALGOL, LISP e Pascal. |
1959 | Circuito integrado: É proposto originalmente pelo inglês G.W. Dummer em 1952. É patenteado em 1959 por Jack St Clair Kilby da Texas Intruments. O circuito integrado utiliza transistores alojados em pequenas cápsulas de material semicondutor. Circuitos eletrônicos imensos passam a ser compactados em pequenos chips. |
1964 | IBM 360: A IBM, líder na fabricação de computadores comerciais, lança a família de computadores 360. A família 360 é chamada de terceira geração e torna-se um marco da indústria. Utiliza o conceito de multitarefa, emulação de outros computadores e de compatibilidade. IBM 360 |
1969 | ARPANET: Quatro universidades americanas interligam seus computadores em rede A partir desta rede chamada ARPANET nasce a Internet. |
1971 | Chip programável: O americano Ted Hoff, da empresa Intel, desenvolve o primeiro chip programável, o 4004. Este chip abre o caminho para os processadores atuais. |
1975 | Altair: O americano Edward Roberts lança o primeiro computador popular, o Altair. O kit para montagem do Altair custa cerca de 500 dólares e utiliza o processador 80080 da Intel. Altair 8800 |
1976 | Basic: Os americanos Paul Allen e Bill Gates desenvolvem a linguagem Basic, para facilitar a utilização do Altair. O Basic existia desde 1965. |
1976 | Apple: Os americanos Steven Jobs e Stephen Wozniac criam a empresa Apple, que nos anos seguintes populariza os micro computadores. Apple II |
1980 | IBM PC: A IBM lança a sua versão de computador pessoal. O PC (personal computer) da IBM estabelece o padrão para os atuais computadores pessoais. O chip utilizado é o 80086 da Intel e o sistema operacional usado é o MS-DOS, desenvolvido pela empresa Microsoft, de Bill Gates. |
1985 | Windows: A Microsoft lança um sistema operacional com interface gráfica que se torna o software mais popular da História da Informática. |
1989 | WWW: Tim Bernes Lee apresenta um padrão de comunicação que deixa a Internet mais atraente e intuitiva. Esta forma de divulgação, conhecida como Word Wide Web, impulsiona a popularização da Internet. |
1993 | Mosaic: No laboratório europeu CERN é desenvolvido o software gráfico Mosaic, para navegação na Internet. O Mosaic serve de base para a criação dos navegadores Netscape Navigator e Microsoft Internet Explorer. |
2000 | AOL Time Warner: O maior provedor de acesso do mundo, a AOL, assume o controle da maior empresa de comunicação, a TimeWarner. É a maior operação comercial da História. Esta fusão anuncia a integração da Internet com os grandes meios de comunicação para criar o meio de comunicação do século XXI. |
segunda-feira, 23 de maio de 2011
Saudades da Turma
Passei para desejar a todos uma ótima noite...............................está chegando o dia,muito massa,muito estudo,muito conhecimentos,bons professores.
quarta-feira, 11 de maio de 2011
domingo, 8 de maio de 2011
quarta-feira, 4 de maio de 2011
Manipulação de listas em C
Manipulação de listas em C
Tradicionalmente, listas em C são implementadas através de estruturas (associadas aos nós) armazenadas na memória dinâmica.A estrutura que implementa um nó de uma lista ligada deve incluir, além do contéudo da informação do nó, um ponteiro para o próximo nó. Tipicamente, a definição da estrutura é da forma:
typedef struct node { /* conteudo */ ... /* proximo no */ struct node* next; } Node;É possível criar um conjunto de rotinas para a manipulação de listas genéricas se o conteúdo for um ponteiro para qualquer tipo de dado, void*, que pode referenciar até mesmo outras estruturas complexas. Uma variável ponteiro para void denota um endereço genérico, que pode ser atribuído a um ponteiro para qualquer outro tipo sem problemas de conversão.
A linguagem C permite que o programador utilize a área de memória dinâmica através de suas rotinas de alocação dinâmica de memória, que estão presentes na biblioteca padrão da linguagem. Há duas atividades básicas relacionadas à manipulação desta área:
- o programa pode requisitar uma área de memória dentro do espaço livre disponível; ou
- o programa pode liberar uma área de memória que tenha sido previamente requisitada do espaço livre e que não seja mais necessária.
Node *n;A definição do valor do ponteiro dá-se através da invocação de malloc:
n = malloc(sizeof(struct node));O conteúdo inicial da área alocada é indefinido. Uma variante da rotina de alocação, chamada calloc, inicializa o conteúdo da área alocada para 0's. Esta rotina recebe dois argumentos ao invés de um: o primeiro argumento é o número de itens que será alocado, e o segundo é o tamanho em bytes de cada item. Por exemplo, o trecho de código para criar um nó do tipo Node em uma rotina CREATENODE poderia ser escrito usando calloc:
Para liberar uma área alocada por malloc ou calloc, a rotina free deve ser utilizada. Assim, o exemplo acima poderia ser complementado da seguinte forma:
O que a rotina free faz é retornar o espaço que havia sido pré-alocado dinamicamente para o serviço do sistema operacional que gerencia o espaço livre, que pode assim reutilizar esta área para atender a outras requisições.
Há ainda uma quarta rotina associada à gerência de espaço livre em C, realloc, que permite alterar a dimensão de uma área pré-alocada. Esta rotina recebe dois argumentos, o primeiro sendo o ponteiro para a área que já havia sido alocada e o segundo sendo a nova dimensão para esta área em bytes. O valor de retorno é o endereço (que pode eventualmente ser o mesmo que o original) para a área com a nova dimensão requisitada. Caso o endereço seja diferente, realloc se encarrega de copiar o conteúdo original para a nova área alocada.
Nesses exemplos, não se comentou o que aconteceria caso não houvesse espaço disponível em memória para atender à requisição de alocação dinâmica. Quandomalloc (calloc, realloc) não consegue obter o espaço requisitado, o valor retornado pela função é o ponteiro nulo. Este é um comportamento típico em C para indicar erros em rotinas que retornam ponteiros.
Edinilson e Verdin - 2011
Listas ligadas
Listas ligadas
Uma lista ligada é uma estrutura que corresponde a uma seqüência lógica de entradas ou nós. Tipicamente, em uma lista ligada há um ou dois pontos conhecidos de acesso -- normalmente o topo da lista (seu primeiro elemento) e eventualmente o fim da lista (seu último elemento). Cada nó armazena também a localização do próximo elemento na seqüência, ou seja, de seu nó sucessor. Desse modo, o armazenamento de uma lista não requer uma área contígua de memória. A Figura 2.3representa graficamente uma estrutura de lista ligada.Ponteiros
Ponteiros
Em C, é possível ter acesso não apenas ao valor de uma variável mas também ao seu endereço. O operador unário &, aplicado a uma variável, retorna o endereço de memória associado à variável. A manipulação de endereços dá-se através da utilização de ponteiros. Ponteiros constituem um dos recursos mais utilizados na programação C. Eles fornecem um mecanismo poderoso, flexível e eficiente de acesso a variáveis. Há computações que só podem ser expressas através do uso de ponteiros.
Para definir que uma variável vai guardar um endereço, o operador unário
*
é utilizado na declaração, como em/* define um ponteiro para um inteiro */ int *ap; /* algumas variaveis inteiras */ int x, y;
Neste exemplo, ap é uma variável do tipo ponteiro para inteiro, ou seja, ela irá receber um endereço de uma variável inteira. Para se obter o endereço de uma variável, o operador unário
&
pode ser utilizado. No exemplo acima,/* ap recebe o endereco de x */ ap = &x;
Após esta instrução, diz-se que ap aponta para x. É possível acessar o valor da variável x através do ponteiro usando o operador unário
*
, como em/* y recebe o conteudo da variavel apontada por ap */ y = *ap;
Observe que a combinação
*ap
é um inteiro, que pode assim ser atribuído a outro inteiro. Esta associação pode facilitar a compreensão da declaração de ponteiros. No exemplo, int *ap
pode ser lido como ``*ap
é um inteiro.''Também seria possível definir o valor de x através do ponteiro, como em
/* o conteudo da variavel apontada por ap recebe y */ *ap = y;
Ponteiros podem tomar parte em expressões aritméticas. Assim, a seguinte expressão é perfeitamente válida:
y = *ap + 1;ou seja, y receberia o valor de x (variável apontada por ap) incrementado de um.
Observe que a expressão ap + 1 expressa um incremento do ponteiro (endereço) e não do conteúdo. Neste caso, estaria indicando o inteiro que estivesse armazenado na posição de memória seguinte ao inteiro armazenado em ap. As únicas operações aritméticas envolvendo ponteiros que são permitidas são a soma ou subtração de um valor inteiro a um ponteiro e a diferença entre dois ponteiros. Para essas operações, a unidade corresponde ao tamanho em bytes do tipo manipulado pelo ponteiro. Assim, se o valor de ap é 1000 e em uma máquina X o inteiro é representado em dois bytes, ap+1 resulta em 1002. Porém, a mesma expressão em uma máquina Y com inteiros em quatro bytes retornaria 1004. Desse modo, o programador não precisa se preocupar com os detalhes do armazenamento, trabalhando simplesmente com ``o próximo inteiro.''
O ponteiro nulo é um valor que representa ``nenhuma posição de memória'', sendo útil para indicar condições de erro e evitar o acesso a áreas inválidas de memória. Em C, o ponteiro nulo é representado pelo valor 0.
Estrutura de Dados
Estruturas de dados
Em diversos contextos, disciplinas associadas à programação recebem a denominação de ``processamento de dados''. Esta denominação não é gratuita -- de fato, embora seja possível criar procedimentos que não manipulem nenhum dado, tais procedimentos seriam de pouco valor prático.Uma vez que procedimentos são, efetivamente, processadores de dados, a eficiência de um procedimento está muito associada à forma como seus dados são organizados. Estrutura de dados é o ramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento.
As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação manipulada pelo programa. A definição da organização interna de uma estrutura de dados é tarefa do projetista da estrutura, que define também qual a API para a estrutura, ou seja, qual o conjunto de procedimentos que podem ser usados para manipular os dados na estrutura. É esta API que determina a visão funcional da estrutura de dados, que é a única informação relevante para um programador que vá utilizar uma estrutura de dados pré-definida.
Edinilson e Verdin
quinta-feira, 28 de abril de 2011
FESTA DA CIDADES DE NOVA VENÉCIA
Bem vindos a festa da CIDADE DE NOVA VENÉCIA - 2011 será uma honrar em recebe-los.
Boas festas a todos.
Grato
Boas festas a todos.
Grato
quarta-feira, 13 de abril de 2011
Felicidades a todos
Passei para desejar uma boa noite a todos,está se aproximando um grande feriadão,sucesso e bom descansso a todos.
Grato
Edinilson e Verdin
Grato
Edinilson e Verdin
quarta-feira, 6 de abril de 2011
Mestrado -2011
Passei para desejar a todos uma ótima semana e tudo de bom nesse restante que ainda resta e sucesso a todos nessa nova FASE de vida.
quinta-feira, 31 de março de 2011
Camada de Redes - 2011 - Edinilson e Verdin
1 - Qual é a função da camada de rede e qual serviço da camada
de enlace ela usa para executar esta função?
Essa camada tem função de endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, para que os pacotes cheguem corretamente ao local de destino. Usando a capacidade da camada de enlace de movimentar quadros entre computadores no mesmo enlace ou rede local, e o expande, criando um serviço de entrega de pacotes entre pontos distintos em toda a Internet.
2 – Faça um resumo dos campos existentes no cabeçalho do protocolo
IP.
Número da versão: existem duas versões do protocolo IP: A IPv4e a IPv6.
Comprimento do cabeçalho: tamanho, do cabeçalho de cada pacote.
Comprimento do pacote: comprimento total do pacote IP.
Tempo de vida: incluído para garantir que pacotes não fiquem circulando para sempre na rede.
Protocolo: tipo de protocolo da camada de transporte específico ao qual este pacote deverá ser repassado na máquina de destino.
Endereços IP de fonte e de destino: é inserido no pacote seu endereço IP, o endereço fonte e o de destino para que ele possa ser entregue ao computador de destino.
Dados: os dados da comunicação entre origem e destino.
3 – Quais são as classes de endereços IP existentes? Fale um pouco
sobre cada uma delas.
Classes de endereços IP: Os endereços IP são divididos em classes.
Classe A – atribuídos a redes de grandes dimensões.
Classe B – atribuídos a redes de porte médio.
Classe C – atribuídos a redes pequenas.
Classe D – reservado para multicast.
Classe E – reservado para pesquisas.
4 – O que é um roteador padrão e qual sua função na rede à qual
pertence?
O Roteadoré um equipamento de interconexão de redes informáticas que possibilita o encaminhamento dos pacotes entre duas redes ou mais, a fim de determinar o caminho que o pacote de dados deve tomar.
Quando um utilizador chama uma URL, o cliente Web (navegador) interroga o servidor de nomes, que lhe indica o endereço IP da máquina visada.
O seu computador envia o pedido ao router mais próximo, ou seja, à passarela, por defeito da rede onde se encontra. Este router vai, então, determinar para que máquina os dados serão encaminhados, de maneira a que o caminho escolhido seja o melhor.
Para fazer isso, os roteadores mantêm atualizadas as tabelas de encaminhamento, verdadeiro mapeamento de itinerários a seguir, em função do endereço visado. Existem inúmeros protocolos para realizar esta tarefa.
Para fazer isso, os roteadores mantêm atualizadas as tabelas de encaminhamento, verdadeiro mapeamento de itinerários a seguir, em função do endereço visado. Existem inúmeros protocolos para realizar esta tarefa.
Além de sua função de encaminhamento, os roteadores permitem a manipulação dos dados que circulam sob a forma de datagramas para se certificarem da passagem de um tipo de rede a outro. Ora, na medida em que as redes não têm as mesmas capacidades em termos de dimensão de pacotes de dados, os roteadores estão encarregues de fragmentar os pacotes de dados, para permitir a sua circulação.
5 – Qual a função do protocolo ICMP na camada de rede?
ICMP é o Protocolo de Mensagens de Controle da Internet, tem como função provê a comunicação entre os softwares de IP numa máquina e o software de IP numa outra máquina, ele envia uma mensagem ECHO REQUEST, que quando chega ao destino, responde com outra mensagem ECHO REPLY.
Assinar:
Postagens (Atom)