Buscar

Aula 03 - Noções sobre algorítmos

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 29 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 29 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 29 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

Prévia do material em texto

NOÇÕES DE LÓGICA
UNIVERSIDADE FEDERAL DE ALAGOAS
UNIDADE ACADÊMICA CAMPUS DO SERTÃO
EIXO DAS TECNOLOGIAS
NOÇÕES DE LÓGICA
ALGORITMOS
Prof. Arnaldo dos Santos Júnior
arnaldo@lccv.ufal.br
Noções de Lógica
A lógica (do grego clássico logos, que significa
pensamento, ideia, argumento, relato, razão lógica
ou princípio lógico).
Conceituação e objetivos
A lógica é a ciência do pensamento. Estuda e ensina
a colocar ordem no pensamento.
Determinação da veracidade de operações através
de análises de formas e leis do pensammento.
2
Noções de Lógica
Todo mamífero é um animal.
Todo cavalo é um mamífero.
Exemplo
Premissa I
Premissa II
Portanto, todo cavalo é um animal.
Através de estudo de técnicas de dedução e análise é
possível verificar a validade de argumentos.
Conclusão
3
Noções de Lógica
Lógica no dia-a-dia
Exemplo:
A gaveta está fechada.
Exemplo:
A gaveta está fechada.
A caneta está dentro da gaveta.
Precisamos primeiro abrir a gaveta
para depois pegar a caneta.
4
Noções de Lógica
Uso correto das leis do pensamento, processo de
raciocínio e simbolização formais na programação de
computadores.
Lógica de programação
Objetivos
Racionalidade e o desenvolvimento de técnicas que
cooperem para a produção de soluções logicamente válidas
e coerentes;
Resolução com qualidade de problemas que se deseja
programar.
5
Algoritmos
Algoritmo pode ser definido como uma sequência
lógica de passos que visam atingir um objetivo bem
definido;
Conceitos
definido;
Algoritmo é a descrição de um conjunto de
comandos que, obedecidos, resultam em uma
sucessão finita de ações.
6
Algoritmos
Partir de um ponto inicial e chegar a um ponto final; 
Não ser ambíguo (ter dupla interpretação); 
Poder receber dados externos e ser capaz de retornar 
Características básicas
Poder receber dados externos e ser capaz de retornar 
resultados aos mesmos; 
Ter todas suas etapas alcançáveis em algum momento do 
programa. 
7
Algoritmos
Engenharia de Produção
Otimização de processos em uma indústria; 
Métodos para a racionalização de custos;
Estratégias de controle de estoque de materiais.
Aplicações na engenharia
Estratégias de controle de estoque de materiais.
Engenharia Civil
Resolução de problemas complexos em análise de estruturas;
Modelagem do comportamento de fluidos;
Escoamento de águas em meios porosos.
8
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 1:
Problema: Deseja-se falar com alguém através de um
telefone público. Como proceder?
Solução: Seguir os passos descritos no telefone (algoritmo)
1 – Retirar o telefone do gancho;
2 – Esperar o sinal;
3 – Colocar o cartão;
4 – Discar o número;
5 – Falar ao telefone;
6 – Colocar o telefone no gancho.
9
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 2: Algoritmo para o final de semana
1 – Ver a previsão do tempo;
2 – Se fizer sol2 – Se fizer sol
ir à praia;
Senão
Estudar IC, Geometria, Cálculo ;
3 – Almoçar;
4 – Ver televisão;
5 – Dormir.
10
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 3: Algoritmo para fazer uma prova
1 – Ler a prova;
2 – Pegar a caneta;
3 – Enquanto houver questão em branco e enquanto o tempo3 – Enquanto houver questão em branco e enquanto o tempo
não terminou faça
Se souber fazer a questão
Resolvê-la;
Senão
Pular para a próxima;
4 – Entregar a prova.
11
Algoritmos
Lógica e algoritmos no dia-a-dia
Trocar uma lâmpada
Exemplo 4.1: Algoritmo para trocar uma lâmpada
1 – Pegar uma escada;
2 – Posicionar a escada em baixo 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. S
e
q
u
e
n
c
i
a
ç
ã
o
 
L
i
n
e
a
r
12
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 4.2: Algoritmo para trocar uma lâmpada com teste
1 – Pegar uma escada;
E se a lâmpada não estivesse queimada?
1 – Pegar uma escada;
2 – Posicionar a escada em baixo da lâmpada;
3 – Buscar uma lâmpada nova;
4 – Acionar o interruptor
5 – Se a lâmpada não acender, faça
5.1 – Subir na escada;
5.2 – Retirar a lâmpada velha;
5.3– Colocar a lâmpada nova.
Ação condicional Teste Seletivo
13
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 4.3: Algoritmo para trocar uma lâmpada com teste no início
1 – Acionar o interruptor
Podemos realizar o teste no início (acionar o interruptor)
1 – Acionar o interruptor
2 – Se a lâmpada não acender, faça
2.1 - Pegar uma escada;
2.2 – Posicionar a escada em baixo da lâmpada;
2.3 – Buscar uma lâmpada nova;
2.4 – Acionar o interruptor
2.5 – Subir na escada;
2.6 – Retirar a lâmpada velha;
2.7– Colocar a lâmpada nova.
14
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 4.5: Algoritmo p/ trocar a lâmpada com teste e repetição indefinida
1 – Acionar o interruptor
2 – Se a lâmpada não acender, faça
2.1 - Pegar uma escada;
2.2 – Posicionar a escada em baixo da lâmpada;
E se a lâmpada nova não funcionar?
2.2 – Posicionar a escada em baixo da lâmpada;
2.3 – Buscar uma lâmpada nova;
2.4 – Acionar o interruptor
2.5 – Subir na escada;
2.6 – Retirar a lâmpada velha;
2.7– Colocar a lâmpada nova.
3 - Se a lâmpada não acender, faça
3.1 – Retirar a lâmpada queimada;
3.2 – Colocar outra lâmpada nova;
4 - Se a lâmpada não acender, faça ......... Até quando?
15
Algoritmos
Lógica e algoritmos no dia-a-dia
Exemplo 4.6: Algoritmo p/ trocar a lâmpada com teste e condição de parada
1 – Acionar o interruptor
2 – Se a lâmpada não acender, faça
2.1 - Pegar uma escada;
Devemos realizar a troca de lâmpadas até encontrar uma que funcione.
2.1 - Pegar uma escada;
2.2 – Posicionar a escada em baixo da lâmpada;
2.3 – Buscar uma lâmpada nova;
2.4 – Acionar o interruptor
2.5 – Subir na escada;
2.6 – Retirar a lâmpada velha;
2.7 – Colocar a lâmpada nova.
2.8 – Enquanto a lâmpada não acender, faça
2.8.1 – Retirar a lâmpada queimada;
2.8.2 – Colocar uma lâmpada nova;
Condição de parada
16
Algoritmos
Forma textual, usando o português coloquial;
Forma gráfica. 
Formas de representação
Algoritmo
InícioInício
Sequência de operações
.
.
.
.
Fim da sequência.
Fim do algoritmo.
Forma textual Forma gráfica
17
Algoritmos
De que maneira devemos escrever os algoritmos?
Por meio da forma gráfica?
Linguagens de programação
Como resolver problemas 
Através da forma textual?
Utilizando linguagem de máquina?
Como resolver problemas 
por meio de algoritmos com 
o computador?
18
Algoritmos
Linguagens de programação: programação é feita
através de uma notação matemática e de algumas
palavras reservadas. As linguagens de programação são
bem mais simples e podem ser facilmente entendidas e
utilizadas pelos usuários do computador.
Linguagens de programação
utilizadas pelos usuários do computador.
Compiladas
Interpretadas
Linguagem de 
programação Compilador
Linguagem 
de máquina
Linguagem de 
programação
Interpreta e executa 
as instruções
19
Algoritmos
Em um lado de um rio se encontram, você, um lobo um
coelho e uma cenoura. Você possui uma canoa que te
permite levar apenas um deles de cada vez, sabendo que
caso o lobo fique sozinho com o coelho o lobo o come e
o mesmo acontece quando o coelho fica sozinho com a
Desafios de lógica e algoritmos
o mesmo acontece quando o coelho fica sozinho com a
cenoura. Como fazer para atravessar todos eles em
segurança para a outra margem do rio?
20
Algoritmos
Elabore um algoritmo que mova os discos da haste Apara haste C. Pode-se mover um disco de cada vez
para qualquer haste, contanto que nunca seja
colocado um disco maior sobre o menor.
Desafios de lógica e algoritmos
colocado um disco maior sobre o menor.
21
Algoritmos
Em um algoritmo um comando que não for do
entendimento do destinatário terá de ser
desdobrado em novos comandos, que constituirão
um refinamento do comando inicial.
Refinamentos sucessivos
um refinamento do comando inicial.
Algoritmo
Início
Comando
Fim do comando.
Fim do algoritmo.
Algoritmo
Início
Comando1
Comando2
Comando3
Fim do comandos.
Fim do algoritmo.
Refinamento
22
Algoritmos
Algoritmo para calcular o salário líquido de um
funcionário.
Refinamentos sucessivos: Exemplo
Algoritmo
Leia os dados do funcionário
Determine o salário
Escreva o salário
Fim do algoritmo.
C
o
m
a
n
d
o
s
23
Algoritmos
O comando “Determine o salário” pode ser refinado:
Refinamentos sucessivos: Exemplo
Ref. Determine o salárioRef. Determine o salário
Calcule as vantagens
Calcule as deduções
SALÁRIOLIQUIDO� VANTAGENS - DEDUÇÕES
Fim Ref.
24
Algoritmos Estruturados
Programação estruturada para a construção de
algoritmos legíveis, flexíveis e de fácil manutenção.
Desenvolvimento de algoritmos por etapa/refinamentos
Introdução
Desenvolvimento de algoritmos por etapa/refinamentos
sucessivos
Número limitado de estruturas de controle de fluxo;
Transformação de refinamentos sucessivos em módulos.
25
Algoritmos Estruturados
Técnica para resolver algoritmos com uso de refinamentos
sucessivos (módulos);
Módulo: grupo de comandos, constituindo um trecho do
algoritmo, com uma função bem definida
Exemplo: Versão final do algoritmo para o cálculo do salário
Modularização
Exemplo: Versão final do algoritmo para o cálculo do salário
líquido de um funcionário.
26
Algoritmos Estruturados
Modularização
Ref. Determine o salário
Calcule as vantagens
Calcule as deduções
SALÁRIOLIQUIDO� VANTAGENS - DEDUÇÕES
Fim Ref.
Módulo {Cálculo das vantagens}Módulo {Cálculo das vantagens}
Salário bruto = Nhoras x SalárioHora
Salário família = Nfilhos x ValorPorFilho
VANTAGENS = Salário bruto + Salário família
Fim Módulo
Módulo {Cálculo das deduções}
INSS = Salário bruto x 0,08
IRPF = Salário bruto x Taxa
DEDUÇÕES = INSS + IRPF
Fim Módulo
27
Algoritmos Estruturados
Modularização
Algoritmo: Determine o salário
Ative o módulo “Cálculo das vantagens”Ative o módulo “Cálculo das vantagens”
Ative o módulo “Cálculo das deduções”
SALÁRIOLIQUIDO� VANTAGENS - DEDUÇÕES
Escreva SALÁRIOLIQUIDO
Fim Algoritmo
28
Algoritmos Estruturados
Modularização
Descrição hierárquica da Modularização
Módulo principal
Módulo Vantagens Módulo Deduções
29

Continue navegando