Upload
adriano-j-p-nascimento
View
3.667
Download
3
Embed Size (px)
DESCRIPTION
Apresentacao_03 Algoritmos -Conceitos Preliminares - Continuação
Citation preview
Algoritmos
Professora: Maely Moraes
Código: DCC 105
Carga-horária: 60 horas-aula
Conceitos Preliminares
(continuação)
Roteiro
�Uma metodologia para construção de algoritmos� Requisitos
�Formas de representação de algoritmos� Descrição narrativa
� Fluxograma
� Pseudocódigo
Uma metodologia para construção de algoritmos
� O método consiste em dividir um problema complexo em vários problemas de resolução simples, conhecido como método dos refinamentos sucessivos, que pode ser resumido da seguinte maneira :
� “Para a construção de qualquer tipo de algoritmo são necessários os passos descritos a seguir:a. ler atentamente o enunciado, destacando os pontos mais
importantes;b. definir os dados de entrada, ou seja, quais dados serão fornecidos;c. definir o processamento, ou seja, quais cálculos serão efetuados e
quais as restrições para estes cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída;
d. definir os dados de saída, ou seja, quais dados serão gerados depois do processamento.;
e. construir o algoritmo utilizando o tipo de sua prefencia;f. testar o algoritmo realizando simulações.”
Requisitos
� Para formalizar o método foi estabelecido os seguintes requisitos:1. Deve-se extrair do enunciado do problema quais as entradas que o usuário deve
fornecer, bem como as saídas desejadas. Deve identificar também qual o tipo de variável deve ser utilizado para armazenar cada uma das informações.
2. Deve-se fazer um roteiro simplificado de como transformar as entradas fornecidas nas saídas desejadas. Esta parte é considerada a mais importante do método, pois define a estratégia de resolução. Aqui o ideal é detalhar ao máximo como fazer para calcular a saída.
3. Construir o algoritmo propriamente dito, passo a passo, a partir do roteiro. É nesta etapa que se verifica se o roteiro proposto foi bem concebido ou não, pois quanto mais preciso e detalhado, mais fácil será a tarefa da codificação do algoritmo.
4. Fazer uma simulação do algoritmo para verificar se o mesmo está funcionando de forma correta.
Formas de representação de algoritmos
� Um algoritmo pode ser definido como sendo uma “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema”.
� Para escrever um algoritmo, existem 3 formas de representá-los:
�Descrição Narrativa;
�Fluxograma ; e
�Pseudocódigo.
Formas de representação de algoritmos
� Descrição Narrativa
�Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural os passos a serem seguidos para a resolução do problema.
�Sendo assim, não é necessário aprender nenhum conceito novo.
�Linguagens naturais são sempre passíveis de ambigüidades e podem gerar múltiplas interpretações, e com isso dificultar a posterior transcrição do algoritmo para uma linguagem de programação.
Formas de representação de algoritmos
� Exemplo de Descrição Narrativa
� Receita de Bolo
� Providenciar os ingredientes (manteiga, ovos, farinha, açúcar, etc.)� Providenciar as ferramentas (batedeira, bacia, forma,..)� Misture os ingredientes � Despeje a mistura na fôrma de bolo � Ligar o forno� Leve a fôrma ao forno � Espere 20 minutos � Retire a fôrma do forno � Desligar o forno� Deixe esfriar � Comer
Formas de representação de algoritmos
� Fluxograma
�Neste tipo de representação, o algoritmo será escrito utilizando símbolos gráficos predefinidos para a resolução do problema. (norma ISO 5807:1985)
�É uma representação gráfica de algoritmos onde desenhos geométricos básicos indicarão os símbolos de entrada de dados, do processamento de dados e da saída de dados.
�Possui maior facilidade de entendimento da solução do que textos, por ser visual.
�A medida que o problema cresce fica difícil a visualização.
Formas de representação de algoritmos
� Simbologia de fluxograma
Formas de representação de algoritmos
� Exemplo de fluxograma
Formas de representação de algoritmos
� Pseudocódigo
�Escrever o algoritmo (os passos a serem seguidos para a resolução do problema) por meio de regras predefinidas.
� É uma forma de representação rica em detalhes, apresentando as definições dos tipos das variáveis usadas no algoritmo.
�Assemelha-se bastante quanto à forma em que os programas são escritos.
�É a representação mais utilizada.
�Será a representação que usaremos a partir deste momento da disciplina.
Formas de representação de algoritmos
� Exemplo de Pseudocódigo
Exercícios
1. Elabore um algoritmo para ler dois números e imprimir: a soma, a diferença e o produto entre eles.
2. Elabore um algoritmo para ler um número inteiro e imprimir seu sucessor e seu antecessor.
3. Elabore um algoritmo para dados dois números inteiros imprimir a seguinte saída:
� Dividendo:� Divisor:� Quociente:� Resto:
Exercícios
4. Elabore um algoritmo para dados quatro números imprimir a média ponderada, sabendo-se que os pesos são respectivamente: 1, 2, 3 e 4.
5. Elabore um algoritmo para dado um número imprimir o logaritmo desse número na base 10.
6. Elabore um algoritmo para calcular a área de uma circunferência.
7. Elabore um algoritmo para efetuar o cálculo e a apresentação do valor de uma prestação em atraso (em mês),utilizando a fórmula:PRESTAÇÃO = VALOR + (VALOR*(TAXA/100)*TEMPO).
Exercícios
8. Elabore um algoritmo para efetuar o cálculo da quantidade de litros de cerveja consumida por um determinado bloco durante o carnaval. Outras informações:
� considerar que uma caixa de cerveja tem 24 garrafas;
� sabe-se que cada garrafa tem 600 ml e que 1 litro tem 1000ml;
� considerar que o carnaval são cinco dias;
� informar a quantidade de caixas de cerveja consumidas durante o período.
� Supondo que cada caixa custa R$ 30,00, informar também o gasto em cerveja do referido bloco.
Exercícios
9. Ler três números e apresentar o resultado da soma das combinações dois a dois destes três números. Por exemplo, se forem lidos A, B e C, mostrar A + B, A + C, B + C.
10. Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 )
11. Ler duas variáveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Saída: A=8 e B=6
12. Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre seu salário base e paga 10% de imposto.
Exercícios
13. Calcular o salário mensal final de um vendedor. As seguintes informações determinam esse valor:
� salário fixo
� total de vendas por ele efetuadas
� percentual que ele recebe sobre o total de vendas
Exercícios
14. Enunciado: � “Sabe-se que o dia da semana de uma data fornecida entre primeiro de
março de 1700 a 28 de fevereiro de 2100 pode ser determinado através do seguinte método:
onde d (dia do mês), m (mês), a(ano), ds (dia da semana)
� O dia da semana é representado por 1, se for domingo; 2, se for segunda-feira; ...”
� Faça um algoritmo que leia o dia, mês e ano e retorne o dia da semana correspondente.
Exercícios
15. Enunciado:� “Faça um programa que receba:
�o código do produto comprado, supondo que a digitação do código do produto seja sempre válido, ou seja, um número inteiro entre 1 e 10;
�o peso do produto em quilos;�o código do país de origem, supondo que a digitação do código do
país seja sempre válida, ou seja, um número inteiro entre 1 e 3.�A quantidade comprada de um produto.
� Calcule e mostre:�O preço do produto convertido em gramas;�O preço total do produto comprado;�O valor do imposto, sabendo que o imposto é cobrado sobre o preço
total do produto comprado e que depende do país de origem;�O valor total, preço total do produto mais imposto.”
Exercícios
Para este problema, são válidas as seguintes tabelas:
Referências Bibliográficas
� ASCENCIO, A. F. G & CAMPOS, E. A. V. Fundamentos da programação de computadores. Prentice Hall. São Paulo. 2002. p. 4.
� FARRER, H. et. al. Algoritmos estruturados. Editora Guanabara. Rio de Janeiro. 1989.p.