Autor: Otoni Ribeiro | Publicado: 2012-04-29T23:43:00-03:00


Web-aula 1

Relacionamento, trabalho, lazer, consumo e educação na era da Tecnologia.1

Prezado aluno, seja bem-vindo à nossa UNIDADE I! Na Web I, vamos falar sobre trabalho, lazer, consumo e educação na era da Tecnologia.

Vamos começar observando a charge abaixo.



http://mauricioserafim.com.br/influencia-da-tecnologia-na-vida-social/

Aproveite para refletir sobre as vantagens e as desvantagens do impacto da tecnologia na vida moderna.



Evolução Tecnológica




A
 evolução tecnológica foi uma conseqüência da necessidade de suprir as 
limitações humanas. O processamento da informação levou ao surgimento do
 computador eletrônico, o qual deu início à era da informática, a partir
 de 1945. Com a mecanização as tarefas que cabiam no cérebro humano 
passaram para a máquina.

Na
 história da humanidade vivenciamos a cada dia e a cada instante, 
grandes avanços científicos e tecnológicos, as transformações indicam 
que estamos vivendo em um tempo muito especial da história humana, as 
influências das tecnologias permeiam, nossa vida diária. Portanto, não 
se encontra restrito às fábricas, hospitais, lojas, escolas, mas na vida
 cotidiana. Uma época de abertura, de evolução e de novas conquistas em 
termos do conhecimento humano.



Lazer




O
 entretenimento, dentro da sociedade, tem sido possibilitado pelos 
avanços tecnológicos, entre os quais se destaca a Internet, o cinema, os
 vídeos domésticos ou DVDs, a televisão aberta, a TV por assinatura, a 
televisão digital, a música, os esportes, o vídeo e os PC games, 
principalmente para o segmento de público jovem. Os impactos econômicos 
do desenvolvimento do setor de entretenimento devem ser observados 
quando se analisa a sociedade contemporânea.

Pode ser proporcionado pelas diversas opções de jogos e entretenimento existentes no mercado: filmes, músicas, etc.





Para refletir: Você já parou para pensar como seria sua vida sem televisão, sem rádio, telefone ou internet?






Consumo




As
 novas tecnologias têm produzido efeitos significativos na forma de vida
 das pessoas também na forma como elas realizam suas compras.&nbsp; Podemos 
fazer uma compra sem sair de casa a qualquer hora do dia ou da noite e, 
em qualquer dia da semana. A grande “questão” hoje é realizar este 
processo de forma segura.





Trabalho




A
 tecnologia da informação, como ferramenta estratégica, se acentua ainda
 mais a cada dia, tornando-se uma alavanca de inovação e gerenciamento 
para&nbsp; as empresas, em um mercado de trabalho, onde, a concorrência&nbsp; 
acirrada entre empresas, tornou a tecnologia, o grande diferencial 
competitivo para sobreviver a este ambiente dinâmico.



Relacionamentos




Você
 pode imaginar como as pessoas se relacionavam até pouco tempo atrás sem
 celular, rádio, msn, icq, skype, e-mail, orkut, dentre outros?

Namorar, falar com a família e amigos tomou novas dimensões nos dias de hoje.

Os
 recursos tecnológicos da sociedade pós-moderna mudaram para sempre a 
nossa concepção de tempo e espaço. Hoje, podemos trocar informações com 
pessoas em qualquer lugar do mundo, quase que instantaneamente, desde 
que tenhamos computadores “plugados” na grande rede mundial, a Internet.
 Texto, som, imagem trafegam pela rede a velocidades nunca.

Com
 tantos recursos tecnológicos desenvolvidos para facilitar a comunicação
 entre as pessoas não podemos ficar isolados. Mas precisamos estar 
atentos, pois não podemos igualar a emoção de uma experiência de uma 
simulação do vôo de ultraleve com a do vôo na realidade, com o vento 
batendo no rosto e o gostoso cheiro do mar.

Os
 recursos tecnológicos são instrumentos culturais da nossa época e 
devemos fazer a apropriação deles. Mas não podemos deixar de estar com 
as pessoas, não podemos deixar de tocar-lhes, não podemos deixar de 
falar-lhes, não podemos deixar de ouvir as suas confidências, não 
podemos deixar de fazer com que acreditem que a vida é bela.




Links:

Leia um artigo comunicação não é tecnologia é relacionamento.

Disponível em:

http://www.scribd.com/doc/196087/Artigo-Comunicacao-nao-e-tecnologia-e-relacionamento








Educação




As
 constantes mudanças e as novas tecnologias têm causado grandes 
transformações em curtos períodos de tempo, produzindo efeitos 
significativos na forma de vida das pessoas.&nbsp; Essas tecnologias também 
têm afetado aos processos tradicionais de ensino e aprendizagem.

Auxiliando
 em pesquisas; na forma de preparar aulas, palestras, estudos; afetando 
profundamente os processos de geração, organização e difusão do 
conhecimento; Suporte e apoio na comunidade acadêmica; Acesso rápido à 
informação em tempo real.

O
 ensino a distância é uma modalidade educacional que utiliza esses 
recursos tecnológicos.&nbsp; No entanto, esses recursos por si só, não são 
suficientes para você adquirir conhecimento.

A
 Educação a Distância é uma modalidade educacional sistematizada que 
realiza este processo utilizado a Tecnologia da informação.





Referências




IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica digital. 32. ed. São Paulo: Érica, 2001. 528p.

ANGELONI, M. T. (Coord.). Organizações do conhecimento: infra-estrutura, pessoas e tecnologias. São Paulo: Saraiva, 2005. 215p.

OLIVEIRA, Fátima Bayma de (Org.).&nbsp;Tecnologia da informação e da comunicação: desafios e propostas estratégicas para o desenvolvimento de negócios. &nbsp;&nbsp;São Paulo: Pearson, 2006. 256p

Web-aula 2

PROJETO DE IMPLANTAÇÃO DE UM PLANO PILOTO DE GERENCIAMENTO

Muitas
 vezes, as organizações encontram a melhor maneira de iniciar um projeto
 piloto envolvendo um ou mais departamentos antes de expandir o sistema 
por toda a empresa. Muitas empresas iniciam com Departamentos de 
Documentação ou com formação de uma comissão com representantes dos 
vários setores da organização, para uma maior discussão e aceitação, mas
 o GED pode ser implementado num departamento especifico e 
gradativamente abranger a organização como um todo.

Projetos
 pilotos permitem às organizações desenvolver e testar completamente os 
procedimentos de imagens antes de comprometer-se com uma solução 
empresarial (LASERFICHE, 2002).

A
 implantação de um sistema GED requer um amplo estudo das condições 
ambientais da organização, seus departamentos, suas áreas de atuação. 
Com base nos achados na literatura consultada, entende-se que se deve 
partir de um plano inicial – plano piloto – de gerenciamento para que as
 informações sejam protegidas e compartilhadas de forma segura.



Projeto de implantação do sistema GED




Para
 a implantação de um sistema GED numa organização, vários passos devem 
ser seguidos, alterando-se ou alternando-se conforme o tipo de empresa, 
mas, na essência, os critérios básicos são os mesmos.

Avaliação
 das condições ambientais para implantação do sistema GED De acordo com 
Laserfiche (2002), A escolha por um sistema GED consiste em um número 
significativo de questões que podem ser consideradas:

•
 Quantos documentos devem ser armazenados, considerando tanto o número 
de documentos existentes como os documentos adicionados manualmente?

Essa informação determina quanto espaço de armazenamento é necessário, a configuração de hardware e o custo do sistema;

•
 Quantos usuários irão utilizar o sistema ao mesmo tempo? Isso determina
 os custos de softwares preliminares e o tamanho do servidor;

•
 Quais departamentos irão utilizar o sistema e a que o público terá 
acesso? Isso determina quais características de especificação e níveis 
de segurança que serão necessários;

•
 Quais os problemas sérios devem, absolutamente, ser resolvidos e quais 
itens devem ser encaminhados para especificar características e níveis 
de segurança necessários.

•
 Qual a necessidade de uma solução padrão ou customizada? Isso determina
 o número de consultores, instalações, treinos, configurações e suporte 
que serão necessários;

•
 Que tipo de rede está sendo atualmente utilizada? Esse tipo de rede 
será mantido? Isso determina restrições, configurações de sistemas e 
atualizações de estações de trabalho.



Instalação




O
 primeiro passo de uma instalação deve ser a inspeção do local pela 
comissão de implantação do (GED), para determinar o equipamento 
necessário e os problemas de conectividade de redes. Instalar hardware 
envolve em desempacotar, conectar e configurar todos os componentes como
 instalação de sistemas operacionais e drivers. Isso também 
inclui testar os equipamentos para assegurar a funcionalidade adequada 
do hardware e a conectividade da rede (LASERFICHE, 2002).

Depois
 de testar o hardware, a instalação de software consiste em instalar o 
sistema GED no servidor e nas estações clientes e testá-lo.



Treinamento




O
 programa de treinamento deve direcionar diferentes níveis de usuários e
 diferentes preocupações. Requer ensinar aos usuários finais os 
mecanismos do sistema. Esse treino deve ser no local de trabalho. Cada 
grupo de usuários deve receber instruções necessárias para assegurar 
conforto com o novo sistema GED. O tempo de treinamento necessário irá 
depender do nível dos usuários em utilizar os aplicativos. O sistema GED
 facilita o uso das novas mudanças para procedimentos existentes 
fornecendo uma operação amigável e poucas mudanças nos procedimentos. É 
aconselhado montar grupos com até 10 usuários e que os participantes não
 sejam interrompidos durante o treinamento (LASERFICHE, 2002).



Administração do sistema




Para
 assegurar que o sistema GED funcione satisfatoriamente é importante 
treinar alguns indivíduos como administrar o sistema. O treinamento no 
próprio ambiente de trabalho é o mais recomendado porque aumenta a 
familiaridade com detalhes específicos do sistema GED (LASERFICHE, 
2002).



Implementação de consultoria




Envolve
 aqueles que são responsáveis por gerenciamento de registros e 
documentos, e que desenvolvem estratégias para traduzir os documentos 
existentes em papel para sistema eletrônico. Os gerentes de atividades 
como registros de documentos necessitam entender a diferença dessa 
atividade entre papel e eletrônico, decisões de retenções de tempos, 
armazenamento e metodologias de trabalho devem ser definidas antes de 
iniciar o trabalho. A duração do treinamento depende da complexidade do 
sistema (LASERFICHE, 2002).



Benefícios do GED




Milhões
 de organizações ao redor do mundo utilizam GED todos os dias ao invés 
de sistemas de papéis. GED oferece um grande número de benefícios em 
relação a papel e microfilmes (LASERFICHE, 2002):

•
 Recuperação Rápida — permite que você encontre documentos rapidamente 
sem deixar a sua mesa de trabalho. Papel e microfilme são lentos porque 
os usuários devem ir até os arquivos e acessá-los manualmente;

•
 Indexação Flexível — pode indexar documentos em várias diferentes 
maneiras simultaneamente. Por outro lado, indexar papel e microfilme em 
mais de uma maneira é inoportuno, caro e consome tempo;

•
 Busca em texto – Texto Completo - GED pode recuperar arquivos por 
qualquer palavra no documento, recurso impossível com papel e 
microfilme;

•
 Sem perda de arquivos - documentos escaneados mantêm-se nas suas pastas
 quando são visualizados. Nenhum é perdido ou não localizado. Ainda 
mais, modelos de índice e buscas no texto completo podem localizar 
documentos se eles foram acidentalmente movimentados. Perdas de 
documentos são caras e consomem tempo para repô-los;

•
 Arquivo Digital - o risco de perda ou danificação de papel para 
documento eletrônico é reduzido com um sistema GED. Mantendo as versões 
de arquivos em sistemas GED, evita o manuseio dos documentos em papel 
que sofrem desgaste;

•
 Compartilhar arquivos facilmente — sistemas de GED fazem o 
compartilhamento facilitado de documentos entre colegas de trabalho e 
clientes pela mesma rede de computadores, por um CD ou pela WEB. 
Documentos de papel normalmente requerem uma fotocópia para serem 
compartilhados e microfilmes requerem conversão para papel;

•
 Melhora de Segurança - GED pode prover melhor e mais flexibilidade de 
controle sobre documentos. Controles de segurança nas pastas, documento 
individual, nível de palavras e/ou para diferentes grupos ou indivíduos.
 Em contraste, todos os documentos de papéis arquivados em um armário 
possuem o mesmo nível de segurança;

•
 Economia Espaço - GED irá ajudar a recuperar valioso espaço físico no 
escritório e arquivo permanente, reduzindo drasticamente as pilhas de 
papéis;

•
 Recuperação de desastres - GED provê um fácil caminho para fazer um 
backup dos documentos que podem ser localizados fora do departamento. 
Papéis são caros e fazer cópia de documentos é também uma maneira cara, 
sendo vulneráveis a incêndios, enchentes e roubos.Associando Tecnologia ao GED





A
 bibliografia disponível mostra que o GED não é uma tecnologia e sim um 
sistema que faz uso de tecnologias para solucionar os problemas de 
gerenciamento de documentos. Essas novas tecnologias podem ser 
subdivididas em quatro, sendo essas as mais importantes porque formaram,
 originalmente, a essência do GED.

Mas,
 com a constante evolução, surgiram novas necessidades do mercado e a 
integração entre os sistemas de informações das organizações, 
possibilitando que outras tecnologias fossem criadas (CENADEM, 2002).



Knowledge Management – KM




Engloba ferramentas para o gerenciamento do conhecimento (knowledge management)
 nas organizações. Esta tecnologia é formada por produtos híbridos das 
demais tecnologias citadas neste capítulo, principalmente aquelas que 
são âncoras do GED: Document Imaging, Document Management e Workflow.
 Consiste de mecanismos para organização da documentação e de processos,
 permitindo a formulação de uma grande base de conhecimento nas 
organizações. Combina a digitalização de documentos com sistemas de 
informação, criando uma potente ferramenta de suporte para as 
organizações (CENADEM, 2002).

É bastante utilizado em processos de Call Center , Help Desk
 e suporte a equipes de produção nas mais variadas áreas. Por exemplo, 
um provedor de serviços que possui suporte on-line utiliza-se de uma Knowledge Base, com informações sobre como dar suporte a seus clientes, principais problemas relatados e possíveis soluções.



Formas de Processamento




Esta
 tecnologia trata da captura de dados de formulários impressos. É 
empregada juntamente com recursos de OCR e ICR. Consiste-se em 
ferramentas que oferecem recursos para reconhecimento de caracteres em 
regiões determinadas de um formulário, transpondo para um banco de dados
 ou identificando alguma marca em um formulário, direcionando-o para uma
 operação específica no sistema. Esses caracteres podem estar impressos 
ou manuscritos, dependendo do tipo de documento processado.

Tais
 recursos são bastante empregados em empresas com equipes de vendas 
diretas que preenchem formulários de pedidos; na apuração de resultados 
de pesquisas; no processamento de passagens aéreas etc.



Gerenciamento do Conteúdo




É uma tecnologia que surgiu do Knowledge Management.
 Engloba ferramentas capazes de combinar todo o conteúdo de informações 
da organização canalizadas em uma única visão, ou seja, todas as 
informações referentes a determinado assunto podem ser buscadas 
diretamente de uma só vez. Por exemplo, pesquisando-se determinado 
cliente, têm-se e-mails referentes a negociações efetuadas, pedidos e 
notas fiscais de venda dos produtos.

Para utilizar uma ferramenta de Content Management
 a organização deve estar culturalmente organizada, utilizando os 
conceitos de centralização e controle de fluxo das informações, evitando
 redundâncias ou deficiências de dados (CENADEM, 2002).



Workflow




Workflow
 pode ser definido com um conjunto de tarefas para o controle do fluxo 
de processos de forma ordenada na organização. Corresponde às 
ferramentas que gerenciam o fluxo dos documentos, disponibilizando 
critérios para o controle desse fluxo, ou seja, oferecendo recursos de 
inclusão, aprovação ou rejeição de informações no documento. Existem 
basicamente dois tipos de workflow (KOCH, 1998):

Com o software de workflow,
 os usuários podem elaborar programas (scripts) que detalham para onde 
cada documento deve seguir numa organização, mapeiam e controlam todos 
os documentos que entram no sistema. Os scripts podem especificar em 
quais estações de trabalho a imagem de um documento deve aparecer e que 
outras imagens devem estar junto com ela na tela, em todas as categorias
 de documentos.

Segundo
 Avedon (2002), após a implantação da tecnologia, o próximo passo é 
mudar os procedimentos que já estão enraizados há décadas para que os 
funcionários comecem a se adaptar ao sistema. Nesse caso, entra o 
conceito de organização e métodos dos procedimentos de automação, o Workflow, pois não adianta substituir papel por disco óptico e continuar a manter processos antigos de organização e métodos.

As ferramentas de workflow
 de produção possuem interfaces gráficas para o desenvolvimento da 
aplicação, em que o fluxo é definido através do uso de ícones.

Possuem, ainda, o papel de automatizar a disponibilização das ferramentas necessárias para a execução das diversas atividades.



Captura de imagens




A tecnologia Document Imaging
 trata da digitalização e armazenamento de documentos. Engloba as 
ferramentas de escaneamento, captura e armazenamento de documentos, 
tendo como objetivo principal a sua recuperação através de índices 
pré-definidos ou índices textuais, que são gerados a partir de OCR ou 
drivers de impressão virtual, descrito em (CDIA MANUAL, 2000).

Chama-se
 de digitalização ou escaneamento o processo de converter imagens em 
papel para arquivos no computador. Os documentos são preparados e 
submetidos ao scanner que os “fotografa” gerando um arquivo imagem do 
documento em  papel. O arquivo gerado pode conter a imagem de uma única 
folha de papel ou ser um arquivo com várias imagens.

Cada
 produto de gerenciamento de imagem possui suas características de como 
administrar esses detalhes. Dependendo da necessidade, utiliza-se um 
tipo de arquivo para guardar as imagens. Atualmente, o padrão mais 
utilizado para as imagens comerciais é o TIFF com um fator de 
compactação em 200 dpi preto e branco.

O
 tipo do arquivo deve ser escolhido de acordo com o que se quer fazer, 
mas geralmente os produtos de gerenciamento de documentos se encarregam 
desta missão organizando ou convertendo os arquivos quando necessário.



A Tarefa




Você
 está sendo convidado a refletir neste momento sobre os aspectos 
relacionados a tecnologias de GED. Então, responda:&nbsp; 1) Qual a função da
 tecnologia Workflow?&nbsp; 2) Cite duas vantagens (benefícios) em se implementar uma solução de GED.&nbsp; 3) O que é Document Imaging?



Conclusão




Esta leitura tem como objetivo conhecer tecnologias de Gestão Eletrônica de Documentos e os benefícios em sua implementação..

Parabéns a todos que chegaram até aqui!

Boa sorte e sucesso na carreira e no curso!!!



Pesquisando




Você pode assistir a diversos vídeos inerentes a GED no Youtube.



Referências




BALDAM, Roquemar. Gerenciamentos eletrônico de documentos.&nbsp; São Paulo: Érica, 2004.

MORENO, Nádina Aparecida.&nbsp; Gestão em arquivologia. Londrina: EDUEL, 2008

Web-aula 1

Conceitos - programação modular1

Programação Modular



Subrotinas




No
 geral, problemas complexos exigem algoritmos complexos, mas sempre é 
possível dividir um problema grande em problemas menores. Desta forma, 
cada parte menor tem um algoritmo mais simples e é este trecho menor é 
chamado de subrotina. Uma subrotina é na verdade, um programa, e sendo 
um programa poderá efetuar diversas operações computacionais (entrada, 
processamento e saída) e deverá ser tratado como foram os programas 
projetados até este momento. As subrotinas são utilizadas na divisão de 
algoritmos complexos, permitindo assim, possuir a modularização de um 
determinado problema considerado grande e de difícil solução.

Ao
 se trabalhar com esta técnica, pode-se deparar com a necessidade de se 
dividir uma subrotina em outras tantas quantas forem necessárias, 
buscando uma solução mais simples de uma parte do problema maior. O 
processo de dividir subrotinas em outras é denominado Método de 
Refinamento Sucessivo.



Procedimentos




Um
 procedimento é um bloco de programa, contendo início e fim e será 
identificado por um nome, através do qual será referenciado em qualquer 
parte do programa principal ou do programa que chama a rotina. Quando 
uma subrotina é chamada por um programa, ela é executada e ao seu 
término o controle de processamento retorna automaticamente para a 
primeira linha de instrução após a linha que efetuou a chamada da 
subrotina.



A
 melhor maneira de se entender como trabalhar com subrotinas é fazer a 
sua aplicação em um programa mais complexo. Para tanto, imagine o 
seguinte problema:Exemplos: 

Um programa de calculadora que 
apresenta um menu de seleções no programa principal. Este menu deverá 
dar ao usuário a possibilidade de escolher uma entre quatro operações 
aritméticas. Escolhida a opção desejada, deverá ser solicitada a entrada
 de dois números, e processada a operação, o resultado deverá ser 
exibido. Note que este programa deverá ser um conjunto de 5 rotinas, uma
 principal e 4 secundárias. A rotina principal efetuará o controle sobre
 as 4 rotinas secundárias, que por sua vez pedirão a leitura de dois 
valores, farão a operação e apresentarão o resultado obtido. Observe 
agora a codificação:


ALGORITMO "calculadora" VAR Opcao : inteiro











Obs.:
 Observe que cada subrotina possui suas próprias variáveis, estas porém 
só podem ser acessadas dentro de cada procedimento, neste caso são 
chamadas de variáveis locais. A variável opção é uma variável global que
 pode ser acessada em qualquer local do programa, tanto nos 
procedimentos quanto no programa principal.




Funções




Uma
 função também é um bloco de programa como são os procedimentos, 
contendo início e fim e sendo identificado por um nome através do qual 
também será referenciada em qualquer parte do programa principal. Uma 
subrotina de função é na verdade muito parecida com uma subrotina de 
procedimento. A sintaxe em português estruturado será também idêntica ao
 exemplo anterior. Observe a seguir, o código em português estruturado 
de uma função.



A
 sua principal diferença entre a função e a subrotina (procedimentos) 
está no fato de que uma função retorna um determinado valor, que é 
retornado no próprio nome da função. Quando se diz valor, devem ser 
levados em consideração os valores numéricos, lógicos ou literais 
(caracteres).Utilização de Funções





Criaremos uma função que eleva ao cubo um determinado número inserido pelo usuário. Observe o Programa:





Observe que neste caso o parâmetro formal foi a variável "N", enquanto o parâmetro real foi a variável "I".

Subrotinas – Conceitos 

Parâmetros Formais são declarados através de variáveis juntamente com a identificação do nome da subrotina, os quais serão tratados da mesma forma que são tratados as variáveis globais ou locais.

Parâmetros Reais é uma lista de argumento podendo ser valores constantes ou variáveis que são passados no memento que efetua a chamada da subrotina (exemplo: soma(10, 20, X, Y).

No
 caso da passagem de parâmetro for por referência não poderão ser 
passados valores como exemplificado 10 e 20, visto que não possuem 
endereço de memória.

Passagem de parâmetro por referência
 caracteriza-se pela ocorrência da alteração do valor do parâmetro real 
quando o parâmetro formal é manipulado dentro da subrotina.&nbsp; Desta 
forma, qualquer modificação feita no parâmetro formal implica em 
alteração no parâmetro real correspondente. A alteração é efetuada e 
devolvida para a rotina chamadora.

Passagem de parâmetro por valor
 caracteriza-se pela não alteração do valor do parâmetro real quando o 
parâmetro formal é manipulado dentro da sub-rorina. Assim sendo, o valor
 passado pelo parâmetro real é copiado para o parâmetro formal, que no 
caso assume o papel da variável local da subrotina. Dessa forma, 
qualquer modificação que ocorra na variável local da subrotina não 
afetará o valor do parâmetro real correspondente, ou seja, o 
processamento é executado somente dentro da rotina, ficando o resultado 
obtido “preso” dentro da rotina.

Variável global é declarada no início de um programa, podendo ser utilizada por qualquer subrotina subordinada.

Variável local
 é declarada dentro de uma subrotina e é somente válida dentro da 
subrotina à qual está declarada; ou seja, depois que a subrotina é 
finalizada a variável local se torna inacessível.

Passagem de parâmetros por VALOR

EXEMPLO:
 O código abaixo mostra um exemplo de um algoritmo que realiza a leitura
 de dois números reais e chama um procedimento que mostra a soma dos 
números lidos.&nbsp;



OBSERVAÇÃO:

• Os parâmetros formais (X e Y) e reais (A e B) devem ser do mesmo tipo; 

•
 A passagem de parâmetro é por valor através dos parâmetros reais (A e 
B) é passado uma cópia para os parâmetros formais (X e Y); 

• A e B são variáveis locais ao procedimento.

Passagem de parâmetros por REFERÊNCIA





Web-aula 2

Programação de Computadores



Programação de Computadores




Programação
 é o processo de escrita, teste e manutenção de um programa de 
computador. O programa é escrito em uma linguagem de programação, embora
 seja possível, com alguma dificuldade, escrevê-lo directamente em 
linguagem de máquina.

Uma linguagem de programação (poderá consultar uma lista de linguagens de programação no link:http://pt.wikipedia.org/wiki/Anexo:Lista_de_linguagens_de_programa%C3%A7%C3%A3o&nbsp;é
 um método padronizado para expressar instruções&nbsp; para um computador. É 
um conjunto de regras sintáticas e semânticas usadas para definir um 
programa de computador. uma linguagem permite que um programador 
especifique precisamente sobre quais dados um computador vai atuar, como
 estes dados serão&nbsp; armazenados ou transmitidos e quais ações devem ser 
tomadas sob várias circunstâncias.

O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador.

Uma
 das principais metas das linguagens de programação é permitir que 
programadores tenham uma maior produtividade, permitindo expressar suas 
intenções mais facilmente do que quando comparado com a linguagem que um
 computador entende nativamente (código de máquina). Assim, linguagens 
de programação são projetadas para adotar uma sintaxe de nível mais 
alto, que pode ser mais facilmente entendida por programadores humanos. 
Linguagens de programação são ferramentas importantes para que 
programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.

Interpretação e compilação

As linguagens de programação podem, grosso modo, classificar-se em duas categorias: a) as linguagens interpretadas, b) as linguagens compiladas.



Linguagens compiladas e interpretadas




Linguagens
 de programação são frequentemente classificadas como compiladas ou 
interpretadas. Nas compiladas, o texto (ou código-fonte) do programa é 
lido por um programa chamado compilador, que cria um arquivo binário, 
executável diretamente pelo hardware da plataforma-alvo. Ou 
seja, O compilador lê o programa e o traduz completamente antes que o 
programa comece a rodar. Neste caso, o programa escrito em linguagem de 
alto nível é chamado de código fonte e o programa traduzido é chamado de código objeto
 ou executável. Uma vez que um programa é compilado, você pode 
executá-lo repetidamente, sem que precise de nova tradução. Exemplos 
deste tipo de linguagem são C ou Fortran. A imagens abaixoa apresentam o
 processo de compilação.



Em contrapartida, programas escritos em linguagens interpretadas não são convertidos
 em um arquivo executável. Eles são executados utilizando outro 
programa, o interpretador, que lê o código-fonte e o interpreta 
diretamente, durante a sua execução. Ou seja, o interpretador lê um 
programa escrito em linguagem de alto nível e o executa. Ele processa o 
programa um pouco de cada vez, alternadamente: ora lendo algumas linhas,
 ora realizando computações. Exemplos de linguagem interpretada incluem o
 BASIC tradicional, Perl e Python.

Compilador Versus Interpretador





Um
 programa compilado geralmente executa mais rapidamente que um programa 
interpretado. A vantagem do interpretador é que ele não necessita passar
 por um estágio de compilação durante a qual as instruções de máquina 
são geradas. Este processo pode consumir muito tempo se o programa é 
longo. O interpretador, por outro lado, pode executar imediatamente os 
programas de alto-nível.

O quadro abaixo apresenta comparativo entre as linguagem compiladas e interpretadas.





Sistemas de Interpretação Híbridos




Alguns
 sistemas de implementação de linguagem são um meio-termo entre os 
compiladores e os interpretadores puros; eles traduzem programas em 
linguagem de alto nível para uma linguagem intermediária projetada para 
permitir fácil interpretação. Esse método é mais rápido do que a 
interpretação pura porque as instruções da linguagem fonte são 
decodificadas somente uma vez. Essas implementações são chamadas de 
sistemas de implementação híbridos.

Poderá consultar uma abordagem mais completa sobre compiladores no link:

http://www.cin.ufpe.br/~pftbm/apostila-LFeC-II.pdf.

Paradigmas de linguagens de programação

Em
 programação, os paradigmas começaram a ser introduzidos e chamados como
 tais a partir de 1975. Nessa época, já era evidente a existência de um 
paradigma básico de programação, o imperativo, que era representado por 
linguagens como Fortran, Algol e Pascal. Em contraposição, LISP e 
linguagens derivadas davam suporte a um outro paradigma, o funcional, 
cujos programas eram expressos através de composições de funções. Na 
década de 80 surgiu um novo paradigma, o lógico, baseado no 
reconhecimento de Prolog e outras linguagens baseadas em lógica. Também 
nesta época surgiram as linguagens orientadas a objeto.

A
 figura abaixo sumariza a história desta evolução das linguagens de 
programação que deu origem a diferentes linguagens de diferentes 
paradigmas de programa (como pode observar na figura várias linguagens 
surgiram como evolução de outra linguagem). Quando uma linguagem 
pertence ao mesmo paradigma elas possuem basicamente estruturas 
semelhantes.



Obs: os artigo dispoinível em : http://fit.faccat.br/~guto/artigos/Artigo_Paradigmas_de_Programacao.pdf e http://www.inf.unisinos.br/~barbosa/grefe/atividades/at1/joao_1.pdf descrevem os paradigmas de programação apresentados na figura acima (Orientado a objeto, Imperativo, funcional e lógico).

Descrição de algumas das linguagens apresentadas na figura anterior:

•
 Fortran é a precursora de todas as linguagens imperativas modernas. 
Linguagem oficial dos antigos mainframes da IBM. Ainda muito usada em 
supercomputadores, como o CRAY, por físicos e engenheiros.

•
 Algol apresentou o primeiro esboço interessante de uma linguagem de 
programação moderna, incluindo conceitos como estruturas de blocos e 
procedimentos. Não saiu dos limites da academia.

•
 Cobol foi criada para o desenvolvimento de aplicações comerciais. Foi 
desbancada pelo surgimento dos sistemas gerenciadores de bancos de 
dados. Ainda existem muitos sistemas desenvolvidos nesta linguagem em 
fase de manutenção.

• Simula é precursora das linguagens orientadas a objetos. Smalltalk é certamente a única linguagem orientada a objetos pura.

•
 Pascal é a linguagem mais popular de todas as descendentes de Algol.  
Simples, sistemática e com implementações eficientes foi o carro-chefe 
da Borland por muitos anos. É uma das linguagens mais recomendadas para 
ensino de programação. De Pascal surgiram muitas outras linguagens como 
Modula-2 e Delphi, que passou a incorporar orientação a objetos e 
definição/manipulação de dados (SQL).

•
 C é ainda hoje uma das linguagens mais utilizadas, principalmente no 
ambiente Unix para o qual foi desenvolvida. Sua marca maior é a 
eficiência, porém construções de baixo nível tornam seus programas 
difíceis de serem lidos e depurados. A partir de C, surgiram as 
linguagens C++ e Java, as quais incorporaram o paradigma de orientação a
 objetos, porém a segunda eliminou o uso explícito de apontadores e deu 
ênfase a programação distribuída na Internet, fator primordial de seu 
sucesso.

•
 Em outra linha de desenvolvimento, inicialmente voltado para aplicações
 de inteligência artificial, sugiram as linguagens funcionais e lógicas.
 Lisp – linguagem funcional – foi a precursora. A linguagem Prolog é 
largamente utilizada ainda hoje para o desenvolvimento de aplicações 
cognitivas (novo nome para inteligência artificial). As linguagens 
funcionais têm ML como representante de maior sucesso. Vale ressaltar 
também Haskell e Miranda – uma linguagem funcional pura.