0% acharam este documento útil (0 voto)
4 visualizações46 páginas

Tipos de Algoritmos e Representação

O documento apresenta uma introdução aos tipos de algoritmos, abordando conceitos fundamentais como a definição de algoritmos, suas representações e exemplos práticos. Destaca a importância da lógica de programação e a utilização de linguagens de programação para instruir computadores, além de explorar diferentes formas de representação, como fluxogramas e pseudocódigo. Exemplos práticos ilustram a aplicação de algoritmos em situações cotidianas, como receitas e operações matemáticas.

Enviado por

valtonmaia
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
0% acharam este documento útil (0 voto)
4 visualizações46 páginas

Tipos de Algoritmos e Representação

O documento apresenta uma introdução aos tipos de algoritmos, abordando conceitos fundamentais como a definição de algoritmos, suas representações e exemplos práticos. Destaca a importância da lógica de programação e a utilização de linguagens de programação para instruir computadores, além de explorar diferentes formas de representação, como fluxogramas e pseudocódigo. Exemplos práticos ilustram a aplicação de algoritmos em situações cotidianas, como receitas e operações matemáticas.

Enviado por

valtonmaia
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

Aula 02 – Introdução aos tipos de

algoritmos
Jarbas Vidal · Fundamentos de Programação
Curso · Análise e Desenvolvimento de Sistemas
Conteúdo

● Introdução aos Algoritmos


● Representação de Algoritmos
● Exemplos
● Resolução de problemas
Introdução

● O que é um computador?

○ Qual a diferença de software e hardware?


● O que é um programa?
● Como fazer e onde executar um programa?
Introdução

● Como um programa diz ao computador o que fazer?


○ Como fazemos uma atividade no dia a dia?
■ que tal um bolo?

■ Alguma ideia?
Introdução
● Seguimos uma receita
○ Adicione 4 ovos

○ Adicione uma xícara de gasolina

○ Adicione 300g de farinha de trigo

○ Misture tudo e coloque em um recipiente

○ Leve ao forno

○ Ligue o forno e pré-aqueça em 300 graus

Tem algo errado com esse “programa”?


Introdução

● Mas como dizer ao computador para executar esses passos?


○ Ele entende português?

■ Inglês?

■ Espanhol?

■ ...
Introdução

● Os programas têm que ser escritos em uma linguagem de programação:

○ uma linguagem que pode ser entendida pelo computador

○ uma linguagem que entendemos e que possa ser traduzida para uma linguagem
entendida pelo computador
Introdução

Figura 1. Arquitetura de John Von Neumann


Introdução

Figura 2. Analogia com o homem


Introdução

● Principais elementos das linguagens


○ Instruções de Entrada/Saída

○ Instruções de cálculo

○ Instruções lógicas e de comparação

○ Instruções de armazenamento/pesquisa de dados.


Lógica de programação

Como conversamos em aulas anteriores, utilizamos a lógica para


encadear nosso pensamento e propor uma solução para determinado
problema.
Algoritmos

● Um algoritmo pode ser definido como um conjunto de regras


(instruções), bem definidas, para solução de um determinado
problema. Algoritmos são comuns em nosso cotidiano, como,
por exemplo, uma receita de bolo.

● Uma sequência detalhada e bem definida de ações a serem


executadas para realizar alguma tarefa
Algoritmos

● Um dos mais famosos algoritmos foi criado por Euclides,


matemático grego, por volta do ano de 300 A.C:

MDC: Máximo Divisor Comum entre dois números inteiros


diferentes de zero.
Algoritmos

● MDC (12, 30): a partir do número 2 tentamos realizar divisões


até o resulta final ser 1
Representação de Algoritmos

● Dentre as formas de representação de algoritmos mais


conhecidas, podemos destacar:
○ Descrição Narrativa;

○ Fluxograma Convencional;

○ Pseudocódigo, também conhecido como Linguagem


Estruturada ou Portugol
Representação de Algoritmos

DESCRIÇÃO NARRATIVA

● Utilização da Linguagem Humana Natural;


● Representa a solução do problema em passos
descritivos;
● Pouco utilizado na computação.
● As ações especificadas devem ser claras e precisas;
● Pouco usada na prática: Muitas vezes dá oportunidade a
más interpretações, ambiguidades e imprecisões.
Representação de Algoritmos

● Exemplo: sacar dinheiro em caixa eletrônico

[Link] até um caixa eletrônico


[Link] o cartão
[Link] a senha
[Link] a quantia desejada
[Link] o saldo for maior ou igual a quantia desejada, sacar dinheiro; caso contrário, mostrar
mensagem de impossibilidade de saque
[Link] cartão
[Link] da agência
Representação de Algoritmos

Algoritmo: trocar pneu de carro

Início

afrouxar ligeiramente as porcas;


suspender o carro;
retirar as porcas e o pneu;
colocar o pneu reserva e as porcas;
abaixar o carro;
dar o aperto final nas porcas.

Fim
Representação de Algoritmos

Algoritmo: multiplicação de dois números:

Início

[Link] os dois números que serão multiplicados


[Link] os dois números
[Link] o resultado obtido na multiplicação.

Fim
Representação de Algoritmos

● Uma sequência de passos para comprar um determinado produto em uma loja.


● Imagine se seria possível comprar o produto seguindo os passos dessa
sequência:
1. sair da loja;

2. pagar pelo produto;

3. entrar na loja;

4. retirar o dinheiro da carteira;

5. dirigir-se ao caixa;

6. escolher o produto na prateleira.


Representação de Algoritmos

FLUXOGRAMA
● Apresentam os Algoritmos de Forma Gráfica;
● Formado de figuras geométricas para descrever as
instruções e ações a serem executadas no algoritmo.
● Deve possuir:
○ Um estado inicial;

○ Ter um período de tempo finito;

○ Produzir um estado final previsível e bem definido


Representação de Algoritmos
● Vantagem:
o Após memorizar os símbolos, é mais fácil entender um
fluxograma que uma descrição narrativa

● Desvantagem:
o É preciso aprender a simbologia dos fluxogramas
Representação de Algoritmos
FLUXOGRAMA: Símbolos gráficos
Representação de Algoritmos
FLUXOGRAMA: Símbolos gráficos
Representação de Algoritmos
FLUXOGRAMA: exemplos
Representação de Algoritmos
FLUXOGRAMA: exemplos
Representação de Algoritmos
FLUXOGRAMA: exemplos
○ Conversão de descritiva para fluxograma

1) Elabore um algoritmo para calcular a soma de dois


números inteiros
2) Elabore um algoritmo para calcular a velocidade média
de um veículo.
3) Elabore um algoritmo para calcular a área do quadrado.
4) Elabore um algoritmo para calcular média aritmética.
5) Elabore um algoritmo para calcular a área de um círculo.
6) Elabore um algoritmo para saber se um número é par ou
ímpar.
Representação de Algoritmos
FLUXOGRAMA: exemplos
○ Conversão de descritiva para fluxograma

1) Crie um algoritmo que leia dois valores (x e y) e informe se eles são


iguais.
2) Crie um algoritmo que leia dois valores (x e y) e informe qual o maior
valor.
3) Escreva um algoritmo que leia uma letra que represente o sexo de uma
pessoa (M para Masculino e F para feminino). Se for masculino, mostra a
mensagem “Seja bem-vindo, Senhor!”, se for feminino, mostra a
mensagem “Seja bem-vinda, Senhora!”.
4) Crie um algoritmo que leia dois valores (x e y) representando um
intervalo. Em seguida, leia um novo valor (z) e verifique se z pertence ao
intervalo [x, y].
Representação de Algoritmos
FLUXOGRAMA: exemplos
○ Conversão de descritiva para fluxograma
1) Faça um algoritmo que calcule a ÁREA DO CILINDRO E O VOLUME DO
CILINDRO, em seguida exiba os resultados na saída de tela. Fórmulas:
Ac = 2*PI*RAIO * (ALTURA + RAIO) e Vc = PI*RAIO2*ALTURA

2) Faça um algoritmo que leia o peso e a altura de uma pessoa, em seguida calcule e
mostre o valor do IMC referente aos dados digitados pelo usuário. Se o IMC for maior
que 20 mostre uma mensagem “Cuidado com o peso”, caso contrário mostre a
mensagem “Peso legal”.

3) Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o


valor da compra for menor que R$ 20,00; caso contrário, o lucro será de 30%. Elabore
um algoritmo que leia o valor do produto e imprima o valor de venda para o produto.
Representação de Algoritmos
FLUXOGRAMA: repetições

● Problema com repetição contável


○ Comer um cacho de banana

○ Contar de 1 até 10

○ Escrever a frase “Adoro algoritmo em Fluxograma” 10 vezes

○ Liste todos os números ímpares de 1 a 100


Representação de Algoritmos
● Problema com repetição contável
○ Escrever os números ímpares de 1 até 100
Representação de Algoritmos

● Problema com repetição contável


○ Faça o fluxograma dos exemplos abaixo
■ Liste todos os números ímpares de 1 a 100

■ Contar de 1 até 10

■ Escrever a frase “Adoro algoritmo em Fluxograma” 10 vezes

■ Contar de 10 até 1
Representação de Algoritmos

● Características
○ Só é possível utilizar repetição contável se conseguirmos
determinar de antemão quantas repetições são necessárias

○ O computador controlará as repetições

○ Normalmente se deseja acessar o valor da variável que controla a


repetição, a cada iteração
Representação de Algoritmos
FLUXOGRAMA: repetição condicional
● Elementos básicos para representar repetição condicional em
fluxogramas:
Representação de Algoritmos
● Características
○ A condição de controle do loop deve alternar para falso em algum
momento
■ Sem isso, o programa entrará em loop infinito

○ Antes de dar como terminado o algoritmo, é importante testar!


■ Faça uso do Método Chinês

■ Atenção especial para os extremos (início e término do loop)


Representação de Algoritmos

● Método chinês
○ Ler o algoritmo do início ao fim, obedecendo cada uma das
instruções

○ Anotar os valores de cada variável para cada passo do algoritmo

○ Ao final, será possível identificar se alguma instrução está se


comportando de forma inapropriada
Representação de Algoritmos
FLUXOGRAMA: exemplo
● Some todos os números
informados até que o número
zero seja informado
Representação de Algoritmos

FLUXOGRAMA: exemplo

● Faça um algoritmo em fluxograma que some todos os números


digitados pelo usuário, somente, enquanto os números
digitados forem maiores que 5 e menores que 20.
Representação de Algoritmos
FLUXOGRAMA: exercício

● Construa um algoritmo (fluxograma) para dizer se um número


inteiro informado pelo usuário é maior ou menor que zero.

● Utilize o Método Chinês para verificar se o algoritmo está correto


Representação de Algoritmos

PSEUDOCÓDIGO
● Uso de linguagem própria, aproximando-se mais das linguagens de
alto nível, chamado também de PSEUDOLINGUAGEM ou ainda
PORTUGOL. Portugol
Studio
● Forma Geral:

Formato do arquivo: nome_programa.por


Representação de Algoritmos
PSEUDOCÓDIGO (PORTUGOL)
● Etapas:

○ Análise do enunciado do problema

○ Escrita, por meio de regras pré-definidas, os passos a serem seguidos para


sua resolução
● Vantagem:
○ A passagem do algoritmo para qualquer linguagem de programação é quase
imediata, basta conhecer os códigos da linguagem
● Desvantagem:
○ É necessário aprender as regras do pseudocódigo
Representação de Algoritmos //Algoritmo “media”
programa {
funcao inicio () {
real nota1, nota2, media

Qual a finalidade escreva (“Digite a nota 1”)


leia (nota1)
desse algoritmo? escreva (“Digite a nota 2”)
leia (nota2)
media = (nota1 + nota2) / 2
escreva (“Sua média é: ”, media)
}
}
//Algoritmo “multiplicação”
Representação de Algoritmos
programa {
funcao inicio(){
real N1, N2, M // case sensitive

Qual a finalidade escreva (“Digite dois números”)


leia (N1)
desse algoritmo?
leia (N2)
M = N1 * N2
escreva (“Multiplicação = ”, M)
}
}
//Algoritmo “areacirculo”
Representação de Algoritmos
programa {
inclua biblioteca Matematica --> mat
funcao inicio (){
real Area, Raio, potencia

Qual a finalidade escreva ("Entre com o raio: ")


leia (Raio)
desse algoritmo? potencia = [Link](Raio, 2)
Area = Pi*potencia
escreva ("A área do circulo com o raio ",
Raio, " é ", Area)
}
}
Representação de Algoritmos

PSEUDOCÓDIGO : EXEMPLOS
• Algoritmo “Hello World”
• Algoritmo “informações pessoais”
• Algoritmo “operações aritméticas”
• Algoritmo “maior ou menor de idade”
• Algoritmo “cálculo média IFCE”
• Algoritmo “conta de 1 até 100”
Dúvidas?

Você também pode gostar