quarta-feira, 12 de maio de 2010

Linguagens de Programação



Caderno de Apoio à Cadeira
2000/2001



Modulo de Estudo 1: Diversidade das linguagens

A utilização de uma linguagem de programação é por excelência a forma de especificar o funcionamento de um computador. Consoante os problemas a serem tratados, as melhores formas de especificação e tratamento podem ser distintas. Se incluirmos linguagens especificas e em estudo, não surpreende pois que existam, actualmente, mais de um melhor de linguagens de programação e dialectos distintos. Mais ainda, por todo o mundo comissões internacionais e grupo de investigação continuam a criar, desenvolver, melhorar ou substituir linguagens de programação diferentes. É pois normal a um informático ter contacto com um numero elevado de linguagens de programação distintas.

Embora algumas linguagens possam parecer à partida muito diferente, cedo se começam a encontrar as semelhanças entre as diversas linguagens. Esta caracterização será mais fácil quando enquadrada numa perspectiva histórica de evolução das varias linguagens. Só assim se compreendem as motivações, funções e objectivos da criação dos vários paradigmas relativamente as linguagem de programação e dentro destes das especificidades das várias linguagens.

Todos os programas executados num computador tem de ser codificados num conjunto de instruções similares a estas. Os programas assim codificados dizem-se em linguagem maquina ou código maquina.

Compilador: Um compilador é um programa, capaz de ler um ficheiro (normalmente de texto) contendo um programa escrito numa dada linguagem de programação e gerar um programa em linguagem maquina que seja equivalente ao programa inicial. Para tal, o compilador deve analisar o programa lido quer sintacticamente (i.e. verificar se a sua escrita esta de acordo com uma gramática bem definida) quer semanticamente.

Interpretador: Tal como o compilador, um interpretador analisa sintáctica e semanticamente uma dada linguagem de programação. No entanto, em vez de converter o programa que lhe é dado em linguagem maquina, o interpretador executa o programa que lhe é dado, passo a passo. Assim é um interpretador que controla o comportamento do programa, facilitando a interacção com o utilizador e a reescrita do programa(visto que o programa não tem de ser recompilado sempre que o desejamos executar).

Linguagens de programação: Linguagens formais utilizadas na descrição de mecanismos abstractos. Tem como objectivo descrever e comunicar um processo computacional. Podem ser utilizadas para estudar os algoritmos e para os definir de modo não ambíguo.

Tipologia das linguagens

Há diferentes formas para representar e relacionar as linguagens de programação entre si.

a) Por níveis:
disposição hierárquica, segundo seu nível e âmbito. O nível denota um índice da facilidade do programador enunciar a solução dos seus problemas.

Linguagens de baixo nível: O código maquina e a sua representação em Assembler.
Linguagens de alto nível: algoritmicas, imperativas, prescritivas, procedimentais (apoiadas sobre processo),determinísticas e quantitativas. Papel determinante do cálculo numérico. Exs: FORTRAN, PASCAL e SIMULA.

Linguagens de muito alto nível: Idealmente, não algoritmias, declarativas, não determinísticas e qualitativas. Vocacionadas para o processamento simbólico (como cálculo formal, manipulação de formulas algébricas, processamento de língua natural), conduzindo a programas mais abstractas. O programador descreve o problema em função de relações sobre objectos. Com uma descrição precisa o computador resolverá o problema sem qualquer outra intervenção. Exs: SQL, PROLOG, Haskell. Devido ao facto de ser ainda hoje uma das principais linguagens funcionais alguns autores incluem igualmente o LISP nesta família; isto apesar desta linguagem ser fortemente algoritmica e já ter sido exclusivamente utilizada na construção de um sistema operativo.

b) Por Árvores genealógicas
Desenha-se a rede das linguagens de programação destacando as suas ligações implícitas e explicitas. As principais árvores dividem-se pelos paradigmas da programação: Imperativo, orientados por objectos, funcional e lógica.

c) Gerações
As linguagens agrupam-se de acordo com um processo de mutações e selecções tecnológicas. Este processo é descontinuo. É usual a seguinte classificação em 5 gerações:

1ª Geração: Linguagem binária,linguagens maquinas e assembly.
2ª Geração: Utilizando compiladores ( i.e. baseadas em sistemas que lêem o programa numa destas linguagens e o "traduzem", ou compilam, para linguagem binária): COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL, 58/60/68W.
3ª Geração: Linguagens procedimentais:PL/I, PASCAL, FORTRAN 8X,APL,C,SIMULA,BLISS.
4ª Geração: Geradores de programas (i.e. produzem programas noutras linguagens). A linguagem ADA.
Linguagens de interrogação (p.ex. para bases de dados):SQL,QBE.
5ª Geração:linguagens de especificação de problemas: LISP,PROLOG.

d) Outras formas de classificação
Eis outras formas de classificação referidas no texto, úteis essencialmente par identificar quando e como se deve optar por uma linguagem ou por outra.
Classificação por dominios de aplicação:
.cientificas:ALGOL, BASIC, FORTRAN
.comerciais:COBOL



quarta-feira, 6 de janeiro de 2010

modulo: 2

Noções Básicas HTML

O que é HTML?

HTML é a sigla de hypertext markup linguagem (linguagem de marcação de hipertexto). Esta linguagem baseia-se num conjunto de códigos (chamados de etiquetas ou TAGs) usados para definir a aparência e funcionalidade das paginas Web.
Com o HTML constroem-se as paginas pelas quais navegamos na Internet. Um documento formado com um código HTML, é chamado de documento HTML precisa de ter um formato adequado para ser reconhecido e interpretado correctamente pelos navegadores.

TAGs

O documento HTML apresenta elementos entre parênteses angulados ( > e <). Estes elementos são as etiquetas (TAGs) de HTML, que são os comandos de formação da linguagem. A maioria das etiquetas tem uma correspondente de conclusão. <>_<>

Isto é necessário porque as etiquetas servem para definir a formação de uma porção de texto e assim marcamos onde começa e termina o texto com a formação especificada por ela.
Alguns elementos são chamados "vazios", pois não marcam uma região de texto, apenas coisa no documento.

<>

todos os elementos podem ter atributos

< 1="valor 1" 2="valor 2">... <>

TAGs fundamentais

Para criar qualquer pagina em HTML, é necessário conter 3 TAGs fundamentais. , e



titulo <TITLE <br /><head> <br /><body> <br /> corpo da pagina <br /></body> <br /></HTML> <br /> <br />Formatação de Texto <br />- TITULO <br />o titulo não aparece no corpo da pagina, mas antes no alto da tela do browser e é utilizado para identificar o documento como se fosse um nome do arquivo. E interessante que o titulo possa surgir claramente o conteúdo do documento. A marcação utilizada para titulo <title> e o seu .

- Cabeçalhos

Os cabeçalhos são normalmente usados para títulos e subtítulos dentro de uma pagina. O HTML possui seis níveis de cabeçalho, numerados de 1 a 6, sendo o numero 1 o de maior destaque. Os cabeçalhos são exibidos em letra maiores e em negrito. As notações relativas ao cabeçalho são: texto do cabeçalho , onde y é um numero entre 1 a 6 especificando o nível do cabeçalho.

quarta-feira, 7 de outubro de 2009

modulo 1: Redes e Protocolos

Arquitectura de uma rede de computadores

Wan - Wide área network rede alargada

Lan - local área network rede local


imagem


Topologia de Redes

Cama-se topologia a disposição física dos computadores relativamente às clabagens e dispositivos que os unem. Existem três grandes tipos de topologia.

- Linear (Bus)
- Estaela (Star)
- Anel (Ring)


Tpologia Bus

- Estes tipos de topologia é muito comum em redes Ethernet 10 base5, estando as máquinas ligadas por um cabo coaxil de tipo RG58 de 50 ohms.

- Esta topologia tem a vantagem de ser fácil de implementar e de não necessitar de elementos centrais, mas tem o grande inconveniente quando houver qualquer anomalia no cabo, assim, poderá toda a rede ficar inoperacional.


Tipologia Estrela


Este tipo de topologia é usada na maioria das redes Ethernet.
Neste caso a união é feita através de um "Hub" central, do qual sai um cabo para cada máquina, formando-se assim a estrela que lhe dá o nome.

Cada máquina tem o seu cabo podendo ser facilmente retirado da rede, basta soltar a respectiva ficha no "Hub", e sem causar qualquer interferência no funcionamento das restantes máquinas. Tem assim a grande vantagem de se manter sempre em funcionamento a não ser que o "Hub" central seja afectado.

topologia anel
.A topologia ring é formada por um anel, ou seja, existe um circuito semelhante ao utilizado com a topologia bus mas que junta as duas pontas.

Esta topologia é usadas nas redes Token Ring.
criada pela IBM e acarreta alguns inconveniente tais como.

.ser de instalação difícil,
.requerer manutenção,
.qualquer quebra no cabo bloqueia toda a rede.


equipamentos activos
considera-se equipamento activos de dados todo o equipamento gerador, receptor ou conversor de sinais electrónicos, de rádios opticeos, os mais usados em redes informáticas são:


.Concentrador ou "HUB"
.Comutador ou "switcher"
.Respeitadores ou "repeapers"
.ponte ou "Bridge"
.encaminhadores ou "Routers/Gateways"
.ponto de acesso ou "access point"


Redes de computadores


Concentrador ou "HUB"

Destina-se às redes locais do tipo Ethernet com topologia em estrela. Disponibiliza um conjunto de portas RJ - 45 (8,12,24 ou mesmo 48) destinadas à ligação de postos de trabalho ou de outros "Hubs", procedendo à regeneração dos sinais eléctricos entre os seguimentos existentes. O seu comportamento é positivo, já que o tráfego existente num segmento acaba por se repercutir nos restantes.





Comutador ou "Switcher"

A nível da tecnologia Ethernet encontra-se em grande expansão a utilização " Switcher Ethernet", podemos definir este equipamento como um "Hub" com as capacidades de uma "bridge", já que tem varias portas para interligação dos postos de trabalho e ao mesmo tempo isola o tráfego de cada troço, não deixando passar os pacotes perdidos.



. Repetidores ou "repeaters"

É um equipamento que actua puramente ao nível dos sinais eléctricos e se destina a ligar segmentos de redes destinos.
Procedes à gene-ração dos sinais, de forma a permitir a extensão das redes para maiores distâncias, nomeadamente a interligação de edifícios.



.Ponte ou"Bridge"

A "bridge" é um equipamento destinado à interligação de troços de rede distintos e geralmente homogéneos. embora seja de fácil instalação e configuração consegue ter um comportamento activo


.Encaminhadores ou "Routers/Gateways"

O router é um equipamento orientado para a interligação de redes diferentes tecnologias e de diferentes ambitos (Lan, Man, Wan) que funcionam automaticamente. Entendendo vários protocolos e atravez de tabela de "routing", fazem o encaminhamente dos pacotes para o destino correcto, actuando de forma activa na rede.



.Ponto de acesso ou "Access point"

Esta tecnologia que se encontra especificada na norma 802.11 e permite uma ligação sem fios a que se chama "Rede Local sem Fios ou Wireless lan" e funciona como uma "bridge" e numa topologia de estrela.

Funciona em " Half-duplex", o que segnifica que não permite a transmissão e a recepção de dados ao menos tempo. Funcionam com as seguintes velocidades: 1: 2: 5,5; 11; 22; 54 e 108 Mbps





Redes de Computadores

Meios de ligação das redes
. Pares de cobre UTP/FTP
-UTP - Unshielded Twisted pares (10 bases T)
-STP – Shielded Twisted pares
-FTP – Foiled Twisted pares
. Cabo cocoaxial RG58–50 Ohm
-Thin Ethernet (10 Base 2)
-Thick Ethernet (10 Base 5)
. Fibra optica
-Fibra mono modo (10 Base F e 1000 base FX)
-Fibra multimodo
. Sem fios (Wireless)
-802.11 x – WIFI
-802.16 – WIMax
-Bluetooth
. Powerline (ligação sobre as linhas eléctricas)

. Cabo de pares entraçados e fichas RJ45
Os cabos são um elemento essencial da transmissão dos dados numa rede de computadores. Os dados circulam na forma de sinais eléctricos, e os cabos devem evitar a degradação dos sinais durante a transmissão, protegendo o sinal de interferência.

. As ligações das fichas RJ45 são feitas através de um alicate semelhante ao da figura da esquerda, e para as caixas conectoras na parede poderá ser necessário uma ferramenta de inserção como da figura da direita.