Faculdade de Estudos Avançados do Pará Disciplina ... · 3.Somar valor do número ao de SOMA e...

Post on 08-Oct-2018

214 views 0 download

Transcript of Faculdade de Estudos Avançados do Pará Disciplina ... · 3.Somar valor do número ao de SOMA e...

Faculdade de Estudos Avançados do ParáFaculdade de Estudos Avançados do ParáDisciplina: AlgoritmosDisciplina: AlgoritmosProfessor: Armando HageProfessor: Armando Hage

Conceitos iniciasConceitos inicias

Processamento de DadosProcessamento de Dados

É uma série de atividades ordenadamente realizadas,com o objetivo de produzir um conjunto determinado de informações a partir de outras obtidas inicialmente.

A manipulação das informações coletadas no início da atividade chama-se de processamentoprocessamento

Dado e InformaçãoDado e Informação

Dado-Pode ser definido como a matéria prima originalmente obtida de uma ou mais fontes

Informação- É o resultado do processamento

Esquema de etapas de Esquema de etapas de um processamento de um processamento de

dados dados

Dados Processamento Saída

SistemasSistemas

O que são sistemas ? ? ?O que são sistemas ? ? ?É o conjunto de partes

coordenadas que concorrem para a realização de um determinado objetivo.

Sistemas de Processamento Sistemas de Processamento de Dadosde Dados

Sistemas de processamentos de dados são aqueles responsáveis pela coleta,armazenamento,processamento e recuperação,em equipamentos de processamento eletrônico,dos dados necessários ao funcionamento de um ou outro sistema maior.

Sistema de InformaçõesSistema de Informações

Conjunto de métodos,processos e equipamentos necessários para se obter,processar e utilizar informações dentro da empresa.

Possui duas dimensões:componentes da organização e nível de decisão(operacional, gerencial ou alto nível da organização).

Sistema de InformaçõesSistema de Informações

SIG (Sistema de informações gerencias)SIG (Sistema de informações gerencias)

É o sistema que engloba todos os componentes e todos o níveis de decisão de uma organização

Sistema de processamento de Sistema de processamento de dadosdados

Sistema de Sistema de ComputaçãoComputação

Sistema de Sistema de AplicaçãoAplicação

Sistema de ComputaçãoSistema de Computação É formado pelo conjunto de componentes

eletrônicos(hardware) e sistemas básicos(software).

Programa - Conjunto de instruções

1.Escrever e guardar N=0 e SOMA=0

2.Ler número de entrada

3.Somar valor do número ao de SOMA e guardar resultado como SOMA

4.Somar 1 ao valor do número e guardar resultado como novo N

5.Se valor de N for menor que 100, então passar para item 2

6.Se não: imprimir valor de SOMA

7.Parar

O grupo de passos relacionados na figura descreve um algoritmoalgoritmo: conjunto de etapas finitas, ordenadamente definidas, com o propósito de obter solução para um determinado problema

Um programa de computador é a formalização de uma algoritmo em linguagem inteligível pelo computador.

Esquema de processamento Esquema de processamento para um problemapara um problema

Dados Processamento SaídaDigitação do problema e dados

Cálculo e testes Impressão dos resultados

HardwareHardware

Conjunto de circuitos eletrônicos e partes eletromecânicas de um computador. É a parte física, visível do computador.

SoftwareSoftware

Consiste de programas de qualquer tipo e em qualquer linguagem.

Dividem-se em : básico,utilitários e aplicativos

Software BásicoSoftware Básico

São aqueles que já vem de fábrica que me conjunto com o hardware formam o que chamamos de sistema de sistema de computação.computação.

Ex.:ROMBIOS ou BIOS,Sistemas Operacionais

Softwares Utilitários Softwares Utilitários

Destinam-se as atividades de gerenciamento e segurança.

Ex:Desfragmentadores de disco rígido, anti vírus, protetores de tela.

Software AplicativosSoftware Aplicativos

São voltados para as necessidades dos usuários.

Ex:Processador de texto(Word), planilhas eletrônicas(Excel), banco de dados(Access)

O bit, o caractere, o byte O bit, o caractere, o byte e a palavrae a palavra

Bit (binary digit)É a menor unidade de informação armazenável em

um computador. O bit pode ter somente dois valores:0 e 1

CaractereÉ o menor grupo ordenado de bits representando

uma informação útil e inteligível para o ser humano. Quando armzenado é convertido em um conjunto de bits previamente definidos chamados de código de representaçào de ceracteres

O bit, o caractere, o byte O bit, o caractere, o byte e a palavrae a palavra

Byte (binary term)É a unidade de informação composta por uma

seqüencia de oito dígitos binários adjacnetes

Bit

Byte

O bit, o caractere, o byte O bit, o caractere, o byte e a palavrae a palavra

Palavra É o conjunto de bits que representam uma

informação útil

Tabela de conversões:

8 Bits------------ 1 Byte

1Kb---------------1024 Bytes

1M --------------- 1024x1024 Bytes

1 G---------------- 1024x1024x1024bytes

Arquivos e RegistrosArquivos e Registros

ArquivoÉ a denominação de como o sistema

operacional estrutura os grupos de dados para que seja possível individualizar diferentes grupos de dados de informações.

RegistrosSão os ítens individuais de cada informação.

Periféricos

São dispositivos, aparelhos ou circuitos dos quais são feitos:– a entrada de dados no computador– a saída de dados do computador para o ambiente– armazenamento de informações ou programas

Software

Conjunto de programas,métodos e procedimentos, regras e documentação relacionadas com o funcionamento e manejo de um sistema de dados. Dividem-se em:– Softwares básicos– Softwares Utilitários – Softwares Aplicativos

Linguagens de ProgramaçãoLinguagens de Programação

Uma linguagem de programação é Uma linguagem de programação é a linguagem criada para instruir a linguagem criada para instruir um computador a realizar suas um computador a realizar suas tarefas.tarefas.

Código–Programa completo escrito em

uma linguagem de programação.

Linguagens de Programação

Por que estudar linguagens de programação ?Melhorar a habilidade para resolver problemas ;

Aprender a fazer uso das linguagens de programação;

Ser capaz de escolher uma linguagem apropriada ;

Adquirir a capacidade de entender rapidamente e usar novas linguagens ;

Adquirir a capacidade de projetar linguagens de programação.

Linguagens de Programação

Linguagem de baixo nível– É a mais primitiva, podendo ser executadas

diretamente no Hardware.– O processo de conversão é chamado de montagem e é realizada por um programa Montador(Assembler)

– Ex:Assembly Language

Linguagens de Programação

Linguagem de alto nível– Foi um avanço significativo na comunicação com

os computadores, com menos instruções que as de linguagens de montagem.

– Idealizada para a resolução de problemas sem preocupações com o tipo de CPU, memória ou onde será executado.

– Comando- instruções específicas dadas pelo programador

– Ex.:FORTRAN,Pascal, Basic, C, C++, Java

Montagem

Tradruz um programa em linguagem de montagem para um equivalente em linguagem binária

Código fonte Código Objeto Funções

Substiuir os código de operações simbólicas e nomes simbólicos por valores numéricos

Reservar espaço na memória Examinar cada instrução

Fluxo do processo de montagem

Código Fonte

Código Objeto

Montagem Montador

Programa original

Programa Resultante

Compilação

É quando se converte para linguagem de máquina um programa escrito em uma linguagem de alto nível.

É o processo de análise de um programa fonte(código fonte) e sua conversão em um programa equivalente descrito em linguagem d máquina, o programa objeto(código objeto).

Diferente da Montagem por ser mais complexa e demorada.

Fluxo do processo de compilação

Código Fonte

Código Objeto

Compilação Compilador

Programa original

Programa Resultante

*Mais complexa e demorada, pode gerar várias instruções de *Mais complexa e demorada, pode gerar várias instruções de máquina em um único comandomáquina em um único comando

Ligação ou Linkedição

É util quando o programdor necessita codificar determinadas operações que já existem dentro do sistema operacional.Ex.:Operaçãoes de entrada e saída

O código é buscado onde estiver e incorporado ao programa.

Bibliotes (librarys)-Coleção de códigos objeto.Resulta em um conjunto de código de máquina,

interligados e prontos para funcionar chamados de módulos de carga ou código executável

Fluxo do processo de compilação e linkedição

Programa Fonte

Código Objeto

Compilação Compilador

Programainicial

Ligação

Código Executável

Ligador

Biblioteca C

Biblioteca B

Biblioteca A

Elementos chaves na Elementos chaves na resolução de problemas por resolução de problemas por

computadorcomputador

ComputadorComputador- a máquina que executará o processo descrito pelo programa

PessoaPessoa- o programador, a fonte para a comunicação

ProcessoProcesso- a atividade sendo executada pelo programa

ProblemaProblema- o sistema real ou ambiente onde o problema acontece (ou surge)

O computadorO computador

É uma máquina programável que É uma máquina programável que processa informação.processa informação.

Diferenças de abordagens à resolução de Diferenças de abordagens à resolução de problemasproblemas

Tipos de problemas que Tipos de problemas que o computador resolveo computador resolve

Problemas completamente Problemas completamente especificadosespecificados

Problemas que se pode decompor Problemas que se pode decompor numa combinação de um número numa combinação de um número finito de problemas finito de problemas completamente especificadoscompletamente especificados

Problema completamente Problema completamente especificadoespecificado

As variáveis de entrada e saída são perfeitamente identificadas

Se conhece uma solução,ou seja, um método que permite obter os valores das variáveis de saída em relação as variáveis de entrada.

CaracterísticasCaracterísticas Sempre considera-se a resolução de um Sempre considera-se a resolução de um

problema em âmbito geral e não os casos problema em âmbito geral e não os casos particulares.particulares.

As variáveis de entrada devem ser As variáveis de entrada devem ser claramente estabelecidas.claramente estabelecidas.

A solução descrita deverá aparecer para A solução descrita deverá aparecer para um conjunto de valores especificados.um conjunto de valores especificados.– Ex.: Resolução de uma equação do segundo Ex.: Resolução de uma equação do segundo

grau.grau.

AlgoritmosAlgoritmos

Descrição Descrição detalha e detalha e rigorosa da rigorosa da resolução de resolução de um problemaum problema

AlgoritmosAlgoritmos

Problema

Solução=

Aqui está a essência da Aqui está a essência da programação de computadoresprogramação de computadores

LógicaLógica

É a técnica de encadear pensamentos É a técnica de encadear pensamentos para atribuir determinado objetivopara atribuir determinado objetivo

É necessária para pessoas que desejam É necessária para pessoas que desejam trabalhar com desenvolvimento de trabalhar com desenvolvimento de sistemas e programas, e permite definir a sistemas e programas, e permite definir a seqüência lógica para o desenvolvimento.seqüência lógica para o desenvolvimento.

Seqüência lógicaSeqüência lógica

São passos executados até atingir São passos executados até atingir um objetivo ou solução de um um objetivo ou solução de um problemaproblema

InstruçõesInstruções

São um conjunto de regras ou São um conjunto de regras ou normas definidas para a realização normas definidas para a realização ou emprego de algo. Em informática, ou emprego de algo. Em informática, é o que indica a um computador é o que indica a um computador uma ação elementar a executar.uma ação elementar a executar.

AlgoritmosAlgoritmos É uma seqüência de ações finitas descrevem É uma seqüência de ações finitas descrevem

como um problema deve ser resolvidocomo um problema deve ser resolvido Estas tarefas não podem ser redundantes Estas tarefas não podem ser redundantes

nem subjetivas na sua definição, devem ser nem subjetivas na sua definição, devem ser claras e precisas.claras e precisas.

O algoritmo pode ser usado como uma O algoritmo pode ser usado como uma ferramenta genérica para representar a ferramenta genérica para representar a solução de tarefas independente do desejo de solução de tarefas independente do desejo de automatiza-las, mas em geral está associado automatiza-las, mas em geral está associado ao processamento eletrônico de dados, onde ao processamento eletrônico de dados, onde representa o rascunho para programas representa o rascunho para programas (Software). (Software).

AlgoritmosAlgoritmos É a forma pela qual descrevemos soluções

de problemas do nosso mundo, afim de, serem implementadas utilizando os recursos do mundo computacional.

Com exemplos de algoritmos podemos citar os algoritmos das operações básicas e números reais.Outros exemplos seriam manuais de aparelhos eletrônicos, que explicam passo-a-passo suas operações.

AlgoritmosAlgoritmos

Programas– São algoritmos escritos numa linguagem de

Computador (Pascal, C, Cobol, Visual Basic, etc.) e que são interpretadas e executadas por uma máquina, no caso um computador.

AlgoritmosAlgoritmos

Um algoritmo precisa:

– Ter inicio e fim;

– Ser escritos em termos de ação (comandos) bem definidos;

– Que as ações sigam uma seqüência ordenada.

Técnicas de apresentação Técnicas de apresentação de Algoritmosde Algoritmos

Em uma língua(português, inglês); Em uma linguagem de programação; Representação Gráfica;

– Fluxograma;– Diagrama de Nassi Shnederman– Método Jackson– Diagrama de Warnier-Or.

PseudocódigoPseudocódigo Este nome é uma alusão à posterior

implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo Pascal, estaremos gerando código em Pascal.

São independentes de linguagens de programação.

Corresponde as estruturas básicas de programação. Deve ser fácil de interpretar e de codificar. Deve

ser o intermédio entre a linguagem falada e a linguagem de programação.

Regras para a construção Regras para a construção do Algoritmodo Algoritmo

Para escrever um algoritmo precisamos descrever uma seqüência de instruções, de maneira simples e objetivasimples e objetiva.– Usar somente um verbo por frase;– Imaginar que está desenvolvendo um algoritmo

para pessoas que não trabalham com informática; – Usar frases curtas e simples;– Ser objetivo;– Procurar usar palavras que não tenham duplo

sentido.

FasesFasesPrecisamos dividir o problema em três Precisamos dividir o problema em três

fases fundamentaisfases fundamentais

Exemplos do Dia a diaExemplos do Dia a diaComo algoritmos do dia a dia podemos citar receitas

de bolo, manuais de instrução, entre outros:Início1 - Coloque os ingredientes do molho na panela2 - Misture por três minutos em fogo alto3 - Desligue o fogo e acrescente um copo de água fria4 - Despeje o molho na carneFim

Neste algoritmo, Neste algoritmo, pode-se introduzir pode-se introduzir o conceito de o conceito de variável (os variável (os ingredientes do ingredientes do molho são molho são variáveis de receita variáveis de receita para receita) para receita)

Exemplos do Dia a diaExemplos do Dia a dia

Início1 - Suba um degrau2 - Se não chegou ao topo da escada

então vá para 1Fim

Neste algoritmo, Neste algoritmo, pode-se introduzir pode-se introduzir o conceito de o conceito de constante (um constante (um degrau), seleção degrau), seleção (SE) e desvio (Vá (SE) e desvio (Vá para) para)

Exemplos do Dia a diaExemplos do Dia a dia

Início1- Enquanto não chegou ao topo da escada Suba um degrau

Neste algoritmo, Neste algoritmo, não foi não foi necessário fazer necessário fazer um desvio. um desvio. Utilizou-se uma Utilizou-se uma repetição de repetição de ação (Enquanto). ação (Enquanto). O teste da O teste da condição foi no condição foi no inícioinício

Exemplos do Dia a diaExemplos do Dia a dia

Início1 – Repita Suba um degrau Até chegar ao topo da escada

Neste algoritmo, Neste algoritmo, também foi também foi utilizado uma utilizado uma repetição, repetição, porém com porém com teste ao final teste ao final (Repita até).(Repita até).

Exemplos do Dia a diaExemplos do Dia a diaInício1 - Retire o fone do gancho2 - Deposite uma ou mais fichas3 - Se ouvir ruído de discar

então disque um número

senão ponha o fone no gancho

retire as fichas4 - Se não conseguiu linha

então vá para 1Fim

A Instrução A Instrução SE agora SE agora possui duas possui duas alternativas alternativas então e senão.então e senão.

Exemplos do Dia a diaExemplos do Dia a diaInício1 - Leia a;2 - Leia b;3 - Faça média = (a+b)/24 - Se média > = 5 então escreva "aluno aprovado" senão escreva "aluno reprovado" Fim

Este algoritmo Este algoritmo serve para serve para verificar se o verificar se o aluno passou ou aluno passou ou não de ano não de ano (Atingiu média (Atingiu média superior ou igual superior ou igual a 5)a 5)

ExercíciosExercícios•Crie uma seqüência lógica para tomar banho:

•Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número.

•Descreva com detalhes a seqüência lógica para trocar um pneu de um carro.

•Faça um algoritmo para trocar uma lâmpada. Descreva com detalhes.

•Construa um algoritmo explicitando todos os passos que devem ser seguidos para encontrar um dado livro numa biblioteca.

BibliografiaBibliografiao Tremblay,Jean-Paul,1939- Ciência dos Tremblay,Jean-Paul,1939- Ciência dos

Computadores:uma abordagem algorítmicaComputadores:uma abordagem algorítmicao Ziviani,N.- Projeto de algoritmos com Ziviani,N.- Projeto de algoritmos com

implementação em Pascal e C. implementação em Pascal e C.