Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA - PDF
Download "Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA"
Afonso Gama Raminhos
1 Aula 02 - Algoritmos Disciplina: Algoritmos Prof. Allbert Velleniche de Aquino Almeida Site: /allbert.almeida
2 Conceitos Básicos Desde o início de sua existência, o homem procurou criar máquinas para auxiliá-lo em seu trabalho, diminuindo o esforço físico e economizando tempo Hardware x software ENTRADA PROCESSAMENTO SAÍDA
3 Metodologia para desenvolvimento A metodologia utilizada se orienta pela sequência de aprendizado descrita na figura a seguir: Problema MENTE Utilização do Raciocínio MEIO FÍSICO Construção de Algoritmos Solução COMPUTADOR Implementação de Programas
4 Metodologia para desenvolvimento Tipos Utilização do Raciocínio Âmbito Construção do Algoritmo Implementação de Programas Mente Meio Físico Computador
5 Utilização do Raciocínio Pensar correta e ordenadamente na análise e resolução do problema. Formalmente, chamamos este processo de lógica de programação, que pode ser entendido como a habilidade em se utilizar corretamente o raciocínio na resolução de problemas.
6 Construção de Algoritmos Descrever adequadamente a solução pensada do problema em um meio físico através da sequencialização da solução em passos finitos. Formalmente, chamamos este processo de construção de algoritmos, que pode ser entendido como a habilidade de se utilizar corretamente a lógica de programação na construção de algoritmos, ou seja, a solução transcrita em passos.
7 Implementação de Programas Transcrever adequadamente para o computador o algoritmo que resolve o problema. Formalmente, chamamos a este conhecimento de programação, que pode ser entendido como a habilidade de se implementar corretamente os algoritmos em uma linguagem entendida pelo computador.
8 Conceito de algoritmo O uso de algoritmos está sempre presente na vida cotidiana das pessoas; Essa sequência de passos para solução de um problema não é única, da mesma forma que não existe um algoritmo único para a solução de um problema computacional;
9 Conceito de algoritmo Algoritmo é, então, um conjunto de passos (ações) que levam à solução de um determinado problema. Em geral, os caminhos que levam a uma solução são muitos. Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico [KNUTH] Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema [TREMBLAY]
10 Conceito de algoritmo Alguns algoritmos com os quais qualquer pessoa está acostumada a conviver são: instruções de como utilizar um aparelho eletrodoméstico; uma receita para preparo de um bolo ou algum prato; guia de preenchimento da declaração do imposto de renda; a maneira como as contas de água, luz e telefone são calculadas mensalmente, etc.
11 Ex. 1: Algoritmo para fazer um bolo. separar os ingredientes; se tiver batedeira bater os ingredientes na batedeira; senão bater os ingredientes à mão; colocar a massa na forma; ligar o forno; aguardar a temp. do forno atingir 200º C; colocar a forma no forno; aguardar o tempo de cozimento; retirar o bolo do forno; deixar esfriar;
12 Ex. 2: Algoritmo ao acordar de manhã. dar um beijo na esposa; levantar-se da cama; tomar um banho; tomar café; se casado há menos de um ano dar outro beijo na esposa; caminhar até a garagem; ligar o carro; dirigir-se para o trabalho;
13 Técnicas para elaboração de algoritmo ler atentamente o enunciado, destacando os pontos mais importantes; definir os dados de entrada; definir o processamento; definir os dados de saída; construir o algoritmo utilizando uma das ferramentas descritas na próxima seção; testar o algoritmo realizando simulações.
14 Ferramentas para representação de algoritmo As ferramentas mais comuns são: descrição narrativa fluxograma linguagem algorítmica (ou pseudocódigo, português estruturado, etc.)
15 Descrição narrativa Faz-se uso do português para descrever algoritmos. Ex.: Imaginem um problema onde o usuário tenha que entrar com dois números e o problema tenha que somar esses números e apresentar o resultado ao usuário. Entrar com o 1º número; Entrar com o 2º número; Somar o 1º e 2º número; Exibir o resultado;
16 Descrição narrativa Vantagens: o português é bastante conhecido por nós Desvantagens: imprecisão provocada pela ambiguidade; pouca confiabilidade (a imprecisão acarreta a desconfiança); extensão (normalmente, escreve-se muito para dizer pouca coisa).
17 Fluxograma Utilização de símbolos gráficos para representar algoritmos Processamento Sequência Decisão Entrada Saída Início Leia A, B C = A + B Escreva C Fim Terminal: Início e Fim
18 Fluxograma Vantagens: é uma ferramenta bastante conhecida; figuras dizem muito mais que palavras; padrão mundial. Desvantagens: faz com que a solução do problema já esteja amarrada a dispositivos físicos; pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; complica-se à medida que o algoritmo cresce.
19 Português Estruturado (Pseudocódigo) Consiste na definição de uma pseudolinguagem de programação Ex.: Algoritmo soma Inicio leia (A) leia (B) C A+B escreva (C) Fimalgoritmo
20 Português Estruturado (Pseudocódigo) Vantagens: Independência física da solução; Usa o português como base; Pode-se definir quais e como os dados vão estar estruturados; Fácil mapeamento em uma linguagem de programação qualquer. Desvantagens: Exige a definição de uma linguagem não real para trabalho; Não padronizado.
21 Simulação de algoritmos Também conhecido como teste de mesa A partir de dados de teste cuja resposta é conhecida, simula-se a execução do algoritmo e compara-se a resposta obtida com a resposta esperada
22 Exemplo #1 Dado o seguinte problema: Cálculo da média de um aluno. Descrição: A média do aluno é composta por duas provas e duas séries de exercícios. A primeira prova tem peso 1 e a segunda tem peso 2, a média aritmética das séries de exercícios tem peso 1. Construa um algoritmo para calcular a média do aluno.
23 Solução Exemplo #1 1. Dados de Entrada Nota1 = 8.0 Nota2 = 7.5 Série1 = 10.0 Série2 = Calcular a média: (N1 + N2 * 2 + ((S1+S2)/2))/4 3. Dados de saída: Média = 8.0
24 Solução Exemplo #1 (Narrativa) Entrar com a 1ª nota; Entrar com a 2ª nota; Entrar com a 1ª série de exercícios; Entrar com a 2ª série de exercícios; Calcular a média; Exibir a média;
25 Solução Exemplo #1 (Fluxograma) Início N1, N2, S1, S2 Média=(N1+N2*2+(S1+S2)/2)/4 Média Fim
26 Solução Exemplo #1 (Pseudocódigo) Algoritmo Calcular Média Inicio leia(n1) leia(n2) leia(s1) leia(s2) MEDIA <- (N1 + N2*2 + (S1 + S2) /2) /4 escreva(media) Fimalgoritmo
27 Exemplo #2 Dados três valores positivos, a, b e c, determine a sua média aritmética, harmônica, geométrica e ponderada com pesos de 1, 2 e 3 respectivamente. Quais as tarefas a serem executadas para a solução deste problema?
28 Solução Exemplo #2 1. Obter os valores para a, b e c. 2. Calcular a média aritmética. 3. Calcular a média harmônica. 4. Calcular a média geométrica. 5. Calcular a média ponderada. 6. Exibir os resultados. mm = 1 a + 2 b + 3 c
19/1/2011. ALGORITMO Resolvendo Problemas. ALGORITMOS E PROGRAMAÇÃO Desenvolvimento de Aplicativos Comerciais. ALGORITMO - Definição
ALGORITMO Resolvendo Problemas ALGORITMOS E PROGRAMAÇÃO Desenvolvimento de Aplicativos Comerciais Quando temos um problema e vamos utilizar um computador para resolve-lo, precisamos passar pelas seguintes
Instituto de C Programação de Computadores: Introdução a Algoritmos (Parte I) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Roteiro da Aula de
Projeto e Desenvolvimento de Algoritmos O que são algoritmos? Índice Objetivos Introdução Representação de Algoritmos Linguagem Natural Fluxogramas Pseudo-Linguagem Técnicas de Projeto de Algoritmos Objetivos