21
Algoritmos Professora: Maely Moraes Código: DCC 105 Carga-horária: 60 horas-aula Conceitos Preliminares (continuação)

Apresentacao 03 algoritmos conceitos preliminares - continuação

Embed Size (px)

DESCRIPTION

Apresentacao_03 Algoritmos -Conceitos Preliminares - Continuação

Citation preview

Page 1: Apresentacao 03  algoritmos  conceitos preliminares - continuação

Algoritmos

Professora: Maely Moraes

Código: DCC 105

Carga-horária: 60 horas-aula

Conceitos Preliminares

(continuação)

Page 2: Apresentacao 03  algoritmos  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

Page 3: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.”

Page 4: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 5: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 6: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 7: Apresentacao 03  algoritmos  conceitos preliminares - continuaçã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

Page 8: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 9: Apresentacao 03  algoritmos  conceitos preliminares - continuação

Formas de representação de algoritmos

� Simbologia de fluxograma

Page 10: Apresentacao 03  algoritmos  conceitos preliminares - continuação

Formas de representação de algoritmos

� Exemplo de fluxograma

Page 11: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 12: Apresentacao 03  algoritmos  conceitos preliminares - continuação

Formas de representação de algoritmos

� Exemplo de Pseudocódigo

Page 13: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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:

Page 14: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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).

Page 15: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 16: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 17: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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

Page 18: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.

Page 19: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.”

Page 20: Apresentacao 03  algoritmos  conceitos preliminares - continuação

Exercícios

Para este problema, são válidas as seguintes tabelas:

Page 21: Apresentacao 03  algoritmos  conceitos preliminares - continuação

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.