Apresentação Objetivo A lógica é a base da existência, é ela que

Propaganda
Apresentação
Há algum tempo atrás, a utilização de
computadores era limitada a alguns
projetos científicos e a alguns tipos de
ligações industriais. O seu poder, suas
funcionalidades e suas capacidades eram
menosprezadas pelo público em geral
que não acreditava nos benefícios
possíveis da sua utilização.
Atualmente, a situação se inverteu. Todas
as pessoas sabem da importância do
computador em nosso mundo moderno.
Até as pessoas que menos acreditavam
no
computador
se
renderam
às
funcionalidades e facilidades que esta
tecnologia disponibilizou ao público em
geral.
Fisicamente, o computador não é mais do
que um conjunto de componentes
elétricos, mecânicos e eletromecânicos
capazes de processar informações
fornecidas por instruções lógicas.
Sua principal função é a execução confiável
e rápida de tarefas, facilitando o trabalho do
usuário. Entre estas tarefas estão os
cálculos complexos, tarefas repetitivas e
interativas que exijem uma resposta
imediata
a
determinados
estímulos
externos.
A sua implantação já se generalizou em
quase todas as áreas comerciais, industriais
e econômicas, para não falar nas áreas de
educação, lazer e entretenimento.
Hoje, o computador já é responsável por
nossas contas bancárias, controla o espaço
aéreo, gerencia sistemas industriais etc. Em
casa seu papel é cada vez mais importante,
pois facilita ao usuário a execução de
tarefas outrora complicadas, bem como
algum divertimento sob a forma de jogos ou
aplicações interativas.
Objetivo
Durante este curso abordaremos a
questão do pensamento dedutivo e
matemático, seus limites e o raciocínio
abstrato.
Começaremos revendo alguns conceitos,
com a finalidade de consolidar os seus
conhecimentos quanto ao funcionamento
de um computador.
Você vai ter a oportunidade de conhecer
um pouco da história e da evolução da
ciência da computação até os dias de
hoje, também vai ver alguns conceitos
que serão fundamentais para a vida
profissional
e
conhecimentos
sobre
Lógica de Programação e as técnicas
para desenvolvimento de Algorítmos.
Aproveite ao máximo o curso. Interaja
com seus colegas e principalmente com o
seu tutor. Lembre-se a sua dúvida pode
ser a dúvida de outros colegas,
compartilhe conosco as suas dificuldades.
Não deixe suas dúvidas para depois!
A lógica é a base da existência, é ela que define o que somos e o que fazemos!
Fonte: Site da Fundação Bradesco
Sistemas de computação
Fisicamente, o computador não é mais do que um conjunto de componentes elétricos,
mecânicos e eletromecânicos capazes de processar informações, portanto todo e qualquer
sistema de computação são compostos de componentes físicos e lógicos.
Esses componentes são conhecidos como:
HARDWARE são partes mecânicas, elétricas e eletrônicas.
SOFTWARE são métodos, procedimentos, normas e documentação necessários ao
funcionamento da parte física.
Estrutura lógica
A estrutura interna de um computador pode ser dividida em quatro unidades lógicas:
Unidade Central de Processamento - O processador é o cérebro do computador, o
componente que calcula operações de lógica binária (adição, subtração etc.), lê e escreve
informação na memória do computador e que diz aos outros componentes o que fazer.
Dispositivos de Entrada e Saída - As unidades de entrada de dados realizam a
interface entre homem e máquina, exemplo: o teclado, o mouse etc.
Já as Unidades de saída de dados devolvem a informação processada entre a máquina e o
homem, exemplo: a impressora, o vídeo etc.
Programas (software) - Apesar de não terem qualquer tipo de implementação física, os
softwares dão vida aos diversos componentes do computador e os fazem trabalhar para
um fim comum.
Isto só é possível, através de instruções específicas de operação agrupadas em unidades
lógicas ou programas.
Unidades de Memória - É o principal local de operação do computador, pois armazena
toda a informação associada ao programa a ser executado.
Memória interna ou principal
A memória interna ou principal tem alta velocidade de acesso e é o centro de todas as
atividades no computador. Ela armazena temporariamente toda a informação que o
computador precisa.
A memória é dividida em pequenas unidades ("palavras") cada uma com endereço único.
As primeiras máquinas usavam válvulas biestáveis e depois passaram a usar núcleos
magnéticos, atualmente utiliza-se memórias semicondutoras.
As memórias utilizam o Sistema Binário: 1(ligado) e 0 (desligado) e tem como
finalidade armazenar instruções e dados para a realização de uma determinada tarefa.
Vamos fazer uma analogia. Imagine um bloco de notas, nada está permanentemente
registrado no papel. Basta escrever por cima, que toda a informação anterior é
Fonte: Site da Fundação Bradesco
automaticamente substituída pela nova.
Tipos de memória
A memória pode ser dividida quanto a sua funcionalidade em três tipos distintos:
 ROM (read only memory) - não é volátil, esta memória é apenas de leitura e de
acesso randômico (aleatório), é usada para iniciar o sistema.
 RAM (random access memory) - é volátil (pode ser lida e escrita). Todas as
informações introduzidas no computador são armazenadas na memória RAM.
 Memória de Massa ou Secundária - São as fitas magnéticas, discos magnéticos
ou ópticos. Este tipo de memória contém componentes eletromecânicos o que a
torna mais lenta. Sua principal característica é o baixo custo e a sua grande
capacidade.
As memórias RAM e ROM podem-se subdividir em várias classes de acordo com a
tecnologia de fabricação e a arquitetura interna.
 RAM - SRAM - DRAM - NVRAM - FIFO.
 ROM - ROM - PROM - EPROM - EEPROM - FLASH.
Unidade Lógica e Aritmética (ULA)
A ULA - Unidade Lógica Aritmética, efetiva as operações como adição, subtração,
divisão, multiplicação, comparação etc.
Para os cálculos complexos a memória principal é usada para armazenar os resultados
intermediários.
Unidade de Controle
A unidade de controle decodifica as instruções do programador que está na memória,
gerando os sinais necessários para a execução da instrução. Ela coordena o
funcionamento de todas as outras unidades.
Junto com a ULA forma a Unidade Central de Processamento (UCP ou do inglês CPU).
Componentes de software
Nos primeiros computadores o usuário interagia muito com a máquina, atualmente os
detalhes de operação do hardware não são vistos pelo usuário.
O usuário trabalha em um nível de abstração mais alto, deixando detalhes de acionamento
da máquina para um programa especial chamado Sistema Operacional.
O Sistema Operacional nada mais é do que um conjunto de programas que auxiliam o
desenvolvimento ou a execução de uma determinada aplicação sendo responsável pelo
seu processamento.
Ele também assegura que os recursos físicos do sistema estejam disponíveis quando
necessários, e que os recursos de software sejam fornecidos quando requisitados.
Veja abaixo alguns tipos de Sistemas Operacionais:
 MS Windows CE
Fonte: Site da Fundação Bradesco









MS Windows ME, 98, 95
MS Windows NT, 2000
DOS
Linux
Unix
MacOS
OS2
PalmOS
Novell Netware
Classificação dos Sistemas operacionais e o software de aplicação
Os Sistemas Operacionais (S.0.) podem ter processamento em lotes(batch),vamos
imaginar que um usuário solicite a execução de um programa, quando as instruções do
programa chega a memória para o processamento, o Sistema Operacional as organiza em
lotes que são executados sequencialmente.
Os Sistemas Operacionais podem ter também um sistema interativo com o tempo
compartilhado, criando a ilusão de que o usuário tem toda a atenção da máquina.
Os Softwares de Aplicação são criados, em regra, para executar tarefas específicas
como o processamento de texto, reprodução de áudio etc.
Exemplos: processadores de texto, planilhas de cálculo, enciclopédias interativas,
dicionários, os programas de tratamento de imagem, vídeo ou som.
Ao contrário do Sistema Operacional, estas tarefas não são indispensáveis ao
funcionamento do computador, pois só são executadas quando você sente necessidade.
Para se criar estas aplicações são necessárias as linguagens de programação, que não
deixam de ser um software de aplicação.
As linguagens de programação permitem a criação de sequências lógicas que o
computador consegue "entender" e executar.
Sistema binário
Para que todos os circuitos e dispositivos do computador consigam compartilhar uma
informação é preciso que respeitem um modelo de representação comum. Como, a nível
físico, só existem dois estados possíveis - ausência ou presença de corrente elétrica - o
sistema tem de ser de base dois (binário), pelo que atribui a cada um desses estados um
dígito (ou bit) distinto - 0 para a ausência e 1 para a presença de corrente.
O bit é o menor bloco de informação compreensível e distinguível, e que pode servir para
a construção de blocos de informação mais complexos.
Em grupos de oito, os bits formam a unidade mais importante na representação de
informação - o byte - através da qual, é representada a capacidade de armazenamento e
memória.
Exemplo:
 8 bits formam 1 byte
 1024 bytes formam 1 kilobyte
 1024 kilobytes formam 1 megabyte
 1024 megabytes formam 1 gigabyte
Fonte: Site da Fundação Bradesco
 1024 gigabytes formam 1 terabyte
Instruções
Na linguagem comum, entende-se por instruções, "um conjunto de regras ou normas
definidas para a realização ou emprego de algo".
Em informática, porém, instrução é a informação que indica a um computador uma ação
elementar a executar.
Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para
isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.
Exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática
uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas etc.
É evidente que essas instruções tem que ser executadas em uma ordem adequada - não
se pode descascar as batatas depois de fritá-las.
Dessa maneira, uma instrução tomada em separado não tem muito sentido; para
obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções,
na ordem correta.
Instruções: são um conjunto de regras ou normas definidas para a realização ou emprego
de algo. Em informática, é o que indica a um computador uma ação elementar a executar.
Algoritmos
Vamos começar aprendendo o que é um algoritmo.
Imagine uma receita de bolo. Você concorda que uma receita é uma sequência lógica que
fornece instruções? Um algoritmo é muito semelhante a uma receita de bolo: são
fornecidos os ingredientes e o modo de fazer.
Podemos, então, afirmar que uma receita de qualquer alimento nada mais é do que um
algoritmo.
Toda e qualquer receita, possui os ingredientes (entrada), o modo de preparo
(processamento), e o resultado que é o alimento pronto (saída).
Analogamente teremos a Entrada, o Processamento e a Saída!
Algoritmos -imprecisões das receitas
A linguagem utilizada nas receitas é muito vaga para ser utilizada no desenvolvimento de
programas.
Analise a receita ao lado.
Você consegue perceber que alguns detalhes importantes foram omitidos?
Na receita não foi especificada a quantidade de queijo nem se o presunto deveria ser
fatiado.
Podemos chamar o algoritmo ao lado de algoritmo não-computacional (uma sequência
ordenada e sem ambiguidade de passos que não levam a uma solução do problema).
Ingredientes:
 1 tomate
Fonte: Site da Fundação Bradesco




2 fatias de pão de forma integral
Queijo mussarela
Presunto
Orégano
Modo de preparo:
 Corte o tomate e o queijo em fatias e coloque sobre o pão. Acrescente o presunto e
uma pitada de orégano. Feche com a outra fatia. Você pode levar o sanduíche ao
forno se preferir.
Linguagens de programação
Os programas de computadores nada mais são do que algoritmos escritos numa
linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são
interpretados e executados por uma máquina (um computador).
Dada esta interpretação rigorosa, um programa é por natureza muito específico e rígido
em relação aos algoritmos da vida real.
As linguagens de programação são o que permite a comunicação entre homem e
máquina. São projetadas de modo que cada sentença tenha significado único.
Em nosso dia-a-dia usamos a Linguagem Natural sempre com verbos e substantivos.
Já as Linguagens de Programação se utilizam de comandos e dados.
Linguagens de programação II
Você já parou para pensar o porque um software é tão caro? É justamente por este
motivo que devemos sempre tentar otimizar o desenvolvimento de qualquer programa e,
uma das formas, é observarmos algumas etapas durante o desenvolvimento e sempre se
utilizar de técnicas como exemplo os algoritmos.
O custo do software é determinado por:
Tempo de programação
Tempo de depuração (debugging time)
Rapidez de execução
Clareza da documentação
Tamanho do programa e dados
Flexibilidade e expansibilidade
Portabilidade para outros computadores
Sendo assim é importante seguir as etapas de desenvolvimento descritas a seguir, que
visam racionalizar o custo de produção e venda do sistema que você venha a desenvolver.
Etapas no desenvolvimento de um sistema ou programa
Você já sabe que desenvolver um programa não é tão simples. Não basta simplesmente
você conhecer as linguagens de programação e tão pouco o ambiente de desenvolviment.
É necessário se ter um objetivo e seguir as etapas descritas abaixo.
Fonte: Site da Fundação Bradesco
Análise das necessidades (seleção do projeto).
 Estudo de viabilidade (técnica e análise custo).
 Definição do projeto (analisar as necessidades do usuário, planejar as fases do
projeto e de implantação).
 Codificação (lógica, layouts, procedimentos de controle).
 Fase de implantação testes, depuração e treinamento).
Avaliação (custo real, benefícios, satisfação do usuário).
Podemos dizer que as etapas, claramente definidas, são nada menos do que uma
metodologia para a análise de sistemas.
Metodologia de solução
Para concluir, vamos reforçar alguns conceitos sobre a metodologia para a análise de
sistemas.
Como você já sabe todo e qualquer sistema ou programa sempre surge de uma
necessidade e normalmente tem um objetivo claramente definido, sendo assim devemos
observar algumas regras antes mesmo de iniciar o desenvolvimento de um sistema ou
programa:
 Entender o problema é imprescindível.
 Formular um esboço da solução é necessário.
 Fazer uma primeira aproximação das variáveis que poderão ser utilizadas.
 Rever os passos originais, detalhando o processo.
 Se o algoritmo estiver suficientemente detalhado, testar com um conjunto de dados
significativos.
 Implementar numa linguagem de programação.
Se você seguir as etapas de desenvolvimento descritas durante nosso curso com certeza
você alcançará excelentes resultados!
Fonte: Site da Fundação Bradesco
Download