100% acharam este documento útil (1 voto)
26 visualizações70 páginas

Fluxogramas e Algoritmos em Programação

Este documento discute algoritmos e suas representações. Resume: 1) Apresenta algoritmos como sequências lógicas de instruções para resolver problemas. 2) Discute três representações de algoritmos: descrição narrativa, fluxograma e pseudocódigo. 3) Exemplifica cada representação com algoritmos como receita de bolo e troca de lâmpada.

Enviado por

Lana Beatryssa
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
100% acharam este documento útil (1 voto)
26 visualizações70 páginas

Fluxogramas e Algoritmos em Programação

Este documento discute algoritmos e suas representações. Resume: 1) Apresenta algoritmos como sequências lógicas de instruções para resolver problemas. 2) Discute três representações de algoritmos: descrição narrativa, fluxograma e pseudocódigo. 3) Exemplifica cada representação com algoritmos como receita de bolo e troca de lâmpada.

Enviado por

Lana Beatryssa
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

LÓGICA DE PROGRAMAÇÃO

Aula 02 | Algoritmos. Descrição Narrativa. Fluxograma.

Mariela Mizota Tamada


Doutora em Ciências da Computação
Lógica de
Programação
Lógica de Programação

• Computador = máquina programável.


• Programa de computador = sequência de instruções para o
computador executar uma tarefa.
• Um conjunto de regras que organizam as instruções para se
chegar a um solução (conclusão).

Logo, a Lógica de Programação é uma forma de


“raciocínio lógico” de um computador.
Como o computador “entende” as instruções de um programa?

• Computador = máquina eletrônica digital.


• Linguagem “nativa” do computador: linguagem binária (0 e 1,
equivalentes a níveis de corrente da eletrônica digital). Basicamente
as informações são transmitidas e interpretadas pela portas lógicas
pela corrente elétrica (1) ou pela ausência dela (0).
• BIT (binary digit – dígito binário).
• BYTE : conjunto de 8 bits.
• Tabela ASCII
• Linguagem de Máquina (ou linguagem Assembly).
Como funciona um programa de computador?
Como o computador “entende” as instruções de um programa?

• Um programa de computador ou programa informático é um


conjunto de instruções que descrevem uma tarefa a ser
realizada por um computador.

• O termo pode ser uma referência ao código fonte, escrito em


alguma linguagem de programação, ou ao arquivo que contém a
forma executável deste código fonte.
Como funciona um programa?
Como o computador “entende” as instruções de um
programa?

• Um interpretador lê um programa de alto nível (chamado de


código fonte) e executa ele, ou seja, realiza as ações do programa
passo a passo, traduzindo para uma linguagem de máquina.
• Um compilador lê o programa de alto nível e traduz ele
completamente antes de executá-lo.

Fig.1: Adaptado de CELES, Introdução a estrutura de dados. 2004; p.6


Aula 01 da Bóson Treinamentos em Lógica de Programação
Apresentação e Definições (13min.)

[Link]
lutCuBplhx9aqkdd
Todos os programas (aplicações), sistemas operacionais,
linguagens de programação são um conjunto de algoritmos.

- SO Linux (escrito em linguagem C)


- Linguagem Java (escrito em linguagem C)
- Linguagem Python (escrito em ABC, sintaxe do C, expressão do Perl)
- Linguagem C (escrito em linguagem Assembly).

- Redes sociais
- Monitorar invasão da rede
- Página de compras na internet
- Banco de dados
- Sistema de operações financeiras
- Enviar um foguete
- ...
O que é um algoritmo?

MATEMÁTICA
sequência finita de regras, raciocínios ou operações que,
aplicada a um número finito de dados, permite solucionar
classes semelhantes de problemas.

INFORMÁTICA
conjunto das regras e procedimentos lógicos perfeitamente
definidos que levam à solução de um problema em um número
finito de etapas.
Origem
ETIM [Link]. algorismus, com infl. do gr. arithmós 'número'
Noções de Algoritmo

• Um algoritmo representa mais fielmente o raciocínio


envolvido na Lógica de Programação

• Abstrai detalhes computacionais

• Uma vez construído o algoritmo, pode-se traduzi-lo para


qualquer linguagem. Chama-se isto de codificação.
Noções de Algoritmo

• Uma sequencia lógica e finita de instruções que devem ser


seguidas para a resolução de um problema ou a execução de uma
tarefa.

• Três tipos de representação


• 1) Descrição Narrativa (linguagem natural)
• 2) Representação Gráfica (fluxograma)
• 3) Pseudocódigo (linguagem estruturada e assemelha-se aos
programas escritos em alto nível)
Algoritmos:
descrição narrativa
1)Descrição Narrativa de um algoritmo

Exemplo: Receita de Bolo


Misture os ingredientes;
Unte a forma com manteiga;
Despeje a mistura na forma;
Se houver coco ralado;
Então despeje sobre a
mistura
Leve a forma ao forno;
Enquanto não corar
Deixe a forma no forno
Retire do forno;
Deixe esfriar.
1)Descrição Narrativa de um algoritmo
1)Descrição Narrativa de um algoritmo
1)Descrição Narrativa de um algoritmo

E se a lâmpada nova não acender?


1)Descrição Narrativa de um algoritmo

Se a
lâmpada
nova não
acender,
o que
mudaria?
1)Descrição Narrativa de um algoritmo

Vou
repetir o
processo
de troca
até
acender
Aula 02 da Bóson Treinamentos em Lógica de Programação
Algoritmos e Fluxogramas (14min.)

[Link]
lutCuBplhx9aqkdd
Fazer um algoritmo (descrição narrativa) para as
atividades abaixo:

- Fazer um café
- Fazer um ovo frito
- Escovar os dentes
- Trocar lâmpada queimada.
- Informar a soma de 3(três) números
- Calcular a superfície de um triângulo.
Analise e descreva uma maneira de mover os discos do pino
A para o pino C, mantendo a mesma ordem. Em hipótese
nenhuma um disco maior poderá ficar sobre o menor.

Torre de Hanoi

[Link]
Algoritmo (pseudocódigo) para resolver o
problema da
Torre de Hanoi

Não precisa entender esse algoritmo. Só saber que existe uma


solução (algoritmo) para qualquer quantidade de discos.
Algoritmos:
representação gráfica
2) Representação Gráfica de um Algoritmo  Fluxograma

São representações gráficas da estrutura lógica do


algoritmo de um programa de computador, pois
representam através de figuras geométricas a
sequência lógica de um programa.
1) Para montar corretamente um fluxograma, primeiramente
é preciso identificar os elementos de entrada,
processamento e saída.

2) Observe a fórmula do problema. Os elementos que


precisam ser informados para que algo seja calculado são
elementos de entrada, as mensagens exibidas são os
elementos de saída no fluxograma, a fórmula em si é um
elemento de processamento de dados e as verificações
lógicas são tomadas de decisão.

Entrada Processamento Saída


2)Representação Gráfica de um Algoritmo  Fluxograma
Sequência

Exibir mensagem Entrada de Dados


ou Saída

OU
Fluxograma de troca de lâmpada com teste

Troca de lâmpada com teste – Versão

1- Pegar uma escada;


2. Posicionar a escada embaixo da
lâmpada;
3. Buscar uma lâmpada nova;
4. Acionar o interruptor;
5. SE a lâmpada não acender, então:
a) Subir na escada;
b) Retirar a lâmpada velha;
c) Colocar a lâmpada nova;
d) Descer da escada;
Fluxograma de troca de lâmpada com teste repetido até acender

Troca de lâmpada com teste – Versão 3

1- Pegar uma escada;


2. Posicionar a escada embaixo da
lâmpada;
3. Buscar uma lâmpada nova;
4. Acionar o interruptor;
a) Subir na escada;
b) Retirar a lâmpada velha;
c) Colocar a lâmpada nova;
d) Descer da escada;
e) voltar a testar
Fluxograma de troca de lâmpada com teste repetido até acender

Troca de lâmpada com teste – Versão 4

1. Acionar o interruptor;
2. Enquanto a lâmpada não acender, então:
a- Pegar uma escada;
b. Posicionar a escada embaixo da lâmpada;
c. Buscar uma lâmpada nova;
d. Acionar o interruptor;
f. Subir na escada;
g. Retirar a lâmpada velha;
h. Colocar a lâmpada nova;
[Link] da escada;
j. voltar a testar
Estruturas de fluxograma

Estrutura de Estrutura de Estrutura de


Controle Controle Controle
Sequencial Condicional Repetitiva
Estruturas de fluxograma- exemplos-

Estrutura de Estrutura de Estrutura de


Controle Controle Controle
Sequencial Condicional Repetitiva
Estrutura de Início
controle
sequencial
“Informe o
salário”

Valor digitado é armazenado na


Solicite o valor
variável X, ou seja, nesse exemplo
do salário e X que foi digitado 1500 pelo usuário
informar na tela. significa que a variável X =1500

“O salário é ”, X

Fim
Estrutura de Início
controle
São algoritmos que preparam
sequencial para qualquer tipo de
“Informe o
salário” linguagem de programação.
Exemplo: Python

Solicite o valor
do salário e valorSalario
informar na tela.

“O salário é ”,
valorSalario

Fim
Estrutura de
controle Início

sequencial
“Informe o
seu salário”
Solicite o valor do salário,
Calcule 20% de aumento
e informar na tela. X

X = X * 1.2

Observe que aqui coloquei um


20% de aumento já definido
dentro do algoritmo. “salário
Fim
reajustado ”, X
Estrutura de
Controle
condicional Estruturas de Decisão em Algoritmos

Grande parte dos algoritmos possui alguns passos


que dependem de decisões a serem tomadas.

Por exemplo, um algoritmo para calcular o imposto de


renda vai conter alguns passos que somente serão
executados a partir do resultado de um teste (neste
caso, do valor mínimo do salário do funcionário).
Estrutura de
Controle Valor ajustado em
condicional Descrição narrativa maio de 2023

Informe ( valor do salário)


Se o salário for menor que R$ 2.112,00 então
“Isento de taxa”
Senão
“Cobrança de alíquota”
Início
Estrutura de
Controle
“Informe o
condicional seu salário”

Não
X > “Isento de
2.112,00 taxa”

Equivale a Sim
SE (salário > R$ 2.112,00) então
“Cobrança
SENÃO ... Fim
de alíquota”
Estrutura de Valor ajustado em maio de
2023
Controle Descrição narrativa
condicional
Informe ( nome do funcionário)
Informe ( valor do salário)
Se o salário for menor que R$ 2.112,00 então
O funcionário é isento do imposto de renda
Se o salário for entre R$ 2.112,01 e R$ 2.826,65 então
Alíquota de 7,50%
Se o salário for entre R$ 2.826,66 e R$3.751,05 então
Alíquota de 15,00%
Se o salário for entre R$3.751,06 e R$4.664,68 então
Alíquota de 22,50%
Se o salário for maior que R$4.664,68 então
Alíquota é de 27,50%
Estrutura de Valor ajustado em maio de
2023
Controle Descrição narrativa
condicional
Informe ( nome do funcionário)
Informe ( valor do salário)
Repare a Se o salário for menor que R$ 2.112,00 então
diferença da O funcionário é isento do imposto de renda
lógica na
estrutura Senão Se o salário for entre R$ 2.112,01 e R$ 2.826,65 então
condicional com
a anterior Alíquota de 7,50%
Senão Se o salário for entre R$ 2.826,66 e R$3.751,05 então
Alíquota de 15,00%
Senão Se o salário for entre R$3.751,06 e R$4.664,68 então
Alíquota de 22,50%
Senão
Alíquota é de 27,50%
Estrutura de
Controle
Representação gráfica – fluxograma-
condicional

Fazer o fluxograma da descrição


narrativa das alíquotas para pagamento
de imposto de renda (IR)

-versão com Se
-versão com Se ... senão
Estrutura de
Descrição narrativa
Controle de
repetição
Enquanto tiver funcionários verificar
Informe (nome)
Informe ( valor do salário)
se o salário for menor que R$ 2.112,00
Exibir (“Isento de taxa”)
senão
Exibir (“Cobrança de alíquota”)
Estrutura de
Início
Controle de
repetição Tem Não
Fim
funcionários
Sim
“Informe o
nome”

nome
1

“Informe o
salário”

salario

Sim Não Isso é um


“Cobrança salario > “Isento de
2.112,00 taxa” conector. Informa
de alíquota”
onde vai continuar

1
Estrutura de
Controle de
repetição
Estruturas de Repetição em Algoritmos

A maioria dos algoritmos possui uma parte das


instruções que são repetidas, com finalidade de
solucionar o problema que envolve a repetição de ações.

No exemplo anterior foi calculado o imposto de renda


para apenas um funcionário. O algoritmo poderia ser
modificado para calcular para todos os funcionários da
empresa.
Estrutura de Algoritmo para imposto de
renda com repetição
Controle de Para cada (funcionário da empresa):
repetição Informe ( nome do funcionário)
Informe ( valor do salário)
Se o salário for menor que R$ 2.112,00
“O funcionário é isento do imposto de renda”
Senão
“O funcionário terá cobrança de alíquota”
Se o salário for entre R$ 2.112,00 e R$ 2.826,65
Alíquota de 7,5%
Senão Se o salário for entre R$ 2.826,66 e R$3.751,05
Alíquota de 15%
Senão Se o salário for entre R$3.751,05 e R$4.668,68
Alíquota de 15%
Senão
Alíquota é de 27,5%
Até que tenha sido calculado para todos os funcionários
Estrutura de Algoritmo para imposto de
renda com repetição
Controle de Enquanto tiver (funcionário da empresa):
repetição Informe ( nome do funcionário)
Informe ( valor do salário)
Se o salário for menor que R$ 2.112,00
“O funcionário é isento do imposto de renda”
Senão
“O funcionário terá cobrança de alíquota”
Se o salário for entre R$ 2.112,00 e R$ 2.826,65
Alíquota de 7,5%
Senão Se o salário for entre R$ 2.826,66 e R$3.751,05
Alíquota de 15%
Senão Se o salário for entre R$3.751,05 e R$4.668,68
Alíquota de 15%
Senão
Alíquota é de 27,5%
Teste de mesa

O Teste de Mesa é um processo manual que é utilizado para validar a


lógica de um determinado algoritmo. Ele é utilizado principalmente em
algoritmos quando a linguagem utilizada não possui nenhuma
ferramenta automatizada de depuração.
No livro Dicionário de Informática & Internet
Teste de mesa: análise para saber se um programa funciona logicamente.

Pesquisar
na web

Fonte: [Link]
%C3%A9-um-teste-de-mesa-como-aplic%C3%A1-lo
Teste de mesa

Voltar aos códigos e fazer teste de mesa !


Se o seu objetivo é aprender não copie/cole código. Redigite!

Faça o teste de mesa para validar o seu algoritmo.


Os erros são ajudas para melhorar o seu código. Não se preocupe
quanto longo e difíceis pareçam, tente, corrija, tente, corrija.
Quem nunca errou é porque nunca tentou! E não aprendeu.

Para aprender lógica precisa praticar!.


Isso é um requisito para ser um DEV (developer = desenvolvedor),
ou seja, programador.

Para ser bom em programação requer muito raciocínio lógico,


persistência e, especialmente, curiosidade!
Exercícios

1) Escreva um algoritmo para ler o salário mensal atual de um


funcionário e ler o percentual de reajuste. Calcular e mostrar o valor
do novo salário.

2) Escrever um algoritmo que leia a idade de uma pessoa expressa em


anos, meses e dias e escreva a idade dessa pessoa expressa apenas
em dias. Considerar ano com 365 dias e mês com 30 dias.

3) Escrever um algoritmo para ler o número de votos brancos, nulos e


válidos de um município. Calcular e escrever o percentual que cada
um representa em relação ao total de eleitores.
Atividade de percurso
[Link]
Ferramenta
Opção flowchart Pode ser no
• Word,
• Power Point,

Possível solução para o exercício 1)

• papel e lápis (e borracha 😁)


Exercícios

1) Escreva um algoritmo para ler o salário mensal atual de um


funcionário e ler o percentual de reajuste. Calcular e mostrar o valor
do novo salário.

2) Escrever um algoritmo que leia a idade de uma pessoa expressa em


anos, meses e dias e escreva a idade dessa pessoa expressa apenas
em dias. Considerar ano com 365 dias e mês com 30 dias.

3) Escrever um algoritmo para ler o número de votos brancos, nulos e


válidos de um município. Calcular e escrever o percentual que cada
um representa em relação ao total de eleitores.
Atividade de percurso
Observe que deve manter o nome da variável para fazer as operações
(deixei com cores para poder diferenciar).

Possível solução para o exercício 2)


Exercícios

1) Fazer um fluxograma para calcular a média semestral (MS) de 2 notas bimestrais


(NB). Exibir mensagem “aprovado”, se a média é maior ou igual a 60, senão [Link]

imprimir “reprovado”.
1b) Novo fluxograma ( idem anterior e acrescentar a continuação no caso de MS <60)
Se a MS não atingir a média considere a nota de recuperação (NR).
A média de recuperação (MR) será a média da nota de recuperação (NR) com a média
semestral (MS).
Se a média com recuperação (MR) for maior ou igual a 60 está aprovado, senão imprimir
“reprovado”.
1c) Novo fluxograma (idem anterior e acrescentar)
Se a MR não atingir a média considere a prova final.
O cálculo da média final (MF) é Prova final (PF) com peso de 40% e média recuperação (MR)
com peso de 60%.
Se a média final ponderada (MF) é maior ou igual a 50 será aprovado senão reprovado na
disciplina.
Fazer um fluxograma para calcular a média semestral (MS)
de 2 notas bimestrais (NB). Exibir mensagem “aprovado” se
a média é maior ou igual a 60, senão imprimir “reprovado”.

São 2 possíveis algoritmos corretos, enviados pelos alunos.


Pode ter outras respostas corretas.

Aluno G Aluno V

Esta figura
também pode ser
utilizada para
leitura de valores,
assim como o
paralelepípedo
Exercícios

1) Fazer um fluxograma para calcular a média semestral (MS) de 2 notas bimestrais


(NB). Exibir mensagem “aprovado”, se a média é maior ou igual a 60, senão imprimir [Link]

“reprovado”.

1b) Novo fluxograma ( idem anterior e acrescentar a continuação no caso de MS <60)


Se a MS não atingir a média considere a nota de recuperação (NR).
A média de recuperação (MR) será a média da nota de recuperação (NR) com a média
semestral (MS).
Se a média com recuperação (MR) for maior ou igual a 60 está aprovado, senão
imprimir “reprovado”.
Calcular a média semestral (MS) de 2 notas bimestrais (NB).
Se a média é maior ou igual a 60 exibir que está aprovado, senão considere a
nota de recuperação (NR).
A média de recuperação (MR) será a média da nota de recuperação (NR) com a
média semestral (MS).
Se a média com recuperação (MR) for maior ou igual a 60 está aprovado
Exercícios

2a) Calcular e exibir a nota média da turma para uma disciplina.

Solução em sala de aula


Exercícios

2a) Calcular e exibir a nota média da turma para uma disciplina.


Exercícios

2b) E exibir a quantidade de alunos aprovados e reprovados.

Solução em sala de aula


Teste de mesa

O Teste de Mesa é um processo manual que é utilizado para validar a


lógica de um determinado algoritmo. Ele é utilizado principalmente em
algoritmos quando a linguagem utilizada não possui nenhuma
ferramenta automatizada de depuração.
No livro Dicionário de Informática & Internet
Teste de mesa: análise para saber se um programa funciona logicamente.

Pesquisar
na web

Fonte: [Link]
%C3%A9-um-teste-de-mesa-como-aplic%C3%A1-lo
Teste de mesa

Voltar aos códigos e fazer teste de mesa !


O que estudamos?

 Premissas e conclusão
 Argumento dedutivo
 Argumento indutivo
 Lógica
 Raciocínio Lógico
 Lógica de Programação
 Algoritmo. Conceito.
 Algoritmo: estruturas de controle (sequencial, condicional e
repetição)
 Algoritmo: descrição narrativa
 Algoritmo: fluxograma ou representação gráfica
Atividade de percurso (15 pontos)

Entrega no AVA.
Trabalho Individual

1) (3 pontos)
Tela Rachacuca. Relação aluno-problema no AVA

2) (4 pontos)
Escrever um algoritmo para ler o número de votos brancos, nulos e válidos de um
município. Calcular e escrever o percentual que cada um representa em relação
ao total de eleitores.
3) (4 pontos)

Obter a taxa de frequência (TF) e calcular a média semestral (MS) de 2 notas


bimestrais (NB). Se a média é maior ou igual a 60 e taxa de frequência maior ou igual
a 75% exibir que está aprovado, senão considere a nota de recuperação (NR).
A média de recuperação (MR) será a média da nota de recuperação (NR) com a
média semestral (MS).
Se a média com recuperação (MR) for maior ou igual a 60 está aprovado. Além da
nota considerar uma frequência mínima de 75% para aprovação.
Se a MR não atingir a média considere a prova final.
O cálculo da média final (MF) ponderada é Prova final (PF) com peso de 40% e média
recuperação (MR) com peso de 60%.
Se a média final ponderada (MF) é maior ou igual a 50 e com frequência mínima de
75% será aprovado senão fica reprovado na disciplina.
4) (4 pontos)

Fazer um algoritmo (representação gráfica em fluxograma) que leia o nome


de um produto em loja pet, o preço e a quantidade de unidades. Exibir o
nome do produto comprado e o valor total a ser pago, considerando que são
oferecidos descontos pelo número de unidades compradas segundo a tabela
abaixo:
a) Até 2 unidades: não tem desconto
b) De 3 a 5 unidades: 10% de desconto
c) Acima de 6 unidades: 25% de desconto

Você também pode gostar