apresentacao 03 algoritmos conceitos preliminares - continuação
DESCRIPTION
Apresentacao_03 Algoritmos -Conceitos Preliminares - ContinuaçãoTRANSCRIPT
![Page 1: Apresentacao 03 algoritmos conceitos preliminares - continuação](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/9.jpg)
Formas de representação de algoritmos
� Simbologia de fluxograma
![Page 10: Apresentacao 03 algoritmos conceitos preliminares - continuação](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/10.jpg)
Formas de representação de algoritmos
� Exemplo de fluxograma
![Page 11: Apresentacao 03 algoritmos conceitos preliminares - continuação](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/12.jpg)
Formas de representação de algoritmos
� Exemplo de Pseudocódigo
![Page 13: Apresentacao 03 algoritmos conceitos preliminares - continuação](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/20.jpg)
Exercícios
Para este problema, são válidas as seguintes tabelas:
![Page 21: Apresentacao 03 algoritmos conceitos preliminares - continuação](https://reader033.vdocuments.com.br/reader033/viewer/2022052507/55915a151a28ab33048b45b6/html5/thumbnails/21.jpg)
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.