Click here to load reader

Algoritmo_a1

Embed Size (px)

DESCRIPTION

Algoritmo

Citation preview

Apresentao do PowerPoint

Professora: Ana Carolina [email protected]

FormaoEngenharia Ambiental UNESP Iniciao cientfica (FAPESP)Grupo de pesquisa Ncleo de Automao e Tecnologias Limpas NATELMestrado em Tecnologia Nuclear IPEN/USPEngenharia de Segurana do Trabalho USPDoutorado em Tecnologia Nuclear IPEN/USP

2

Trabalhos relevantesComposio 234 (RGB) das tribos indgenas Renascer e Ribeiro Silveira nos anos de 2004 Mapas temticos de uso do solo da tribo indgena Ribeiro Silveira no ano de 2004

3

Trabalhos relevantes - UNESPLagoa de disposio de lama vermelha na regio de SorocabaAnalise por sedimentao argila (Mtodo da pipeta - Boletim Tcnico n. 106. Instituto Agronmico de Campinas, 1996).

4

Trabalhos relevantes - USP5

EmentaConceitos fundamentais de programao:Algoritmos;Linguagem;Compilador;Linguagem de programao;Estrutura de um programa;Tipos de dados;Operadores;Programao estruturada;Estruturas de condies;Laos de repeties;Vetores e matrizes;Strings e funes de manipulao;Registros 6

Conceitos fundamentais da programaoO que um Algoritmo?

Programar construir algoritmos

Programa = algoritmo + estruturas de dados

No processo de construo de programas, a formulao do algoritmo e a definio das estruturas de dados esto intimamente ligadas. 7

Conceitos fundamentais da programaoCaractersticas:Ao: evento que ocorre num perodo de tempo finito;Estado: propriedades de um objeto numa dada situao;Processo: sequncia temporal de aes;Padro de comportamento: seguido pela ocorrncia de um evento.

8

Conceitos fundamentais da programaoEx: Algoritmo para fazer pastel

Prepare a massa do pastel na cozinha;Traga a panela do armrio;Coloque leo na panela;Se a roupa e claraento coloque o avental;Enquanto numero de pastis insuficiente para o numero de pessoas faaprepare a massa;Esquente o leo da panela;Frite os pastis na panela;Escorra o excesso de leo dos pastis;Coloque os pastis fritos numa vasilha com papel absorvente.9

Conceitos fundamentais da programaoInformaes importantes!! Tempo verbal no imperativo (traga, coloque, frite);Sequencia de aes delimitadas por um ponto e virgula;Em nosso exemplo, o avental no usado em todos os momentos: h uma condio para que ele seja usado;No exemplo, o nmero de pastis varivel; a ao de preparar pastis repete-se at que a condio de parada seja satisfeita (alimentar um determinado numero de pessoas);A ordem das aes importante.

10

Conceitos fundamentais da programaoPodemos concluir que....

Um algoritmo a descrio de um padro de comportamento, expresso em termos de um repertrio bem definido e finito de aes primitivas que podem ser executadas.

Aspectos estticos: texto;Aspectos dinmicos: execuo 11

Conceitos fundamentais da programaoExerccio 1

Escolha uma das aes abaixo e faa um algoritmo:Vir estudarFazer uma feijoadaTrocar uma lmpadaEscovar os dentesDirigir um carro

12

Conceitos fundamentais da programao

Computador: mquina capaz de seguir um programa (algoritmo), escrito em linguagem de maquina (dgitos binrios);Linguagem de alto nvel: C, C++, C#, Pascal, Delphi, Java, Basic, VisualBasic, Fortran, Cobol, entre muitas outras.Linguagem de baixo nvel (Assembly): linguagem prxima s de maquina para lidar com programas de computador que precisam interferir diretamente no hardware da maquina para permitir a execuo de funes especificas.

13

Conceitos fundamentais da programao

14

Conceitos fundamentais da programaoO que o compilador?O compilador um programa que traduz uma determinada linguagem de programao para linguagem de mquina. Permite que os programadores utilizem linguagens de alto nvel para escrever os programas de computador, pois se encarrega de traduzi-los para linguagem de mquina.

Dessa forma, existem diversos compiladores especficos para cada uma das linguagens de programao e para cada sistema operacional15

Conceitos fundamentais da programaoImportante!Um compilador C para o sistema operacional Windows diferente de um compilador C para o sistema operacional Linux, que tambm diferente de um compilador C para o sistema operacional Mac OS, por exemplo, embora a linguagem de programao (C) seja a mesma (linguagem de alto nvel).

O compilador de linguagem de montagem ou linguagem assembly chamado assembler.16

Conceitos fundamentais da programaoComo programar?17

Conceitos fundamentais da programaoAlgoritmo: estrutura do programa; instrues que descrevem a logica do programa;Editor de texto: permite que o cdigo-fonte do programa seja editado em um arquivo-fonte. Ex: Dev. C++;Cdigo-fonte: conjunto de comandos escritos na linguagem de programao escolhida (que, neste curso, ser a linguagem C). O cdigo-fonte fica armazenado no arquivo-fonte em formato ASCii, ou seja, em texto [o arquivo-fonte possui a extenso relativa a linguagem de programao usada, por exemplo, .pas (Pascal), .c (C), .cpp (C++), .cs (C#), .java (Java)];Compilador: l o cdigo-fonte do programa e cria outro arquivo, com o mesmo programa escrito em linguagem de maquina;Cdigo-objeto: arquivo resultante da compilao do cdigo-fonte. Contem informaes sobre alocao de memoria, os smbolos do programa (como nomes de variveis e de funes) e tambm informaes sobre debug (o arquivo-objeto possui a extenso .obj para a maioria das linguagens de programao);Arquivos de biblioteca: contem funes j compiladas que podem ser utilizadas no programa;Linker: programa auxiliar do compilador que cria o programa executvel a partir de arquivos-objeto e dos arquivos de biblioteca;Cdigo executvel: programa que pode ser executado no computador (o arquivo executvel possui a extenso .exe).18

Conceitos fundamentais da programaoEtapas da Programao de Computadores

19

Expresso de AlgoritmosAtravs de Diagramas

Diagrama de ChapinFonte: http://abyte2bite.com/formas-de-representao-de-algoritmos/20

Expresso de AlgoritmosAtravs de Fluxogramas

FluxogramaFonte: http://abyte2bite.com/formas-de-representao-de-algoritmos/21

Expresso de AlgoritmosAspectos negativos:Memorizar todas as formas geomtricas e conhecer as regras de inter-relacionamento entre elas;Perde um tempo considervel para fazer e refazer desenhos, tendo que possuir diversas rguas com os smbolos dos diagramas;Desenhos comeam a ocupar muitas pginas, tornando impraticvel a visualizao de toda a soluo;Memorizao de regras de expresso desvia a ateno do programador, que no tem apenas de se concentrar na lgica do problema, como seria desejvel, mas tem as preocupaes adicionais de elaborar desenhos e consultar regras e regras (Oliveira, 2012).

22

Expresso de AlgoritmosAtravs de Linguagem de Programao

23

Expresso de AlgoritmosAtravs de PseudolinguagemLinguagemdeprogramaosimplificada, usadaparaescreveralgoritmos,semsepreocuparcom todososdetalhesdeumalinguagemdeprogramaoreal...

24

Pseudolinguagemse...ento...seno...

Linguagemde programaoJava,C,Pascal,etc

LinguagemdemquinaZeroseuns...

Expresso de AlgoritmosVantagens:Linguagem independente de maquina; o programador pensa somente no problema a ser resolvido, sem se preocupar com possveis restries do compilador ou do hardware (computador);Programador deve conhecer a sintaxe, a semntica e a estrutura da pseudolinguagem, mas tem total liberdade para criar novos comandos ou usar instrues em alto nvel (ou em forma de frases); Estando pronto o algoritmo na pseudolinguagem, a sua implementao no computador (etapas 4 e 5 da programao) fica muito facilitada.

25

Atividade propostaTente deduzir qual o padro de comportamento utilizdo pra gerar as sequencias:

1,5,9,13,17,21,25

1,1,2,3,5,8,13,21,3426