Click here to load reader

Programação Computacional Aula 5: Algoritmos Profa. Madeleine Medrano [email protected] [email protected]

  • View
    229

  • Download
    6

Embed Size (px)

Text of Programação Computacional Aula 5: Algoritmos Profa. Madeleine Medrano...

  • Programao ComputacionalAula 5: Algoritmos

    Profa. Madeleine Medrano [email protected]

  • RoteiroLgicaAlgoritmosConceito de AlgoritmoPartes de um algoritmoCaractersticasRepresentao de um algoritmoFluxogramaPseudocdigo

  • Lgica

    Observe as seguintes afirmaes:

    O nmero 4 menor que o nmero 7. O nmero 9 maior que o nmero 7. Logo, o nmero 4 menor que os nmeros 9 e 7.

    Um casal com trs filhos notou que um vaso estava quebrado, enquanto duas das crianas estavam na escola. Quem o culpado?

    H uma caneta dentro de uma gaveta fechada. Sabemos que, para pegar a caneta, devemos, antes, abrir a gaveta.

  • Podemos deduzir a partir dessas afirmaes, que em nosso cotidiano, sempre que pensamos, j estamos utilizando a lgica.

    Se consultarmos em um dicionrio da lngua portuguesa o verbete "lgica", veremos que se trata de uma parte da filosofia que estuda as leis do raciocnio.

    uma cincia que estuda as formas do pensamento.

    Lgica

  • Lgica uma sequncia coerente, regular e necessria de acontecimentos, de coisas".

    Veja, a seguir, uma sequncia de passos para comprar um determinado produto em uma loja. Imagine se seria possvel comprar o produto seguindo os passos dessa sequncia: sair da loja; pagar pelo produto; entrar na loja; retirar o dinheiro da carteira; dirigir-se ao caixa; escolher o produto na prateleira.

  • LgicaSeria impossvel conseguir efetuar a compra, pois apesar de todas as aes estarem corretas, a sequncia est errada. Como voc poderia pagar pelo produto aps sair da loja? Ou escolher o produto aps pagar por ele? A sequncia correta, nesse caso, seria: entrar na loja; escolher o produto na prateleira; dirigir-se ao caixa; retirar o dinheiro da carteira; pagar pelo produto; sair da loja.

  • LgicaA lgica, dessa forma, utilizada para conduzir pensamentos ou aes voltados para a soluo de problemas. Assim, a lgica est correta em determinada situao, se a soluo do problema tiver sido atingida. Na programao de computadores, o treino dessa habilidade fundamental para aprimorarmos a nossa capacidade de resolver problemas e programar. Devemos, portanto, aprender a pensar de forma estruturada.

    Significa desenvolver e aperfeioar a tcnica de pensamento, dentro de um raciocnio lgico e matemtico, que a base de todo o trabalho na programao de computadores

  • AlgoritmoPara resolver um problema em um computador, de modo semelhante ao que fazemos para resolver um problema do nosso cotidiano, devemos encontrar uma maneira de descrever esse problema de uma forma clara e precisa, atravs de uma sequncia de passos a serem seguidos at que se atinja a soluo procurada.

    Essa estruturao deve seguir uma determinada lgica. A lgica aplicada programao de computadores, deve buscar a melhor sequncia de aes para se resolver um problema. Essa sequncia de aes damos o nome de algoritmo.

  • Algoritmo

    um conjunto finito de regras que fornece uma sequncia de operaes para resolver um problema especfico. algo como uma receita, ou uma rotina.

  • AlgoritmoPara o desenvolvimento de um algoritmo eficiente necessrio obedecermos algumas premissas bsicas no momento de sua construo:

    Definir aes simples e sem ambiguidade;

    Organizar as aes de forma ordenada

    Estabelecer as aes dentro de uma sequncia finita de passos

  • AlgoritmoO algoritmo 1 um exemplo simples de algoritmo (sem condies ou repeties) para troca de um pneu.Os algoritmos so capazes de realizar tarefas como:

    Ler e escrever dados;

    Avaliar expresses algbricas, relacionais e lgicas;

    Tomar decises com base nos resultados das expresses avaliadas;

    Repetir um conjunto de aes de acordo com uma condio;

  • AlgoritmoUm algoritmo quando programado num computador constitudo pelo menos das 3 partes, sendo elas:

    1. Entrada de dados;

    2. Processamento de dados;

    3. Sada de dados;

  • AlgoritmoNa parte de entrada, so fornecidas as informaes necessrias para que o algoritmo possa ser executado. Estas informaes podem ser fornecidas no momento em que o programa est sendo executado ou podem estar embutidas dentro do mesmo.

    Na parte do processamento so avaliadas todas as expresses algbricas, relacionais e lgicas, assim como todas as estruturas de controle existentes no algoritmo (condio e/ou repetio).

    Na parte de sada, todos os resultados do processamento (ou parte deles) so enviados para um ou mais dispositivos de sada, como: monitor, impressora, ou at mesmo a prpria memria do computador.

  • Algoritmo 1 Troca de pneu do carro.

    Passo 1: desligar o carroPasso 2: pegar as ferramentas (chave e macaco)Passo 3: pegar o estepePasso 4: suspender o carro com o macacoPasso 5: desenroscar os 4 parafusos do pneu furadoPasso 6: colocar o estepePasso 7: enroscar os 4 parafusosPasso 8: baixar o carro com o macacoPasso 9: guardar as ferramentas

  • Algoritmo: Bolo de ChocolatePasso1 Receber os ingredientes: 2 xcaras de acar; 3 ovos; 250g de margarina; 3 xcaras de farinha de trigo; 1 e colher de fermento; 1 xcara de leite. Passo 2: aquea o forno a 180 graus;

    Passo 3: bata as claras em neve e reserve;

    Passo 4: em uma travessa, bata o acar, a manteiga e as gemas;

  • Algoritmo: Bolo de ChocolatePasso 5: misture a farinha e o leite;

    Passo 6: bata bem, at ficar bem homogneo;

    Passo 7: com a ajuda de uma colher, acrescente o fermento;

    Passo 8: por ltimo, adicione as claras em neve e mexa cuidadosamente;Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno mdio para assar por aproximadamente 35 minutos ou at que, ao espetar um palito, esse saia seco;

    Passo 10: aps assado, desligue o forno e deixe o bolo esfriar;

    Passo 11: desenforme e saboreie.

  • Algoritmo: CaractersticasPodemos observar cinco caractersticas inerentes aos algoritmos:Finitude Um algoritmo sempre deve terminar aps um nmero finito de passos. Ex. Encerra no momento em que o bolo est pronto.

    Definio Cada passo do algoritmo deve ser bem definido e sem ambiguidades No deve dar margem para uma interpretao dupla.

    Entradas Um algoritmo deve ter uma ou mais entradas, que so as informaes que devem ser fornecidas antes do algoritmo ser iniciado No caso da receita de bolo, as entradas so os ingredientes

  • Algoritmo: CaractersticasPodemos observar cinco caractersticas inerentes aos algoritmos

    Sadas Um algoritmo deve ter uma ou mais sadas. Observando a nossa receita, vemos que os ingredientes (entradas) so misturados, gerando uma nica sada (o bolo).

    Efetividade Todo algoritmo deve ser descrito por operaes bsicas e possveis de ser realizadas de forma precisa, dentro de um determinado tempo, por qualquer pessoa. Se na receita vssemos uma instruo do tipo "coloque acar vontade", isso impossibilitaria a sua execuo de uma forma precisa.

  • Algoritmo Utilizando nmeros e expresses matemticasClculo da mdia aritmtica de um aluno:

    Passo 1: informe a primeira nota; Passo 2: informe a segunda nota; Passo 3: some a primeira nota com a segunda nota; Passo 4: divida o resultado da soma por dois; Passo 5: mostre o resultado obtido.

  • Algoritmo Utilizando nmeros e expresses matemticasPodemos observar que esse algoritmo tm: Incio e fim Passos bem definidos Dados de entrada (primeira nota e segunda nota), Dados de sada (mdia) Instrues de cada passo so precisas O exemplo rene as 5 caractersticas mencionadas anteriormente. Podemos afirmar que a construo de algoritmos uma atividade que faz parte do nosso cotidiano Seguem uma sequncia lgica de passos e geram suas respectivas sadas (que so os resultados alcanados).

  • Algoritmo Utilizando nmeros e expresses matemticas importante lembrar que podem existir vrias maneiras de solucionar um problema.

    O importante chegar soluo. Melhor ainda, se essa soluo for atingida de forma eficiente e eficaz.

    A eficincia a capacidade de produzir com maior qualidade e com os mesmos ou menos recursos

    A eficcia caracteriza-se por fazer o que necessrio para alcanar determinado resultado

  • Atividade

    Escreva o seu algoritmo usual para ir Universidade. Escreva um algoritmo para fritar batatas. Escreva o seu algoritmo usual para tomar banho. Escreva um algoritmo que, dado um nmero, exiba o seu antecessor. Faa o mesmo para exibir o sucessor do nmero dado.

  • Nota:

    Antes de fazer a atividade, considere as tcnicas para elaborao de um algoritmo: Ler atentamente o enunciado Destacando os pontos mais importantes; Definir os dados de entrada; Definir os dados de sada O que se deseja obter Definir o processamento De que maneira ser ordenada a sequncia de passos Construir o algoritmo;

  • Formas de Representao dos Algoritmos

    Descrio narrativa

    Fluxogramas

    Pseudocdigo

  • Formas de Representao dos Algoritmos :Descrio narrativa

    Nessa forma de representao, analisamos o enunciado do problema e descrevemos a sequncia de passos em nossa lngua nativa (em nosso caso, o portugus).

    A vantagem de se utilizar esse procedimento que no precisamos aprender nenhum conceito novo, pois j temos domnio sobre a nossa lngua nativa.

    A desvantagem que a lngua natural pode ser interpretada de diferentes maneiras. Em comparao com uma linguagem de programao, a linguagem natural abstrata, imprecisa e pouco confivel.

    Isso poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma linguagem de programao).

  • Formas de Representao dos Algoritmos :Descrio narrativa Considere o algoritmo Receita de Bolo

    Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno mdio para ass

Search related