Algoritmos
Fabrício Costa Santana
[email protected]
http://professorfabricio.net
Plano da Disciplina
• EMENTA
•
•
•
•
•
•
•
•
Declaração de variáveis e constantes
Tipos de variáveis
Instruções de entrada e saída
Tipos de representações de algoritmos
Operadores aritméticos e lógicos
Comandos de decisão
Estruturas de recepção
Vetores e matrizes
Plano da Disciplina
• OBJETIVO GERAL
• Estudar as técnicas de programação, baseando-se no aprendizado
de algoritmos computacionais.
• OBJETIVOS ESPECÍFICOS (Competências/Habilidades –
aprendizagens que serão consolidadas pelos estudantes)
• Resolver problemas computacionais.
• Desenvolver o raciocínio lógico voltado para criação de
programas e permitir o domínio das principais técnicas para a
produção de algoritmos
Avaliações
• UNIDADE I
• INSTRUMENTO
• Prova Individual
• Trabalho em Grupo – Listas de Exercícios
NOTA
Peso 8
Peso 2
• UNIDADE II
• INSTRUMENTO
• Prova Individual
• Trabalho em Grupo – Listas de Exercícios
NOTA
Peso 8
Peso 2
Referências Básicas
• MANZANO & OLIVEIRA. Algoritmos: Lógica para
Desenvolvimento de Programação de Computadores
• FORBELONE & EBERSPACHER. Lógica de Programação
• GUIMARÃES & LAGES. Algoritmos e Estruturas de Dados
• PEREIRA, S.L. Estruturas de Dados Fundamentais
Introdução
• O raciocínio lógico
• O raciocínio lógico na tecnologia da informação: Um esquema
sistemático que define as interações de sinais no equipamento
automático do processamento de dados, ou o computador
científico com o critério e princípios formais de raciocínio e
pensamento
• Segundo Venancio (1997) lógica pode ser definida como sendo
o estudo das leis do raciocínio e do modo de aplicá-las
corretamente na demonstração da verdade. A utilização da
lógica na vida do indivíduo é constante, visto que é ela quem
possibilita a ordenação do pensamento humano (Forbellone,
1993).
Introdução à lógica
É possível trocar uma lâmpada obedecendo a sequência
de ações abaixo?
1)Pegar uma escada;
2)Posicionar a escada
embaixo da lâmpada;
3)Buscar uma lâmpada
nova;
4)Colocar a lâmpada nova;
5)Retirar a lâmpada velha;
6)Subir na escada.
1)Pegar uma escada;
2)Posicionar a escada
embaixo da lâmpada;
3)Buscar uma lâmpada
nova;
4)Subir na escada;
5)Retirar a lâmpada velha;
6)Colocar a lâmpada nova.
Introdução à lógica
André e quatro amigos praticam esportes diferentes. Com base nas dicas
determine o nome e sobrenome de cada homem e o esporte que pratica.
a) João pratica pesca. Um sobrenome é Sr. Soares.
b) O Sr. Saraiva não pratica ciclismo, ele pratica golfe.
c) Nem Davi Silva nem o Sr. Rocha praticam natação.
d) O esporte de Pedro (cujo sobrenome não é Bernardes) é canoagem.
e) Nem o Sr. Bernardes nem Mauro praticam natação.
Nome
André
João
Davi
Pedro
Mauro
Sobrenome
Soares
Bernardes
Silva
Rocha
Saraiva
Esporte
Natação
Pesca
Ciclismo
Canoagem
Golfe
Exercício 1
Respostas Exercício 1
Nome
Emissora
Função
Sérgio
Globo
Câmera
Paulo
TVE
Cenógrafo
Flávio
SBT
Diretor
Carolina
Motorista
Cor
Partida
Chegada
Mauro
Marrom
5º
5º
Nara
Cinza
3º
1º
Laura
Vermelho
1º
4º
Bruno
Branco
4º
3º
Paula
Azul
2º
2º
O problema do bolo
A receita
Ingredientes:
• 1 Lata de leite condensado
• 1 Lata de milho sem a água
• 1 colher (de sopa) de manteiga
• 1 pacote de coco ralado
• 3 ovos
• 1 colher (de sopa) de fermento em pó
Modo de preparo:
• Bata no liquidificador, o milho, o leite condensado, a manteiga, o coco e os ovos.
• Despeje a mistura acima em uma tigela.
• Peneire o fermento e adicione-o à mistura.
• Mexa delicadamente a mistura.
• Em uma fôrma média de bolo, untada e polvilhada com fubá, despeje a massa.
• leve ao forno médio pré-aquecido, por 35 min.
O problema da média
• O problema: exibir a média das notas de um aluno de
matemática do ensino médio, sabendo que o aluno recebe
uma nota em cada unidade e o ano letivo possui 4 unidades.
• Entradas
• Processamento
• Saída
Algoritmo
Compreender o problema
Identificar os dados de entrada
Identificar os dados de saída
Determinar o que é preciso para transformar dados de entrada
em dados de saída:
•
•
•
•
usar a estratégia do dividir-para-conquistar
observar regras e limitações
identificar todas as ações a realizar
eliminar ambiguidades
Construir o algoritmo
Testar o algoritmo
Executar o algoritmo
Dividir-para-conquistar
É conhecido por método descendente (top-down method) ou método
de refinamento passo-a-passo
Consiste em dividir um problema em partes menores (ou
subproblemas) de modo a que seja mais fácil a sua resolução.
Exemplo: Fazer suco de laranja?
•
•
•
•
•
Lavar laranja;
Partir laranja ao meio;
Espremer laranja;
Filtrar o suco;
Servir o suco.
Passo-a-passo, significa que cada passo é completado antes que o
próximo comece. Exemplo: é impossível “ver novela” antes de
executar por inteiro o passo anterior de “ligar a TV”
Características dos Algoritmos
Um algoritmo tem cinco características importantes:
• Finitude: deve sempre terminar após um número finito de passos.
• Definição: cada passo de um algoritmo deve ser precisamente
definido. As ações devem ser definidas rigorosamente e sem
ambiguidades.
• Entradas: deve ter zero ou mais entradas, isto é informações que
são lhe são fornecidas antes do algoritmo iniciar.
• Saídas: deve ter uma ou mais saídas, isto é quantidades que tem
uma relação específica com as entradas.
• Efetividade: deve ser efetivo. Isto significa que todas as
operações devem ser suficientemente básicas de modo que
possam ser em princípio executadas com precisão em um tempo
finito por um humano usando papel e lápis.
Dicas para a criação de
algoritmos
1.
2.
3.
4.
5.
6.
Procure conhecer e compreender, ao máximo, o problema a ser
resolvido;
Identifique e defina os dados que, essencialmente, deverão ser
informados para que o processamento seja realizado com sucesso
(dados de entrada);
Descreva, detalhadamente, o processamento ou a transformação
a ser executada sobre os dados de entrada, em busca dos
resultados desejados (como chegar no objetivo);
Identifique e defina quais serão os dados resultantes do
processamento ou transformação (dados de saída);
Construa o algoritmo que represente a solução encontrada com o
detalhamento necessário para o seu entendimento;
Teste o algoritmo por meio de simulações e efetue as devidas
correções que possam vir a ser necessárias na lógica proposta.
Como representar um
algoritmo
• A descrição narrativa
• O fluxograma: Ex.: diagrama de blocos, diagrama de Chapin
• Linguagem algorítmica (também chamada de pseudocódigo).
Ex.: Português Estruturado
Como representar um
algoritmo
•
•
•
•
•
Linear
Estruturada
Modular
Diagrama de Chapin
Português Estruturado
Estruturada
Linear
Modular
Diagrama de Chapin
Português Estruturado
algoritmo "media"
var
n1, n2, n3, n4, soma, media: real
inicio
leia(n1, n2, n3, n4)
soma <- n1 + n2 + n3 + n4
media <- soma / 4
escreva("Media: ", media)
fimalgoritmo
Tipos de Dados
1. Dados Numéricos:
Tipos Inteiros: nos positivos e negativos.
exemplos: 35 0 -12
Tipos Reais: nos positivos, negativos e fracionários.
exemplos: 9 -12 4.6 -89.726
2. Dados Caracteres :
São sequências contendo letras, números e símbolos especiais.
Deve ser indicado entre aspas (“”).
Também chamado de alfanumérico, literal, string ou cadeia.
exemplos: “Rua Alfa, 52”
“Fone: 211-3456”
Tipos de Dados
3. Dados Lógicos:
Pode representar apenas dois valores: verdadeiro e falso.
Também chamado de booleano.
Deve ser indicado entre pontos.
exemplos:
.Falso.
.F. .N.
.Verdadeiro. .V. .S.
Tipos de Dados
Exercício:
Identifique os tipos de dados presentes na frase abaixo:
Ela tem 8 filhos, pesa 48,3 kg, seu exame de gravidez deu
positivo e pintou numa placa: “Precisa-se de Babás. Urgente!”
Download

Algoritmos - WordPress.com