0% acharam este documento útil (0 voto)
7 visualizações

PD - Algoritmos Programas

Enviado por

elisriiana
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)
7 visualizações

PD - Algoritmos Programas

Enviado por

elisriiana
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
Você está na página 1/ 34

1

PROCESSAMENTO DE DADOS
Prof.: Danilo Coimbra
([email protected])
Algoritmos e Programas – 2024.1
Algoritmos
2

 Arte de desenvolver uma sequênciade instruções, ou


algoritmos!

 Definição de Algoritmos
 Matemática: processo de cálculo ou de resolução de um
grupo de problemas semelhantes, em que se estipulam, com
generalidade e sem restrições, regras formais para a
obtenção do resultado ou da solução do problema.

 Computação: conjunto de regras e operações bem


definidas e ordenadas, destinadas à solução de um
problema ou de uma classe de problemas, em um número
finito de etapas.
Algoritmos
3

 Um algoritmo correto deve possuir 3 qualidades:

1. Cada passo do algoritmo deve ser uma instrução que


possa ser realizada

2. A ordem dos passos deve ser precisamente


determinada

3. O algoritmo deve ter fim

Exemplos?
Algoritmos
4

 Portanto, é necessário que o algoritmo/programa


satisfaça as seguintes exigências:
 Asinstruções devem ser claras e não devem conter
ambiguidades

 Não pode haver dubiedade em relação a próxima


ação a ser realizada após a execução de uma
determinada instrução

 Todas as instruções devem ser executadas num tempo


finito
Algoritmos
5

 A execução de um algoritmo pode precisar de


“dados”
 Uma receita de bolo precisa dos ingredientes

 Após a execução de um algoritmo a tarefa para


qual ele foi criado deve ser realizada por
completo
A realização da tarefa é chamada de saída do
algoritmo
 Receita de bolo: a saída é o bolo
 Execução de uma partitura musical: a saída é o som da
melodia
Algoritmos
6

Desenvolvendo o algoritmo

 Queremos aprender a desenvolver algoritmos para resolver


problemas
 Dado um problema, determinar uma sequência de instruções
para um processador tal que, fornecidos os dados de entrada, a
execução da sequência de instruções resulte, como saída, a
solução do problema
 O raciocínio que visa ao desenvolvimento de algoritmos é
chamado lógica de programação
 Como saber se já temos um nível suficiente de detalhes no
algoritmo?
 Isso depende do agente que irá executar o algoritmo
 Os computadores têm um conjunto muito limitado de instruções e
o algoritmo deve ser expresso nos termos dessas instruções.
Algoritmos
7

 Linguagem de Programação
 Linguagens
intermediárias entre linguagem de
máquina e a linguagem que nós usamos
◼ Ex.: C++, C, Java, Pascal, Python, R,..

 Compilador
 Programa que transforma um código, escrito em
uma linguagem de programação, em um código
de linguagem de máquina
Lógica de Programação
8

 Raciocínio que visa o desenvolvimento de algoritmos

 Exemplo 1
Lógica de Programação
9

 Exemplo 2

 Problema: Uma pessoa pretende atravessar de barco para a


outra margem do rio e tem a seguinte carga:
◼ Uma raposa
◼ Uma dúzia de galinhas
◼ Um saco de milho
 Observações:
◼ O barco comporta somente a pessoa e uma das cargas
◼ Não pode deixar sozinho a raposa e as galinhas, nem as galinhas e o
milho
 Como fazer?
Lógica de Programação
10

1. Atravesse as galinhas
2. Retorne sozinho
3. Atravesse a raposa
4. Retorne com as galinhas
5. Atravesse o milho
6. Retorne sozinho
7. Atravesse as galinhas
Lógica de Programação
11

 Lógica de Programação (Exemplo 3)


 A figura mostra a localização dos apartamentos de um edifício de três pavimentos que tem apenas
alguns deles ocupados:

Sabe-se que:
- Maria não tem vizinhos no seu andar, e seu apartamento localiza-se o mais a leste possível;
- Taís mora no mesmo andar de Renato, e dois apartamentos a separam do dele;
- Renato mora em um apartamento no segundo andar exatamente abaixo do de Maria;
- Paulo e Guilherme moram no andar mais baixo, não são vizinhos e não moram abaixo de um
apartamento ocupado.
- No segundo andar estão ocupados apenas dois apartamentos.
Se Guilherme mora a sudoeste de Tais,
o apartamento de Paulo pode ser:

a) 1 ou 3
b) 1 ou 4
c) 3 ou 4
d) 3 ou 5
e) 4 ou 5
Algoritmos
12

Representação de algoritmos

 Forma não computacional


 Receita passo a passo
 Fluxogramas (fluxo + grama)
 Diagrama para representação de um algoritmo
 Representação gráfica, por símbolos especiais, da
definição, análise ou método de solução de um problema
 Pseudo código
 Código em linguagem natural que se aproxima de uma
linguagem de programação de alto nível
Algoritmos
13

Fluxograma
Algoritmos
14

Fluxograma – algoritmo para trocar pneu do carro


Algoritmos
15

Fluxograma – algoritmo para trocar pneu do carro


Algoritmos
16

Fluxograma – algoritmo para trocar pneu do carro


Algoritmos
17

Fluxograma – algoritmo para trocar pneu do carro


Algoritmos
18

Pseudo Código

 Características:

 Utiliza
certas palavras-chave, que indicam a natureza
da operação a ser realizada

 Utilizatabulação no começo de cada passo, para


ressaltar a estrutura do algoritmo
Algoritmos
19

Pseudo Código – Exemplos


Exemplo: soma de dois números

Início
Pegar primeiro número
Pegar segundo número
Somar o primeiro com o segundo número
Mostrar o resultado
Fim
Algoritmos
20

Pseudo Código – Exemplos

Algoritmo para trocar pneu de um carro

Início
Trocar Pneu
Fim

 E se o estepe estiver vazio?


 Isto traz a necessidade de uma decisão entre dois fluxos
Algoritmos
21

Pseudo Código – Exemplos

Início
se <o estepe está vazio> então
chamar borracheiro
senão

mudar o pneu

Fim se
Fim
Algoritmos
22

Pseudo Código – Exemplos

Início
se <o estepe está vazio> então
chamar borracheiro
senão
A atividade de mudar o pneu pode
mudar o pneu
ser mais detalhada
Fim se
Fim
Algoritmos
23

Pseudo Código – Exemplos

Início
se <o estepe está vazio> então
chamar borracheiro
senão
levantar o carro
desparafusar a roda
remover a roda
colocar o estepe
parafusar a roda
abaixar o carro
fim se
Fim
Algoritmos
24

Pseudo Código – Exemplos

Início
se <o estepe está vazio> então
chamar borracheiro
senão
levantar
A atividade o carro
de desparafusar a roda
pode serdesparafusar a roda
mais detalhada
remover a roda
A atividade de parafusar
colocar o estepe a roda
pode ser mais detalhada
parafusar a roda
abaixar o carro
fim se
Fim
Algoritmos
25

Início
Pseudo Código se <o estepe está vazio> então
Exemplos senão
chamar borracheiro

levantar o carro
desparafusar o 1o parafuso
desparafusar o 2o parafuso
desparafusar o 3o parafuso
desparafusar o 4o parafuso
remover a roda
colocar o estepe
parafusar o 1o parafuso
parafusar o 2o parafuso
parafusar o 3o parafuso
parafusar o 4o parafuso
abaixar o carro
fim se
Fim
Algoritmos
26

Início
Pseudo Código se <o estepe está vazio> então
Exemplos senão
chamar borracheiro

levantar o carro
desparafusar o 1o parafuso
A repetição é (in)conveniente
desparafusar o 2o parafuso
desparafusar o 3o parafuso
desparafusar o 4o parafuso
remover a roda
colocar o estepe
parafusar o 1o parafuso
A repetição é (in)conveniente
parafusar o 2o parafuso
parafusar o 3o parafuso
parafusar o 4o parafuso
abaixar o carro
fim se
Fim
Algoritmos
27

Pseudo Código – Exemplos


Início
se <o estepe está vazio> então
chamar borracheiro
senão
levantar o carro
enquanto <houver parafuso para desapertar> faça
desparafusar a roda
fim enquanto
remover a roda
colocar o estepe
enquanto <houver parafuso para apertar> faça
parafusar a roda
fim do enquanto
abaixar o carro
fim se
Fim
Programas
28

 O que é um Programa?
 Sequência de instruções que serão executadas pelo
computador
 Descreve, portanto, algoritmos!

 Execução de Programas
O computador consegue executar código de máquina
◼ Ou seja, programas escritos em linguagem de máquina
Programas
29

 Código fonte?!
 Pessoasgeralmente trabalham com código-fonte
 programas escritos em uma linguagem de
programação
◼ (mais fácil de entender)

 Exemplos
 C++, Java, Python, C, Ruby, Javascript, Lua, ...
Programas
30
Compilador e Interpretador
 Compilador ou interpretador
 São Programas que transformam o código-fonte em
linguagem de máquina

 Compilador
◼ Realiza de uma vez só, gravando o código de máquina em
arquivo executável
 Interpretador
◼ transforma
o código enquanto o executa
◼ Um programa que é interpretado também é chamado de
script
Instruções
31

As linguagens de programação possuem os seguintes


tipos de instruções:

 Entrada de dados: lê dados do teclado, arquivo, rede,


relógio, camêra, entre outros dispositivos
 Saída de dados: apresenta na tela ou arquivo, envia
dados via rede, emite som, ...
 Processamento de dados: operações matemáticas

 Condicionais: permite executar ou não as instruções a


depender de uma condição
 Repetição: permite re-executar instruções
Exemplo de Programa
32

 Faça um algoritmo para calcular a idade de uma


pessoa (em português):
Exemplo de Programa
33

 Faça um algoritmo para calcular a idade de uma


pessoa (em português):

1. Pergunte o ano atual


2. Pergunte o ano de nascimento da pessoa
3. Pergunte se a pessoa já fez aniversário no ano atual
4. Calcula a idade (ano atual menos ano do nascimento)
5. Se a pessoa ainda não fez aniversário, subtraia 1 da idade
6. Diz a idade, ou seja, o resultado do cálculo
Exemplo de Programa
34

 Programa em Python

# Entrada
ano_atual = int(input())
ano_nascimento = int(input())
ja_fez_aniversario = input() == "sim"
# Processamento
idade = ano_atual - ano_nascimento
if not ja_fez_aniversario:
idade = idade - 1
# Saída
print(idade)

Você também pode gostar