Profs: Dr. Alexandre Rosa dos Santos Dr. Geraldo Regis Mauri ENG05207 - Informática Programa: é uma coleção de instruções que a CPU de um computador é capaz de interpretar e executar. Toda instrução de linguagem diferente da linguagem de máquina deve ser convertida para a linguagem de máquina. Esta conversão é feita através do tradutor de linguagem. O código do programa de alto nível é chamado de código fonte, e o código da linguagem de máquina (baixo nível) é conhecido como código objeto. Software: é um conjunto de instruções colocadas em ordem lógica que quando executada, a seqüência de comandos presente nele controla o computador de modo a levá-lo a realização de tarefas de maneira eficiente e rápida, que para o ser humano seria de maneira difícil e morosa. Também é considerada como parte do software a “documentação” usada para explicá-lo ao usuário. Software básico: conjunto de programas destinados a dar apoio ao sistema global do computador coordenando as atividades do hardware e de vários programas do computador. A maioria dos softwares básicos são escritos em linguagem assembly e C. Exemplos: programas tradutores de linguagens, utilitários e sistemas operacionais. Software aplicativo: programas escritos para resolver problemas específicos dos usuários. Informam ao computador como realizar tarefas específicas fazendo com que o computador seja útil para as pessoas. Esse tipo de software geralmente é sub-dividido em dois grupos: Customizado e Padronizado. Customizado: os softwares são feitos ou encomendados a terceiros para darem solução a problemas específicos. São softwares que cumprem finalidades específicas para determinados grupos de pessoas ou interesses individuais. Uma empresa, por exemplo, pode criar um software para controlar o número de empregados, seus endereços, etc. Vantagens: Software “satisfaz” as exigências do usuário. Mais flexibilidade. Especificidade do problema. Ex: o dono de um supermercado solicita a um programador que construa um software para controlar os caixas de seu estabelecimento. Padronizado: os softwares são “pacotes fechados”, podem ser comprados ou alugados. O próprio mercado se encarregou de criar alguns softwares padronizados que são necessários a uma grande parte dos usuários de computador, como é o caso dos editores (processadores) de texto, planilhas eletrônicas, entre outros. Vantagens: Custos mais baixos. Maior tolerância à falha. Alta qualidade. Facilidade para compra. Ex: Microsoft Office. Responsável por gerenciar as informações que fazem com que a máquina se comporte de determinada maneira; Controla a máquina para os outros programas rodarem; Gerencia seus discos e arquivos; Controla como o monitor exibe a imagem; Define as prioridades de impressão de uma impressora; Reserva um espaço da memória para cada programa; Enfim, organiza tudo. Principais SOs: MS-DOS (Microsoft Disk Operating System) Windows 95, Windows 98, Windows ME (Millennium Edition), Windows XP, Windows NT, Windows 2000, Windows 2003, Windows Vista IBM OS/2 Apple Mac OS Unix, Linux DICA: Cada sistema operacional tem uma finalidade e é produzido para um determinado tipo de computador. O Windows, por exemplo, é hoje o principal sistema operacional para PCs. São usados para: Fundir e separar conjuntos de dados Fazer o acompanhamento dos trabalhos do computador que estão sendo executados Principais utilitários: Compactador de arquivos Antivírus Gerenciador de memória Etc. Editores de texto Produzem documentos, cartas, malas-diretas, livros, etc. Praticamente decretaram a morte da máquina de escrever. Permitem corrigir um erro automaticamente, melhorar o texto quando bem desejar, aumentando o tamanho da letra, alterando a cor, dividindo em colunas, inserindo um desenho ou foto, etc. Exemplos: Word, WordPerfect. Planilhas eletrônicas: São capazes de construir planilhas de cálculos, envolvendo fórmulas criadas pelo próprio usuário ou outras já embutidas (fórmulas científicas, financeiras, etc.). Esse tipo de software permite ainda a criação de gráficos com variados recursos em 3D, dentre outras aplicações. Exemplos: Excel, Lotus 1-2-3, Quattro Pro. Bancos de dados: São programas de uso específico para o controle e gerenciamento de dados. Exemplos: Access, Approach, Paradox, PostgreSQL. Editoração eletrônica e programas gráficos: São programas com capacidade de trabalhar com alta resolução gráfica e produzir criações profissionais, como jornais, panfletos publicitários, etc., utilizando fotos, imagens e layout próprio. Exemplos: PageMaker, CorelDRAW, Illustrator, Photoshop, Publisher. Navegadores: Também chamados de browsers, são utilizados para “navegar” na internet. É o aplicativo responsável por “mostrar” as páginas da internet. Exemplos: Internet Explorer, Mozilla Firefox, Netscape Navigator. Ferramentas de programação: São softwares com a função especial de criar programas. Geralmente são compostas por outros três tipos de softwares: compiladores, interpretadores e editores. Exemplos: Delphi, C++ builder, Visual Studio, etc. Um compilador é um programa que, a partir de um código escrito em uma linguagem, o código fonte, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto. Já um interpretador é um programa que lê um código fonte de uma linguagem de programação e os converte em código executável. Os editores são processadores de texto que “entendem” uma ou mais linguagens de programação. Softwares de apoio: Dão apoio e assistência em todos os aspectos da tomada de decisões sobre um problema específico. Vão além dos sistemas de informações gerenciais, pois fornecem assistência imediata na solução de problemas complexos. Outros softwares: Existem inúmeros softwares com funcionalidades específicas, como por exemplo o IBM Via Voice, que é um aplicativo cuja função é utilizar comandos de voz para acesso ao computador. São métodos padronizados para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente: Sobre quais dados um computador vai atuar. Como estes dados serão armazenados ou transmitidos. 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. Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração. Já o código objeto é escrito em uma linguagem de baixo nível, como uma seqüência de instruções a ser executada por um sistema computacional. Exemplos: Pascal, Fortran, C, C++, Java, etc. O que para alguns pode ser um procedimento normal, econômico e até bastante usual, está sendo para fabricantes e comerciantes de software uma dor-de-cabeça. A pirataria significa a cópia ou o uso ilegal de programas. Alguns tipos de cópia são legais, como por exemplo a cópia de segurança (backup) caso o original seja danificado. Há algum tempo, as empresas de softwares costumavam por um procedimento que impedisse a cópia de seus programas, mas muitas companhias descobriram que esse tipo de proteção à cópia gerava mais problemas do que soluções. A principal lei de âmbito internacional que governa a pirataria de software é a Lei do Direito Autoral (Copyright Act) de 1976. Em 1983, foi acrescentada uma emenda (Software Piracy and Counterfeiting Amendment). Há algum tempo a pirataria de software comercial foi elevada de contravenção para crime. As empresas são os maiores compradores de hardware e software. O maior potencial de perda de arrecadação devido à pirataria está nas empresas e organizações. Muitas empresas de software adotaram licenças de uso empresarial. O preço é menor do que adquirir uma cópia para cada computador. Shareware: São programas distribuídos gratuitamente para serem testados pelo usuário, porém com alcance limitado, ou em tempo de utilização ou em funcionalidades. Se o usuário decidir ficar com o programa e continuar a usá-lo deverá pagar por ele. Freeware: São programas de domínio público, distribuídos gratuitamente e integralmente. Ocasionalmente, as pessoas desenvolvem programas para uso próprio e depois permitem que outras pessoas os usem, sem custo algum. “São pequenos programas que se auto-copiam para outros lugares a fim de causarem os mais variados tipos de ação.” As ações dos vírus podem ser simples brincadeiras como também perdas totais de anos de serviços. A maneira mais comum de se pegar um vírus de computador é através da internet e da troca de discos com outras pessoas. Para verificar se seus arquivos contêm vírus, você precisa de um software antivírus. Um bom antivírus procura automaticamente arquivos infectados sempre que um disquete for inserido ou um modem for utilizado para acessar um arquivo. Nenhum programa antivírus oferece proteção absoluta. Nenhum software é infalível, portanto faça sempre BACKUP (cópia de segurança) de seus dados. Seja em sua residência ou na empresa a perda de dados pode lhe custar muito mais do que o tempo para efetuar uma cópia de segurança. Além do backup se faz necessário à proteção contra vírus, que são programas que “entram” em seu computador, principalmente, através de disquetes e da Internet. Para isso, existe um tipo de software específico: os Antivírus (Norton, McAffe, AVG, etc), entretanto, lembre-se de sempre mantê-lo atualizado, pois um antivírus desatualizado é o mesmo de não tê-lo.