Buscar

Elementos de Algoritmos: Estruturas de Decisão e Repetição


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Continue navegando


Prévia do material em texto

Algoritmos e Lógica 
de Programação
Elementos de algoritmos
Giancarlo Michelino Gaeta Lopes
• Unidade de Ensino: Elementos de algoritmos
• Competência da Unidade: Construção de algoritmos e
programação e a sua importância para o universo do
desenvolvimento de sistemas.
• Resumo: Trabalharemos com estruturas de algoritmos
(condicional, repetição), vetores, matrizes, registro
para a solução de problemas.
• Palavras-chave: decisão, repetição, vetores, matizes
• Título da Teleaula: Elementos de algoritmos
• Teleaula nº: 02
Contextualização
• Como aplicar uma condição dentro de um 
programa?
• É possível criar uma estrutura condicional com 
mais de duas opções?
• O que é um “laço” de execução e como monta-
lo no programa?
Fonte: https://images.app.goo.gl/hHMkV385KBxoFytf8
Estruturas de decisão
Estruturas de decisão
• Na construção de algoritmos, podemos usar os 
operadores matemáticos relacionais, por exemplo, 
maior (>) e menor (<), para fazer comparações. 
• Estruturas de decisões possibilitam incluir nos 
algoritmos condições de controle  através de uma 
decisão certos passos podem ou não ser feitos.
• A estrutura de decisão no algoritmo normalmente 
possui a lógica binária  o resultado do teste será
verdadeiro (1) ou falso (0).
SE...ENTÃO
SE...ENTÃO...SENÃO
CASO
Estrutura condicional simples
• Possui apenas um teste, e caso esse teste seja 
verdadeiro, existe uma ação a ser feita, mas, caso 
contrário, o bloco dos comandos é ignorado. 
Fonte das imagens: Artero(2018,pg.59)
Fluxograma Pseudocódigo
• Exemplo: algoritmo
para um
estabelecimento, que
todo dia 10 concede
um desconto de 25%
a seus clientes;
Fluxograma
Pseudocódigo
Estrutura condicional composta
• Possui dois conjuntos de ações, um para 
o verdadeiro e outro para o falso da 
condição.
Fonte das imagens: Artero(2018,pg.60)
Fluxograma
Pseudocódigo
• Exemplo: Uma empresa padronizou o tamanho
de suas peças em 16 cm². Após fabricada, caso
a peça possua essa dimensão ela pode ser
liberada para venda, caso contrário, deve ser
descartada;
Fluxograma
Pseudocódigo
Fonte das imagens: Artero(2018,pg.61)
Estruturas de decisão 
complexas
Estrutura condicional com combinação de operadores
• É possível, combinar vários operadores 
utilizando um operador lógico para verificar 
várias condições em um único “SE”.
Fonte das imagens: Artero(2018, pg.62)
Fluxograma
Pseudocódigo
• Exemplo: calcular a velocidade média de uma 
esteira de escoamento de produtos  antes do 
cálculo, verificar se o deslocamento é positivo e 
se foi utilizado o tempo de 30 ou 60 s;
Fluxograma
Pseudocódigo
Fonte das imagens: Artero(2018, pg.62)
• No mesmo exemplo, também é possível montar o algoritmo utilizando 
várias estruturas condicionais aninhadas, fazendo comparações individuais;
Fluxograma Pseudocódigo
Fonte das imagens: Artero(2018, pg.62)
Estrutura de seleção de casos
• A partir de uma série 
de casos, um é 
escolhido  um teste 
é feito e, caso falso, 
faz-se o segundo teste, 
e assim por diante;
Fluxograma Pseudocódigo
Fonte das imagens: Artero(2018, pg.62)
• Ainda dentro do exemplo 
anterior, suponha que a 
cada hora do dia fosse 
utilizado um tempo 
diferente para o calculo 
da velocidade da esteira;
Fluxograma Pseudocódigo
Fonte das imagens: Artero(2018, pg.62)
Algoritmo para 
validação de dados
• Você é o funcionário responsável por desenvolver 
algoritmos para validar os dados de entrada que 
alimentam alguns subsistemas de cálculo da empresa 
onde trabalha;
• No projeto que está trabalhando, as entradas serão as 
unidades de comprimento, tempo e massa no Sistema 
Internacional;
• Você terá que verificar no algoritmo se o usuário 
escolheu a opção metro para inserir o comprimento e, 
caso não tenha escolhido, você terá de informá-lo que 
a opção escolhida não é mais válida. 
• Para o tempo foi padronizado o segundo (s), e para 
massa foi padronizado o quilograma (kg).
Fonte: Artero(2018, pg.67)
Fonte das imagens: Artero(2018, pg.67)
Resolvendo a situação-problema
Fluxograma
Pseudocódigo
Estruturas de 
repetição
Estruturas de repetição
• Permite que certos trechos de códigos sejam 
executados de forma repetida. 
• Usar com atenção pois o sistema pode entrar em loop 
infinito  utilizar teste para determinar quando a 
repetição deve parar.
• O trecho do algoritmo em repetição pode se chamar 
laço ou loop.
• Iteração é cada vez que as instruções do bloco do loop 
são executadas;
Estrutura de repetição com teste no início
• Uma condição é testada antes de o ciclo de repetição começar 
 caso a condição seja verdadeira, o ciclo inicia-se e só para 
quando a condição não for mais verdadeira. 
Fonte das imagens: Artero(2018, pg.76)
Fluxograma
Pseudocódigo
Estrutura de repetição com teste no final
• Garante a execução do laço ao menos uma vez, já que 
a verificação da condição é feita no final
Fonte das imagens: Artero(2018, pg.80)
Fluxograma
Pseudocódigo
Estrutura de repetição com variável de controle
• Estrutura utilizada sempre que se sabe 
previamente quantas vezes o bloco 
deve repetir a sua execução.
Fonte das imagens: Artero(2018, pg.82)
Fluxograma
Pseudocódigo
É possível que diferentes estruturas de 
repetição cheguem no mesmo resultado, 
então a escolha de qual usar depende do 
que você possui de informação antes de 
iniciar a repetição, e como a repetição pode 
ser mais bem controlada!
Atenção!
Você conhece algum 
software para montar 
fluxogramas?
Software DIA
• Download: http://dia-installer.de/index.html.en
Fonte: https://goo.gl/images/xjj1C6 . Acesso em: 25 jun. 2021.
Algoritmo para 
validação de dados 
avançada
• Você deve montar um algoritmo 
de validação de dados para empresa 
onde trabalha;
• A empresa possui 15 carros que ficam
à disposição de seus funcionários, e ao
final do dia é feito um controle da quantidade de 
quilômetros que os carros percorreram naquele dia. 
• O sistema permite que os dados sejam inseridos em 
quilômetros, metros ou, ainda, em milhas porém o 
cálculo do controle de combustível é feito usando a 
unidade de quilômetro  necessidade de conversão;
Fonte: Artero(2018, pg.74)
• Você deve montar um algoritmo 
que:
• Faça a validação dos dados de 
entrada das unidades de 
comprimento (quilômetro, metros 
ou milhas);
• Converta unidades de acordo 
com o padrão adotado pela 
empresa que é o quilômetro;
• Calcule o total de quilômetros 
percorridos por todos os carros 
durante o dia;
Fonte: Artero(2018, pg.74)
Fonte: Artero(2018, pg.87)
Vetores, matrizes e 
funções
Variáveis primitivas e compostas
• Variáveis primitivas 
 para cada variável 
existe um endereço 
que a torna única e 
identificável;
• Variável composta 
variável que permite 
o armazenamento de 
vários valores;
Fonte das imagens: Artero(2018, pg.93)
Variável composta unidimensional - Vetor
• Se divide em apenas uma dimensão (tabela de 
uma linha e N colunas);
• Na hora de criarmos o vetor devemos informar 
apenas a quantidade de colunas que desejamos;
Atribuindo valores em um vetor:
Fonte: Artero(2018, pg.97)
Variável composta multidimensional - Matriz
• Variável composta que se divide em duas dimensões, 
ou seja, é “uma tabela” de M linhas e N colunas.
• Exemplo: criar uma matriz do tipo inteiro com três 
linhas e duas colunas (M = 3 e N = 2);
Fonte: Artero(2018, pg.97)
Variável composta heterogênea - Registro
• Permite armazenar valores de diferentes tipos dentro da 
mesma estrutura  se cria um novo tipo de variável;
Fonte: Artero(2018, pg.100)
Rotinas de algoritmos – Funções
• Podemos dividir os comandos de um algoritmo em sub-rotinas (funções), 
assim, além de organizarmos melhor o algoritmo, dividimos os comandos em 
funções específicas e evitamos repetir códigos.
Fonte: Artero(2018, pg.103)
Algoritmo de 
ordenação
• A empresa X lhe contratou para escrever um algoritmo 
para ordenar os registrosda quantidade de calor 
medido por um sensor a cada dia durante todo o mês;
• Com os dados a empresa irá mapear se houve alguma 
anomalia durante o mês.
• Como desenvolver esse algoritmo?
Resolvendo a situação problema
• Para resolver o problema, você precisa desenvolver um algoritmo 
de ordenação de um vetor de 31 valores (dias do mês);
• Algoritmo BubbleSort:
Fonte: https://commons.wikimedia.org/
wiki/File:Sorting_bubblesort_anim.gif
Fonte: https://commons.wikimedia.org/wiki/File:Bubble-sort.gif
Fonte: Artero(2018, pg.112)
Exemplos de 
algoritmos
Exemplo 1
• Algoritmo que soma a quantidade de 
horas trabalhadas por um funcionário 
nos quinze 
primeiros dias 
do mês;
Fonte: Artero(2018, pg.79)
Exemplo 2
• Exemplo para 
calcular o 
fatorial de um 
número;
Fonte: Artero(2018, pg.81)
Exemplo 3
• Algoritmo para 
armazenar a 
quilometragem 
percorrida em cada dia 
do mês por 15 carros;
Fonte: Artero(2018, pg.99)
Você já conhecia o 
VisuAlg?
• O VisuAlg é um interpretador de pseudocódigo em 
portugol, que permite a execução do algoritmo;
• Download: https://visualg3.com.br/baixe-o-visualg-3-0-7/
Fonte: https://visualg3.com.br/
Recapitulando
• Estruturas de decisão: se-então, se-então-senão e 
caso;
• Estruturas de repetição: enquanto-faça, faça-enquanto 
e para;
• Estrutura de dados: Vetores, matrizes, registros e 
funções.