Páginas

Qual tipo de material você procura no site?

Pesquise neste blog

quarta-feira, 28 de dezembro de 2011

Algoritmos


ALGORITMO 
O Algoritmo é uma ferramenta utilizada para resolução de problemas por um computador, baseada numa seqüência de passos/operações e a forma como os dados serão armazenados. Ou seja, se define como “um conjunto finito de regras que fornece uma seqüência de operações para resolver um problema específico (CRUZ, 1997)”.

Um algoritmo possui cinco características importantes: Finitude, definição, entradas, saídas, efetividade. O algoritmo tem que terminar após um número finito de passos. Estes passos têm de estar bem definidos. Ele também deve ter zero ou mais entradas e uma ou mais saídas que tem relação com o numero de entradas oferecidas para seu início. E por fim, as operações têm de ser básicas para serem executadas com precisão em um tempo finito.

a) Programação

Um programa é um tipo de algoritmo e se define como “um conjunto de instruções que será executado pelo processador de um computador em uma determinada seqüência” (MEDINA, 2006). Ou seja o computador executa uma tarefa através de um programa. A programação de computações é feita através de um código que relaciona a linguagem da máquina, esta composta exclusivamente de números, com uma linguagem de fácil compreensão: linguagem de montagem. Para a execução dum programa pelo computador é necessário o uso de um compilador, um tipo de programa que traduz a linguagem de montagem ou código-fonte para a linguagem da máquina.

b) Linguagens de Programação

Pode ser definida como: “Um conjunto limitado de instruções (vocabulário), associado a um conjunto de regras (sintaxe) que define como as instruções podem ser associadas, ou seja, como se pode compor os programas para a resolução de um determinado problema”. Ou seja um método padronizado para expressar instruções para um computador. Dente os tipos de linguagens de programação tem- se:
1. Assembly: Criada na década de 50, o Assembly foi das primeiras linguagens de programação a aparecer. Ela usa uma sintaxe complicada e "exageradamente" difícil, isto porque, antes da década de 50 os programadores de máquinas tinham que escrever instruções em código binário para escrever uma instrução
2. Fortran: Esta linguagem Fortran (Formula Translator) é uma linguagem de Alto nível, que foi criada partindo do problema e da dificuldade apresentadas pelo Assembly. Apareceu também na década de 50 e foi considerada uma das melhores linguagens da época.
3. Pascal: Outra linguagem de Alto nível dos anos 60, bem estruturada, mas com regras rígidas, o que a torna difícil de modelar, para se criar novas idéias.
4. Cobol: Foi uma linguagem usada para a criação e estruturação de bancos de dados financeiros nos anos 60 que ainda hoje é usada por este tipo de serviços. Comparada com o Pascal e o Assembly, esta linguagem é bem amigável e bastante acessível e actualmente serve para várias tarefas
5. Linguagem C: Poder-se-ia dizer que o C é uma das maravilhas das linguagens de programação. Muitos dos programas existentes hoje foram escritos nesta linguagem. O C foi desenvolvido nos laboratórios Bell na década de 70, e possui as seguintes características:
  • Portabilidade entre máquinas e sistemas operacionais
  • Dados compostos em forma estruturada
  • Total interação tanto com o SO como com a máquina
  • Código compacto e rápido

6. C++: Uma linguagem que adiciona ao C um conjunto de recursos a mais, como o próprio nome sugere. O C++ é o C orientado a objetos.
7. Java, C #: As linguagens em ascensão no fim dos anos 90 e começo do ano 2000, são linguagens de alto poder de abstração e com boas capacidades de virtualização, o que lhes conferem boas possibilidades de independência de plataforma, embora estas características ainda estão sendo melhoradas.
8. PHP: O PHP apareceu em 1994 e pretendeu revolucionar o mercado de linguagens na criação de scripts para a internet.

c) Representação de Algoritmos

Dentre as formas de representação de algoritmos mais conhecidas podemos citar:

• Descrição Narrativa

Os algoritmos são expressos diretamente em linguagem natural. Um exemplo é uma receita de bolo. Esta representação é pouco utilizada por dá margem a imprecisões e interpretações errôneas.

• Fluxograma Convencional

É uma representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema. Esta é mais precisa que a anterior, contudo não se preocupa com detalhes de implementação do programa, como tipo de variáveis.

• Pseudo- linguagem

Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos. Esta é rica em detalhes, como a definição dos tipos de variáveis.

d) Tipos de Dados

As linguagens de programação estabelecem regras par definir os dados que serão utlizados. Existem três tipos básicos de dados que a linguagem irá manipular:
1.Dados numéricos:

O algoritmo pode manipular dois tipos de dados numéricos: os dados inteiros (que não possuem componentes decimais ou fracionários) e os dados reais (que incluem os inteiros, fracionários e irracionais).
2.Dados alfa-numéricos:

Dados alfa-numéricos servem para tratamento de textos e normalmente são compostos por uma seqüência de caracteres contendo letras, algarismos e caracteres de pontuação. Nos algoritmos são normalmente representados por uma seqüência de caracteres entre aspas.
3.Dados Lógicos:

Este tipo de dados é aplicado durante o processo de tomada de decisões que o computador é obrigado a fazer. Em muitos textos este tipo de dados também é chamado de dados booleanos, devido à significativa contribuição do matemático George Boole à área da lógica matemática. Os dados deste tipo somente podem assumir dois valores: verdadeiro e falso.

terça-feira, 20 de dezembro de 2011

TEORIA DAS FILAS


Segundo Luciano Cajado a Teoria das filas “tenta através de análises matemáticas detalhadas encontrar um ponto de equilíbrio que satisfaça o cliente e seja viável economicamente para o provedor do serviço”.


A teoria das filas é um ramo da probabilidade que estuda a formação de filas, utilizando para isto análises matemáticas e propriedades das filas. Através da teoria das filas é possível prever o comportamento de um sistema que ofereça serviços e cuja demanda cresce aleatoriamente.

Esta teoria é um tipo de técnica disponível para a modelagem de sistemas, que aborda o assunto através de fórmulas matemáticas.


A abordagem matemática das filas se iniciou em 1908 na Dinamarca, Copenhague, através de A. K. Erlang, considerado o pai da teoria das filas, quando trabalhava em uma companhia telefônica estudando o problema de redimensionamento de centrais telefônicas, porém, somente a partir da segunda guerra mundial que a teoria foi aplicada a outros problemas de filas.

A modelagem de filas tem sido usada nas seguintes áreas: no transporte ferroviário, rodoviário, marítimo e no transporte de elevadores; na comunicação, no processamento de dados, dentre outros.


Definições
Para o estudo da teoria das filas faz-se necessário o conhecimento de alguns termos comuns. São estes:

· Filas - Segundo Feofiloff fila é uma estrutura de dados que permite a entrada de novos elementos e remoção de elementos antigos.
· Rede de filas – Compreende o conjunto das entidades interligadas, que oferecem serviços, e de usuários;
· Centro de serviço - Representa os recursos do sistema, podendo incluir um ou mais servidores e um conjunto de clientes que esperam pelo serviço;
· Fila - São os clientes que estão esperando pelo serviço, juntamente com os que já estão sendo atendidos por algum dos servidores;
·Fila de espera – Neste caso somente são considerados os clientes que estão aguardando pelo atendimento.

Sistema de filas
A presença de filas ocorre quando a procura por um determinado serviço é maior que a capacidade que um determinado sistema tem de prover este serviço.
Um sistema de filas pode ser entendido como clientes chegando, esperando pelo serviço, quando não são atendidos de imediato e saindo do sistema após terem sido atendidos. É importante compreender que "Cliente", em teoria das filas, deve ser entendido como um termo genérico, e, portanto não se refere somente a seres humanos, podendo este conceito abranger outros aspectos.
São várias as aplicações da teoria das filas. Entre as muitas existentes destacam-se pela sua importância:

· Fluxo de tráfego (aviões, carros, pessoas, comunicações);

· Escalonamento (pacientes em hospitais, programas em computadores);

· Prestação de serviços (bancos, correios, lanchonetes).

Componentes de um sistema de filas

Um sistema de filas consiste no processo de chegada, da distribuição do tempo de serviço, do número de servidores, da capacidade do sistema, da população de usuários e da disciplina de atendimento.

a) Processo de chegada
O processo de chegada é o indicador do padrão de chegada dos clientes no sistema. Apresenta comportamento estocástico, isto é, as chegadas ocorrem no tempo e no espaço obedecendo as leis da probabilidade, fazendo-se necessário conhecer qual a distribuição de probabilidade que descreve os tempos entre as chegadas dos clientes.
A distribuição mais comum é a de Poisson, o que significa que os tempos entre as chegadas são distribuídos de forma exponencial.
Clientes podem chegar simultaneamente (chegada em batch) e se for possível, é necessário saber a distribuição de probabilidade do tamanho do batch. As reações do cliente na fila podem variar. O cliente pode esperar independentemente do tamanho da fila, pode decidir não entrar no sistema quando a fila está muito grande, como pode também esperar na fila durante um determinado tempo e desistir antes de ser atendido. É possível também a hipótese do cliente mudar de uma fila para outra em sistemas com servidores paralelos.
O padrão de chegada de clientes em função do tempo pode ser permanente e neste caso, a distribuição de probabilidade que descreve as chegadas não depende do tempo. Também pode ser não-permanente, ou seja, o padrão de chegada muda com o tempo.

b) Distribuição do tempo de serviço
Assim como ocorre no processo de chegada, também é necessário conhecer a distribuição de probabilidade do tempo de serviço, sendo válidas as mesmas distribuições apresentadas.
O estado pode ser independente o que significa que o processo de atendimento não depende do número de clientes que esperam pelo serviço. Em compensação, em um estado dependente, o processo de atendimento muda de acordo com o número de clientes que aguardam na fila.
Assim como acontece no processo de chegada, o padrão de serviço pode variar de acordo com o tempo e caso não ocorra variação o padrão é dito estacionário.

c) Número de servidores
Também conhecido como número de canais de serviço, este indicador refere-se a quantidade de "pontos de atendimento" do sistema, de forma a servir aos clientes paralelamente. Um sistema que possui mais de um servidor pode ocorrer de duas formas: Em um sistema de fila única para todos os servidores, como em um caixa de banco ou em um sistema de múltiplas filas, uma para cada servidor, como em um caixa de supermercado.

d) Capacidade do sistema
Está relacionado ao número máximo de clientes que o sistema suporta. A capacidade pode ser infinita, sendo mais fácil de estudar, ou finita. Se a capacidade de um sistema for finita, quando este estiver lotado nenhum cliente pode entrar no sistema até que um cliente saia dele, liberando espaço.

e) População de usuários
Refere-se ao potencial de clientes que podem chegar a um sistema. Este componente pode ser finito ou infinito.

f) Disciplina de atendimento
Descreve a forma como os clientes saem da fila de espera para serem atendidos. São estas:
· FCFS (First Come, First Served): O primeiro cliente a chegar é o primeiro a ser atendido. Esta disciplina é a mais comum, principalmente na vida diária;
· FIFO (First In, First Out): O primeiro a entrar é o primeiro a sair;
· LCFS (Last Come, First Served): O último cliente a chegar é o primeiro a ser atendido;
· LIFO (Last In, First Out): Último a Chegar, Primeiro a Sair. Esta disciplina de fila é aplicável em sistemas em que o item mais recente é mais fácil de ser recuperado, por exemplo, um sistema de controle de estoque;
· Fila com prioridade: A cada cliente é atribuída uma prioridade; e aqueles clientes que possuem maior prioridade têm preferência no atendimento. Pode ser de dois tipos:
Preemptivo: o cliente com maior prioridade é atendido imediatamente, sendo necessário interromper o atendimento ao cliente com menor prioridade. Ao terminar o atendimento do cliente preferencial, o cliente de menor prioridade volta a ser atendido, devendo continuar o processo de onde parou ou então reiniciá-lo;
Não-preemptivo: o cliente com maior prioridade é direcionado para o início da fila, mas só é atendido quando o cliente em atendimento sai do sistema, mesmo se este for de prioridade mais baixa;
· Round-robin (algoritmo): Cada cliente recebe uma fatia de tempo do servidor, denominado quantum, dentro da qual deve ser atendido. Após o término do quantum, se a atividade não foi completada, o cliente deve ser retirado do sistema e outro passa a ser atendido em seu lugar. Posteriormente, o cliente que foi interrompido retorna ao servidor e continua a sua atividade. É muito comum em escalonamento de processos da CPU.

Tipos de filas:

· · 1 fila e 1 servidor;

· · 1 fila e n servidores;

· · m filas e n servidores;

· · filas especiais (ex: caixas expressos de supermercados);

· · filas que seguem uma alteração dinâmica do sistema de atendimento.
texto elaborado por: Felipe Ribeiro, Katiucia Almeida, Rafaela dos Anjos, Raymundo Neto, Vanessa Prado.

Nossa... que físico!


sábado, 17 de dezembro de 2011

A História da Tabela Periódica

A tabela periódica a que hoje temos acesso não foi sempre igual desde que foi criada, tendo sofrido muitas alterações.
A tabela periódica “nasceu” da necessidade de agrupar os elementos que tinham propriedades químicas e físicas semelhantes, e separar os que não tinham nada em comum.
Desde a primeira tentativa de Dobereiner de classificar os elementos, a tabela periódica sofreu inúmeras alterações, passando por Chancourtóis, Newlands, Meyer e Mendeleev.

O nome "Tabela Periódica" é devido à periodicidade, ou seja, à repetição de propriedades, de intervalos em intervalos.
A base da classificação periódica atual é a tabela de Mendeleev, com a diferença de que as propriedades dos elementos variam periodicamente com seus números atómicos e não com os pesos atómicos, como era a classificação feita por Mendeleev.
A Tabela Periódica atual é formada por 109 elementos distribuídos em 7 linhas horizontais, cada uma sendo chamada de período. Os elementos pertencentes ao mesmo período possuem o mesmo número de camadas de electrões.

Um pré-requisito necessário para construção da tabela periódica, foi a descoberta individual dos elementos químicos. Embora os elementos, tais como ouro (Au), prata (Ag), Estanho (Sn), cobre (Cu), chumbo (Pb) e mercúrio (Hg) fossem conhecidos desde a antiguidade. A primeira descoberta científica de um elemento, ocorreu em 1669, quando o alquimista Henning Brand descobriu o fósforo.


Durante os 200 anos seguintes, um grande volume de conhecimento relativo às propriedades dos elementos e seus compostos, foram adquiridos pelos químicos. Com o aumento do número de elementos descobertos, os cientistas iniciaram a investigação de modelos para reconhecer as propriedades e desenvolver esquemas de classificação.

A primeira classificação foi a divisão dos elementos em metais e não-metais. Isso possibilitou a antecipação das propriedades de outros elementos, determinando assim, se seriam ou não metálicos.

quinta-feira, 15 de dezembro de 2011

domingo, 4 de dezembro de 2011

HISTÓRIA DA ENGENHARIA NO BRASIL

Texto extraído do livro História da Engenharia no Brasil, de Pedro Carlos da Silva Telles, Livros Técnicos e Científicos Editora S.A , 1984.

O conceito atual de engenheiro, isto é, uma pessoa diplomada e legalmente habilitada a exercer alguma das múltiplas atividades da engenharia, é relativamente recente, podendo-se dizer que data da Segunda metade do Século XVIII.

A École Nationale des Ponts et Chaussés, fundada em Paris em 1747, por iniciativa de Daniel Trudaine, parece ter sido o primeiro estabelecimento de ensino, em todo o mundo, onde se ministrou um curso regular de engenharia, e que diplomou profissionais com esse título. Da mesma época é a École Nationale Supérieure des Mines, também de Paris, que formava engenheiros de minas. O nome de engenheiro civil teria sido usado, pela primeira vez, pelo engenheiro inglês John Smeaton – um dos descobridores do cimento Portland – que assim autodenominou em fins do Século XVIII. Em 1818 fundou-se em Londres o Instituto de Engenheiros Civis, com a principal finalidade de defender e prestigiar o significado da profissão, ainda desprezada e mal compreendida, mesmo nos centros mais avançados do mundo.

Antes dessa época, muita gente houve, é claro, que se ocupou de diversas tarefas que hoje são atribuições do engenheiro, e aí estão para provar as incontáveis e magníficas construções e outras obras de engenharia, desde a Antigüidade. Os construtores antigos, entretanto, mesmo tendo realizado muitas obras difíceis e audaciosas, contavam principalmente com uma série de regras práticas e empíricas, sem base teórica, embora tivessem evidentemente, em muitos casos, exata noção de estabilidade, equilíbrio de forças, centro de gravidade etc. As obras que fizeram, muitas das quais até hoje causam admiração, são por isso muito mais fruto do empirismo e da intuição, do que de cálculo e de uma verdadeira engenharia, como entendemos atualmente. Pode-se dizer que a engenharia científica só teve início quando se começou a chegar a um consenso de que tudo aquilo que se fazia em bases empíricas e intuitivas, era na realidade regido por leis físicas e matemáticas, que importava descobrir e estudar. Leonardo da Vinci e Galileu, nos Séculos XV e XVII, podem ser considerados como os precursores da engenharia científica. Leonardo fez a primeira tentativa de aplicar a estática para a determinação das forças atuando em uma estrutura simples, ou seja, a primeira aplicação da matemática à engenharia estrutural. Seus estudos, entretanto, nunca foram publicados e permaneceram ignorados por séculos. Galileu publicou, em 1638, o famoso livro As Duas Novas Ciências, que trata, entre outros assuntos, da resistência de vigas e de colunas, sendo assim o primeiro livro, em todo mundo, no campo da resistência dos materiais.

quinta-feira, 1 de dezembro de 2011