SlideShare une entreprise Scribd logo
1  sur  64
LÓGICA DE PROGRAMAÇÃO
EEEP. Gov. Virgílio Távora
Redes de Computadores
Prof. David Silva
ALGORITMO
 Adquirir competência:
• Desenvolver algoritmos através de divisão modular e
refinamentos sucessivos.
• Ler, articular e interpretar símbolos e Algoritmos
• Compreender os conceitos fundamentais de
algoritmos como forma de solução de problemas.
• Saber utilizar as estruturas de dados fundamentais
para a construção de algoritmos consistentes, em
português estruturado e em uma linguagem de
programação.
OBJETIVO DA DISCIPLINA
CRITÉRIOS DE PARTICIPAÇÃO
Introdução à
lógica de
Programação
Fase1
Procedimentos
e Funções
Fase 3
Construção
de Algoritmos
Fase 2
Resolução de
Problemas
Fase 4
REFERÊNCIAS BIBLIOGRÁFICAS
Algoritmos e Lógica de Programação – THOMSON – Marcos Antônio Furlan de Souza, Marcelo Marques
Gomes, Marcio Vieira Soares, Ricardo Concilio.
DEITEL, Harvey M.; DEITEL, Paul J. Java como Programar 8ª Ed. Editora Pearson.
Fundamentos da Programação de Computadores – Algoritmos, Pascal, C/C++, JAVA 2 Edição –
Pearson_Prentice Hall – Ana Fernanda Gomes Ascencio, Edilene Aparecida Veneruchi de Campos.
Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo:
Forbellone, André Luiz Villar - MAKRON, 1993.
PUGA, Sandra; RISSETTI Gerson Lógica de Programação e Estruturas de Dados. Editora Pearson.
PUGA, Sandra; RISSETTI Gerson. Lógica de Programação e Estruturas de Dados com aplicações em Java.
Editora Pearson.
GOMES, Ana F.; VENERUCHI, Edilene A.C. Fundamentos da programação de computadores 2ª Ed. Editora
Pearson.
VILLAR André Luiz, EBERSPACHER Henri F. Lógica de programação a construção de algoritmos e estruturas
de dados 3ª Ed. Editora Pearson.
GOMES, Ana F.; VENERUCHI, Edilene A.C. Fundamentos da programação de computadores 2ª Ed. Editora
Pearson.
AVALIAÇÕES AV1
60% (de 0 a 6 pontos)
40% (de 0 a 4 pontos) atividade ou
trabalho.
PARCIAL
PRÁTICA OU TEÓRICA
Atividade extra para quem não
atingiu a média.
RECUPERAÇÃO
1
2
3
AVALIAÇÕES AV2
60% (de 0 a 6 pontos)
40% (de 0 a 4 pontos) atividade ou
trabalho.
PARCIAL
PRÁTICA OU TEÓRICA
Atividade extra para quem não
atingiu a média.
RECUPERAÇÃO
1
2
3
O Que é Lógica de
programação?
Ela nos ensina a usar corretamente as leis do
pensamento.
Lógica trata da correção do pensamento.
É a arte de pensar corretamente.
1
2
3
Pode mostrar um conjunto de regras racionais
para obtenção de um conhecimento.
4
Lógica estuda a “correção
do pensamento”.
Lógica é a “arte de bem pensar”, que é a
“ciência das formas do pensamento”.
Lógica tem em vista a “ordem da
razão”.
5
6
7
Lógica estuda e ensina
a colocar “ordem no pensamento”.
8
O filósofo grego Aristóteles é considerado o criador
da lógica, em sua época denominava-se razão,
depois que a palavra lógica começou a ser utilizada,
esta tem origem do grego logos que significa
linguagem racional.
Utilizamos a lógica de forma natural em nosso dia-a-dia.
Por exemplo:
• Sei que o livro está no armário;
• Sei que o armário está fechado;
• Logo, concluo que tenho de abrir o armário para pegar o livro.
Premissa: É um conjunto de uma ou mais de uma sentença declarativa que é acompanhada
de uma outra frase declarativa que é a conclusão.
Utilizamos a lógica de forma natural em nosso dia-a-dia.
Por exemplo:
Vamos observar neste exemplo as premissas e os pontos os quais
levam a conclusão deste fato.
1ª. (premissa) Sei que o A está no B.
2ª. (premissa) Sei que o B está fechado.
3ª. (conclusão) Logo, concluo que tenho de abrir o armário para pegar o
livro.
Sendo A o livro ou qualquer outra coisa que tenho
que pegar em B (armário).
Tenho o conhecimento prévio de que o que quero
pegar está no armário e o mesmo encontra-se
fechado.
Neste exemplo do dia-a-dia tenho duas premissas que através
delas chego a uma conclusão.
Sei que sou mais velho que João. (premissa)
Sei que João é mais velho que José. (premissa)
Então, concluo que eu sou mais velho que José. (conclusão)
Neste exemplo só consigo chegar a uma conclusão de que sou
mais velho que alguém se existirem as duas premissas, só com
apenas uma não conseguiria chegar a uma conclusão.
Exercitando:
Sejam os seguintes fatos:
 Todos os filhos de José são mais altos do que Maria.
 Antônio é filho de José.
Então, o que podemos concluir logicamente?
Exercitando:
Considere os fatos abaixo:
 Pedro é aluno da EEEP.
 Para ser aprovado, um aluno da EEEP precisa obter nota maior
ou igual a 6,0 e comparecer a mais de 75% das aulas.
 Pedro compareceu a todas as aulas e obteve nota igual a 8,0.
Então, o que podemos concluir logicamente?
DESAFIOS:
Através das premissas a seguir, assinale as sentenças que correspondem
à conclusão correta.
 Se o semáforo com a luz vermelha é para o motorista parar e o verde
para seguir, estando eu a pé para atravessar a rua então concluo que:
a) Posso atravessar a rua com a luz vermelha.
b) O semáforo tem duas luzes.
c) Só devo atravessar a rua com a luz verde.
DESAFIOS:
Através das premissas a seguir, assinale as sentenças que correspondem
à conclusão correta.
 Se o semáforo com a luz vermelha é para o motorista parar e o verde
para seguir, estando eu a pé para atravessar a rua então concluo que:
a) Posso atravessar a rua com a luz vermelha.
b) O semáforo tem duas luzes.
c) Só devo atravessar a rua com a luz verde.
DESAFIOS:
 Patos são animais. Patos têm duas patas. Logo:
a) Todo o animal tem duas patas.
b) Patos têm duas patas.
c) Patos tem bico.
DESAFIOS:
 Patos são animais. Patos têm duas patas. Logo:
a) Todo o animal tem duas patas.
b) Patos têm duas patas.
c) Patos tem bico.
DESAFIOS:
 Desafio dos nove pontos o objetivo é traçar quatro
linhas retas passando por todos os nove pontos, sem
tirar o lápis/caneta do papel. Para facilitar o raciocínio e
a resolução, marque os nove pontos em uma folha de
papel e tente resolver.
O Que é Algoritmos?
Pode ser definido como uma sequência de
passos que visam atingir um
objetivo bem definido.
É formalmente uma sequência finita de passos
que levam a execução de uma tarefa.
Estas tarefas não podem ser redundantes nem
subjetivas na sua definição, devem ser claras e
precisas.
1
2
3
Pode mostrar um conjunto de regras racionais
para obtenção de um conhecimento.
4
O algoritmo é um conjunto de passos para executar uma
tarefa. (Receita).
Na medida em que precisamos especificar uma
sequência de passos, precisamos utilizar ordem, “pensar
com ordem”, portanto precisamos utilizar lógica.
A formulação de um algoritmo pode ser descrita como
um texto contendo instruções que serão executadas em
uma ordem determinada.
5
6
7
Na computação um algoritmo é uma sequência precisa
que pode ser utilizada por um computador para a solução
de um problema.
8
• O algoritmo é composto por um conjunto finito
de passos, cada um requerendo uma ou mais
instruções.
• Cada uma destas instruções, também chamadas
de operações, deve ser perfeitamente definida e
clara.
Por que é importante fazer um algoritmo?
 Tem por objetivo representar mais fielmente o raciocínio
envolvido na Lógica de Programação;
 Permite-nos abstrair de uma série de detalhes computacionais,
que podem ser acrescentados mais tarde;
 Uma vez concebida uma solução algorítmica para um
problema, esta pode ser traduzida para qualquer linguagem de
programação.
Algoritmo para chupar uma bala
Pega a bala
1 2 3 4
Retira o papel
Coloca a bala
na boca
Chupa a bala
Joga o papel
fora
5
Algoritmo para trocar uma lâmpada
Pegar uma
escada
1 2 3 4
Posicionar a
escada
Buscar uma
nova lâmpada
Subir na
escada
Retirar
lâmpada velha
5 6 7 8
Colocar
lâmpada nova
Descer da
escada
Guardar
escada
Algoritmo para trocar uma lâmpada
Pegar uma
escada
1 2 3 4
Posicionar a
escada
Buscar uma
nova lâmpada
Subir na
escada
Retirar
lâmpada velha
5 6 7 8
Colocar
lâmpada nova
Descer da
escada
Guardar
escada
E se a lâmpada não estivesse
queimada?
• A execução das ações conduziria a uma troca,
independentemente de a lâmpada estar ou não
queimada, porque não foi prevista essa
possibilidade em sua construção.
• A solução seria acrescentar um teste, a fim de
verificar se a lâmpada está ou não queimada.
A sequência seria:
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
Subir na escada;
Retirar a lâmpada velha;
Colocar a lâmpada nova.
 Agora estamos ligando algumas ações à condição lâmpada
não acender, ou seja, se esta condição for verdadeira
(lâmpada queimada) efetuaremos a troca da lâmpada,
seguindo as próximas ações.
 Se a condição lâmpada não acender for falsa (a lâmpada
está funcionando), as ações relativas à troca da lâmpada
não serão executadas, e a lâmpada (que está em bom
estado) não será trocada.
A sequência melhorada:
1. Acionar o interruptor.
2. Se a lâmpada não ascender, então:
2.1- Pegar escada;
2.2- Posicionar escada;
2.3- Buscar uma lâmpada nova;
2.4- Subir na escada;
2.5- Retirar lâmpada velha
2.6- Colocar lâmpada nova
DESAFIO:
1. Crie uma sequência lógica para tomar banho:
2. Descreva com detalhes a sequência lógica para Trocar um
pneu de um carro.
3. Faça um algoritmo para trocar uma lâmpada. Descreva com
detalhes:
Tipos de Algoritmos
Os tipos de algoritmos mais usados são:
1- Descrição narrativa
2- Fluxograma e Pseudocódigo ou
Portugol.
Tipos de Algoritmos
Descrição Narrativa
Utiliza linguagem natural
Vantagem
 Não é necessário
aprender
nenhum conceito
novo.
 É como
estivéssemos
falando ou
escrevendo os
detalhes de algo
para outra pessoa
 Permite várias
interpretações,
dificultando a
transcrição para
programa
Desvantagem
Descrição Narrativa
Exemplo
 Ler dois números e calcular a média:
1 Ler os dois números.
2 Calcular a média.
3 Mostrar o resultado da média.
Fluxograma
Utiliza elementos gráficos
Vantagem
 Entendimento
de gráficos é
mais fácil que
de textos.
 Necessário
aprender
simbologia e
não apresenta
detalhes para
transcrever
para programa.
Desvantagem
Fluxograma
Exemplo
Fluxograma
Pseudocódigo ou Portugol
Utiliza uma linguagem com regras definidas com
uma estrutura formal também conhecido como
português estruturado.
Vantagem
 Transcrição
para
linguagem de
programação é
praticamente
imediata.
 Necessário
aprender
regras.
Desvantagem
Pseudocódigo ou Portugol
 O portugol é uma forma de escrita estruturada,
cuja finalidade é descrever, em uma sequência
lógica, os passos para a resolução de um
problema.
 Nesta técnica os algoritmos são escritos em
uma linguagem simples que não possui muitas
regras para sua escrita.
 Os algoritmos escritos em portugol devem ser
escritos de maneira que todas as linhas
contenham uma única instrução
Pseudocódigo ou Portugol
Exemplo: Ler dois números e determinar qual dele
é o maior.
Algoritmo Maior
Inicio
Escrever (‘Digite o primeiro número’)
Ler (num1)
Escrever (‘Digite o segundo número’)
Ler (num2)
Se num1>num2 então
Escrever (‘O maior número é ‘, num1)
Se num2>num1 então
Escrever (‘O maior número é ‘, num2)
Se num1=num2 então
Escrever (‘Os números são iguais’)
FimMaior
Pseudocódigo ou Portugol
Exemplo
REGRAS PARA CONSTRUÇÃO DO ALGORITMO
Para escrever um algoritmo precisamos descrever a
sequência de instruções, de maneira simples e objetiva.
Para isso utilizaremos algumas técnicas:
• Usar somente um verbo por frase.
• Imaginar que você está desenvolvendo um algoritmo
para pessoas que não trabalham com informática.
• Usar frases curtas e simples.
• Ser objetivo.
• Procurar usar palavras que não tenham sentido dúbio
REGRAS PARA CONSTRUÇÃO DO ALGORITMO
Para escrever um algoritmo precisamos descrever a
sequência de instruções, de maneira simples e objetiva.
Para isso utilizaremos algumas técnicas:
• Usar somente um verbo por frase.
• Imaginar que você está desenvolvendo um algoritmo
para pessoas que não trabalham com informática.
• Usar frases curtas e simples.
• Ser objetivo.
• Procurar usar palavras que não tenham sentido dúbio
FASES
Ao montar um algoritmo, precisamos primeiro dividir o
problema apresentado em três fases fundamentais.
Entrada: São os dados necessários para a resolução do
problema proposto;
Processamento: São os processamentos utilizados para
chegar ao resultado final;
Saída: São os dados processados apresentando o resultado
para o problema proposto;
EXEMPLO DE ALGORITMO
Imagine o seguinte problema:
Calcular a média final dos alunos da 3ª Série. Os alunos
realizarão quatro provas: P1, P2, P3 e P4.
Onde: P1+P2+P3+P4
Média Final = 4
EXEMPLO DE ALGORITMO
a) Quais são os dados de entrada?
b) Qual será o processamento a ser utilizado?
c) Quais serão os dados de saída?
Para montar o algoritmo proposto, faremos três perguntas:
SEQUÊNCIA DE EXECUÇÃO
a) Receba a nota da prova1.
b) Receba a nota de prova2.
c) Receba a nota de prova3.
d) Receba a nota da prova4.
e) Some todas as notas e divida o resultado por 4.
f) Mostre o resultado da divisão.
Pseudocódigo no Portugol
Pseudocódigo no Portugol
Identificação do algoritmo: Todo algoritmo ele deve
ser identificado, abaixo algumas regras básicas:
 Não utilizar espaços entre as letras ou caracteres especiais como
acentos, símbolos (@#%&*?:/) entre outros.
 Para identificar um algoritmo com duas palavras, por exemplo “calcular
media“ usar o underline o correto ficaria calcular_media.
 Não utilizar palavras reservadas como as que são utilizadas para
representar ações especificas como ler, variavel, escrever no portugol
ide as palavras reservadas são destacadas em negrito.
 Não utilizar números no inicio da identificação do algoritmo como, por
exemplo; “1exemplo” o correto seria “exemplo1”.
 Usar nomes coerentes para identificação de algoritmos, nomes os quais
possam identificar o que o algoritmo vai fazer.
Declaração de variáveis:
 As variáveis que serão utilizadas na resolução de problemas,
devem ser declaradas, que são as informações relacionadas à
resolução do problema, com relação a variáveis iremos ver em
detalhes nas próximas aulas.
Corpo do algoritmo:
 No corpo do algoritmo deve ser escrito todos os passos para a
resolução de problemas, como por exemplo:
 Entrada de valores para as variáveis.
 Operações de atribuição tais como lógicas e aritméticas.
 Laços de repetição.
 Exibição de resultados.
Mas o que são variáveis ?
Estas devem receber nomes para poderem ser referenciadas e
modificadas quando necessário.
Um programa deve conter declarações que especificam de que tipo
são as variáveis que ele utilizará e às vezes um valor inicial.
São os elementos básicos que um programa manipula. Uma
variável é um espaço reservado na memória do computador
para armazenar um tipo de dado determinado.
1
2
3
Existe vários tipos de variáveis, como por exemplo:
Inteiros, reias, caracteres e outros.
Tipos de dados básicos usados em pseudocódigo
Os principais tipos de dados que iremos utilizar em pseudocódigo
usando o software Portugol ide,
Atribuição de valores.
No portugol ide utilizamos este símbolo = para atribuir valor a uma
variável.
Exemplo:
nota1 = 10
nota2 = 8
OU
media = (nota1 + nota2)/2
Escrevendo e lendo dados
Para escrever algo utilizamos a palavra escreva, se quisermos
escrever algum texto digitamos o código:
escreva(“Mensagem a ser exibida”)
Se for uma variável então digitamos:
escreva e o nome da variável declarada.
Para ler uma variável que recebeu uma entrada do usuário
digitamos a palavra:
ler acompanhada do nome da variável declarada.
Importância da Análise de Processos
CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, infographics &
images by Freepik and illustrations by Storyset.
Obrigado!
Você tem alguma pergunta?
francisco.david2@prof.ce.edu.br
(88) 99445-7286

Contenu connexe

Tendances

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosMessias Batista
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanMétodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanRenan Gustavo
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidosHAROLDO MIRANDA DA COSTA JR
 
Aula3 operaçoes mon_polinom1
Aula3 operaçoes mon_polinom1Aula3 operaçoes mon_polinom1
Aula3 operaçoes mon_polinom1Marcia Roberto
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CAdriano Teixeira de Souza
 
Apresentação Método de Monte Carlo
Apresentação Método de Monte CarloApresentação Método de Monte Carlo
Apresentação Método de Monte CarloAngelo Polotto
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicionalAriel Rennó Chaves
 

Tendances (20)

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Algoritmos - capítulo 1
Algoritmos - capítulo 1Algoritmos - capítulo 1
Algoritmos - capítulo 1
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenanMétodos Iterativos - Gauss-Jacobi - Part II - @professorenan
Métodos Iterativos - Gauss-Jacobi - Part II - @professorenan
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
 
Notação científica
Notação científicaNotação científica
Notação científica
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Aula3 operaçoes mon_polinom1
Aula3 operaçoes mon_polinom1Aula3 operaçoes mon_polinom1
Aula3 operaçoes mon_polinom1
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 
Apresentação Método de Monte Carlo
Apresentação Método de Monte CarloApresentação Método de Monte Carlo
Apresentação Método de Monte Carlo
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicional
 

Similaire à 01-Lógica de Programação .pptx (20)

Algoritmos e Programação
Algoritmos e ProgramaçãoAlgoritmos e Programação
Algoritmos e Programação
 
Forb.cap1
Forb.cap1Forb.cap1
Forb.cap1
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Aula1
Aula1Aula1
Aula1
 
Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptx
 
Algoritmos e Programação_01
Algoritmos e Programação_01Algoritmos e Programação_01
Algoritmos e Programação_01
 
Cap04
Cap04Cap04
Cap04
 
Cap04
Cap04Cap04
Cap04
 
Cap04
Cap04Cap04
Cap04
 
Introdução
IntroduçãoIntrodução
Introdução
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptx
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Python bge
Python bgePython bge
Python bge
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Aula 1
Aula 1Aula 1
Aula 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula01
Aula01Aula01
Aula01
 

01-Lógica de Programação .pptx

  • 1. LÓGICA DE PROGRAMAÇÃO EEEP. Gov. Virgílio Távora Redes de Computadores Prof. David Silva ALGORITMO
  • 2.  Adquirir competência: • Desenvolver algoritmos através de divisão modular e refinamentos sucessivos. • Ler, articular e interpretar símbolos e Algoritmos • Compreender os conceitos fundamentais de algoritmos como forma de solução de problemas. • Saber utilizar as estruturas de dados fundamentais para a construção de algoritmos consistentes, em português estruturado e em uma linguagem de programação. OBJETIVO DA DISCIPLINA
  • 3. CRITÉRIOS DE PARTICIPAÇÃO Introdução à lógica de Programação Fase1 Procedimentos e Funções Fase 3 Construção de Algoritmos Fase 2 Resolução de Problemas Fase 4
  • 4. REFERÊNCIAS BIBLIOGRÁFICAS Algoritmos e Lógica de Programação – THOMSON – Marcos Antônio Furlan de Souza, Marcelo Marques Gomes, Marcio Vieira Soares, Ricardo Concilio. DEITEL, Harvey M.; DEITEL, Paul J. Java como Programar 8ª Ed. Editora Pearson. Fundamentos da Programação de Computadores – Algoritmos, Pascal, C/C++, JAVA 2 Edição – Pearson_Prentice Hall – Ana Fernanda Gomes Ascencio, Edilene Aparecida Veneruchi de Campos. Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo: Forbellone, André Luiz Villar - MAKRON, 1993. PUGA, Sandra; RISSETTI Gerson Lógica de Programação e Estruturas de Dados. Editora Pearson. PUGA, Sandra; RISSETTI Gerson. Lógica de Programação e Estruturas de Dados com aplicações em Java. Editora Pearson. GOMES, Ana F.; VENERUCHI, Edilene A.C. Fundamentos da programação de computadores 2ª Ed. Editora Pearson. VILLAR André Luiz, EBERSPACHER Henri F. Lógica de programação a construção de algoritmos e estruturas de dados 3ª Ed. Editora Pearson. GOMES, Ana F.; VENERUCHI, Edilene A.C. Fundamentos da programação de computadores 2ª Ed. Editora Pearson.
  • 5. AVALIAÇÕES AV1 60% (de 0 a 6 pontos) 40% (de 0 a 4 pontos) atividade ou trabalho. PARCIAL PRÁTICA OU TEÓRICA Atividade extra para quem não atingiu a média. RECUPERAÇÃO 1 2 3
  • 6. AVALIAÇÕES AV2 60% (de 0 a 6 pontos) 40% (de 0 a 4 pontos) atividade ou trabalho. PARCIAL PRÁTICA OU TEÓRICA Atividade extra para quem não atingiu a média. RECUPERAÇÃO 1 2 3
  • 7. O Que é Lógica de programação?
  • 8. Ela nos ensina a usar corretamente as leis do pensamento. Lógica trata da correção do pensamento. É a arte de pensar corretamente. 1 2 3 Pode mostrar um conjunto de regras racionais para obtenção de um conhecimento. 4
  • 9. Lógica estuda a “correção do pensamento”. Lógica é a “arte de bem pensar”, que é a “ciência das formas do pensamento”. Lógica tem em vista a “ordem da razão”. 5 6 7 Lógica estuda e ensina a colocar “ordem no pensamento”. 8
  • 10. O filósofo grego Aristóteles é considerado o criador da lógica, em sua época denominava-se razão, depois que a palavra lógica começou a ser utilizada, esta tem origem do grego logos que significa linguagem racional.
  • 11. Utilizamos a lógica de forma natural em nosso dia-a-dia. Por exemplo: • Sei que o livro está no armário; • Sei que o armário está fechado; • Logo, concluo que tenho de abrir o armário para pegar o livro. Premissa: É um conjunto de uma ou mais de uma sentença declarativa que é acompanhada de uma outra frase declarativa que é a conclusão.
  • 12. Utilizamos a lógica de forma natural em nosso dia-a-dia. Por exemplo: Vamos observar neste exemplo as premissas e os pontos os quais levam a conclusão deste fato. 1ª. (premissa) Sei que o A está no B. 2ª. (premissa) Sei que o B está fechado. 3ª. (conclusão) Logo, concluo que tenho de abrir o armário para pegar o livro.
  • 13. Sendo A o livro ou qualquer outra coisa que tenho que pegar em B (armário). Tenho o conhecimento prévio de que o que quero pegar está no armário e o mesmo encontra-se fechado.
  • 14. Neste exemplo do dia-a-dia tenho duas premissas que através delas chego a uma conclusão. Sei que sou mais velho que João. (premissa) Sei que João é mais velho que José. (premissa) Então, concluo que eu sou mais velho que José. (conclusão) Neste exemplo só consigo chegar a uma conclusão de que sou mais velho que alguém se existirem as duas premissas, só com apenas uma não conseguiria chegar a uma conclusão.
  • 15. Exercitando: Sejam os seguintes fatos:  Todos os filhos de José são mais altos do que Maria.  Antônio é filho de José. Então, o que podemos concluir logicamente?
  • 16. Exercitando: Considere os fatos abaixo:  Pedro é aluno da EEEP.  Para ser aprovado, um aluno da EEEP precisa obter nota maior ou igual a 6,0 e comparecer a mais de 75% das aulas.  Pedro compareceu a todas as aulas e obteve nota igual a 8,0. Então, o que podemos concluir logicamente?
  • 17. DESAFIOS: Através das premissas a seguir, assinale as sentenças que correspondem à conclusão correta.  Se o semáforo com a luz vermelha é para o motorista parar e o verde para seguir, estando eu a pé para atravessar a rua então concluo que: a) Posso atravessar a rua com a luz vermelha. b) O semáforo tem duas luzes. c) Só devo atravessar a rua com a luz verde.
  • 18. DESAFIOS: Através das premissas a seguir, assinale as sentenças que correspondem à conclusão correta.  Se o semáforo com a luz vermelha é para o motorista parar e o verde para seguir, estando eu a pé para atravessar a rua então concluo que: a) Posso atravessar a rua com a luz vermelha. b) O semáforo tem duas luzes. c) Só devo atravessar a rua com a luz verde.
  • 19. DESAFIOS:  Patos são animais. Patos têm duas patas. Logo: a) Todo o animal tem duas patas. b) Patos têm duas patas. c) Patos tem bico.
  • 20. DESAFIOS:  Patos são animais. Patos têm duas patas. Logo: a) Todo o animal tem duas patas. b) Patos têm duas patas. c) Patos tem bico.
  • 21. DESAFIOS:  Desafio dos nove pontos o objetivo é traçar quatro linhas retas passando por todos os nove pontos, sem tirar o lápis/caneta do papel. Para facilitar o raciocínio e a resolução, marque os nove pontos em uma folha de papel e tente resolver.
  • 22. O Que é Algoritmos?
  • 23. Pode ser definido como uma sequência de passos que visam atingir um objetivo bem definido. É formalmente uma sequência finita de passos que levam a execução de uma tarefa. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. 1 2 3 Pode mostrar um conjunto de regras racionais para obtenção de um conhecimento. 4
  • 24. O algoritmo é um conjunto de passos para executar uma tarefa. (Receita). Na medida em que precisamos especificar uma sequência de passos, precisamos utilizar ordem, “pensar com ordem”, portanto precisamos utilizar lógica. A formulação de um algoritmo pode ser descrita como um texto contendo instruções que serão executadas em uma ordem determinada. 5 6 7 Na computação um algoritmo é uma sequência precisa que pode ser utilizada por um computador para a solução de um problema. 8
  • 25. • O algoritmo é composto por um conjunto finito de passos, cada um requerendo uma ou mais instruções. • Cada uma destas instruções, também chamadas de operações, deve ser perfeitamente definida e clara.
  • 26. Por que é importante fazer um algoritmo?  Tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação;  Permite-nos abstrair de uma série de detalhes computacionais, que podem ser acrescentados mais tarde;  Uma vez concebida uma solução algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação.
  • 27. Algoritmo para chupar uma bala Pega a bala 1 2 3 4 Retira o papel Coloca a bala na boca Chupa a bala Joga o papel fora 5
  • 28. Algoritmo para trocar uma lâmpada Pegar uma escada 1 2 3 4 Posicionar a escada Buscar uma nova lâmpada Subir na escada Retirar lâmpada velha 5 6 7 8 Colocar lâmpada nova Descer da escada Guardar escada
  • 29. Algoritmo para trocar uma lâmpada Pegar uma escada 1 2 3 4 Posicionar a escada Buscar uma nova lâmpada Subir na escada Retirar lâmpada velha 5 6 7 8 Colocar lâmpada nova Descer da escada Guardar escada E se a lâmpada não estivesse queimada?
  • 30. • A execução das ações conduziria a uma troca, independentemente de a lâmpada estar ou não queimada, porque não foi prevista essa possibilidade em sua construção. • A solução seria acrescentar um teste, a fim de verificar se a lâmpada está ou não queimada.
  • 31. A sequência seria: 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 Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova.
  • 32.  Agora estamos ligando algumas ações à condição lâmpada não acender, ou seja, se esta condição for verdadeira (lâmpada queimada) efetuaremos a troca da lâmpada, seguindo as próximas ações.  Se a condição lâmpada não acender for falsa (a lâmpada está funcionando), as ações relativas à troca da lâmpada não serão executadas, e a lâmpada (que está em bom estado) não será trocada.
  • 33. A sequência melhorada: 1. Acionar o interruptor. 2. Se a lâmpada não ascender, então: 2.1- Pegar escada; 2.2- Posicionar escada; 2.3- Buscar uma lâmpada nova; 2.4- Subir na escada; 2.5- Retirar lâmpada velha 2.6- Colocar lâmpada nova
  • 34. DESAFIO: 1. Crie uma sequência lógica para tomar banho: 2. Descreva com detalhes a sequência lógica para Trocar um pneu de um carro. 3. Faça um algoritmo para trocar uma lâmpada. Descreva com detalhes:
  • 36. Os tipos de algoritmos mais usados são: 1- Descrição narrativa 2- Fluxograma e Pseudocódigo ou Portugol. Tipos de Algoritmos
  • 37. Descrição Narrativa Utiliza linguagem natural Vantagem  Não é necessário aprender nenhum conceito novo.  É como estivéssemos falando ou escrevendo os detalhes de algo para outra pessoa  Permite várias interpretações, dificultando a transcrição para programa Desvantagem
  • 38. Descrição Narrativa Exemplo  Ler dois números e calcular a média: 1 Ler os dois números. 2 Calcular a média. 3 Mostrar o resultado da média.
  • 39. Fluxograma Utiliza elementos gráficos Vantagem  Entendimento de gráficos é mais fácil que de textos.  Necessário aprender simbologia e não apresenta detalhes para transcrever para programa. Desvantagem
  • 42. Pseudocódigo ou Portugol Utiliza uma linguagem com regras definidas com uma estrutura formal também conhecido como português estruturado. Vantagem  Transcrição para linguagem de programação é praticamente imediata.  Necessário aprender regras. Desvantagem
  • 43. Pseudocódigo ou Portugol  O portugol é uma forma de escrita estruturada, cuja finalidade é descrever, em uma sequência lógica, os passos para a resolução de um problema.  Nesta técnica os algoritmos são escritos em uma linguagem simples que não possui muitas regras para sua escrita.  Os algoritmos escritos em portugol devem ser escritos de maneira que todas as linhas contenham uma única instrução
  • 44. Pseudocódigo ou Portugol Exemplo: Ler dois números e determinar qual dele é o maior. Algoritmo Maior Inicio Escrever (‘Digite o primeiro número’) Ler (num1) Escrever (‘Digite o segundo número’) Ler (num2) Se num1>num2 então Escrever (‘O maior número é ‘, num1) Se num2>num1 então Escrever (‘O maior número é ‘, num2) Se num1=num2 então Escrever (‘Os números são iguais’) FimMaior
  • 46. REGRAS PARA CONSTRUÇÃO DO ALGORITMO Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: • Usar somente um verbo por frase. • Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática. • Usar frases curtas e simples. • Ser objetivo. • Procurar usar palavras que não tenham sentido dúbio
  • 47. REGRAS PARA CONSTRUÇÃO DO ALGORITMO Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: • Usar somente um verbo por frase. • Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática. • Usar frases curtas e simples. • Ser objetivo. • Procurar usar palavras que não tenham sentido dúbio
  • 48. FASES Ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Entrada: São os dados necessários para a resolução do problema proposto; Processamento: São os processamentos utilizados para chegar ao resultado final; Saída: São os dados processados apresentando o resultado para o problema proposto;
  • 49.
  • 50. EXEMPLO DE ALGORITMO Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: P1+P2+P3+P4 Média Final = 4
  • 51. EXEMPLO DE ALGORITMO a) Quais são os dados de entrada? b) Qual será o processamento a ser utilizado? c) Quais serão os dados de saída? Para montar o algoritmo proposto, faremos três perguntas:
  • 52. SEQUÊNCIA DE EXECUÇÃO a) Receba a nota da prova1. b) Receba a nota de prova2. c) Receba a nota de prova3. d) Receba a nota da prova4. e) Some todas as notas e divida o resultado por 4. f) Mostre o resultado da divisão.
  • 55. Identificação do algoritmo: Todo algoritmo ele deve ser identificado, abaixo algumas regras básicas:  Não utilizar espaços entre as letras ou caracteres especiais como acentos, símbolos (@#%&*?:/) entre outros.  Para identificar um algoritmo com duas palavras, por exemplo “calcular media“ usar o underline o correto ficaria calcular_media.  Não utilizar palavras reservadas como as que são utilizadas para representar ações especificas como ler, variavel, escrever no portugol ide as palavras reservadas são destacadas em negrito.  Não utilizar números no inicio da identificação do algoritmo como, por exemplo; “1exemplo” o correto seria “exemplo1”.  Usar nomes coerentes para identificação de algoritmos, nomes os quais possam identificar o que o algoritmo vai fazer.
  • 56. Declaração de variáveis:  As variáveis que serão utilizadas na resolução de problemas, devem ser declaradas, que são as informações relacionadas à resolução do problema, com relação a variáveis iremos ver em detalhes nas próximas aulas.
  • 57. Corpo do algoritmo:  No corpo do algoritmo deve ser escrito todos os passos para a resolução de problemas, como por exemplo:  Entrada de valores para as variáveis.  Operações de atribuição tais como lógicas e aritméticas.  Laços de repetição.  Exibição de resultados.
  • 58. Mas o que são variáveis ? Estas devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e às vezes um valor inicial. São os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. 1 2 3 Existe vários tipos de variáveis, como por exemplo: Inteiros, reias, caracteres e outros.
  • 59. Tipos de dados básicos usados em pseudocódigo Os principais tipos de dados que iremos utilizar em pseudocódigo usando o software Portugol ide,
  • 60. Atribuição de valores. No portugol ide utilizamos este símbolo = para atribuir valor a uma variável. Exemplo: nota1 = 10 nota2 = 8 OU media = (nota1 + nota2)/2
  • 61. Escrevendo e lendo dados Para escrever algo utilizamos a palavra escreva, se quisermos escrever algum texto digitamos o código: escreva(“Mensagem a ser exibida”) Se for uma variável então digitamos: escreva e o nome da variável declarada. Para ler uma variável que recebeu uma entrada do usuário digitamos a palavra: ler acompanhada do nome da variável declarada.
  • 62.
  • 63. Importância da Análise de Processos
  • 64. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik and illustrations by Storyset. Obrigado! Você tem alguma pergunta? francisco.david2@prof.ce.edu.br (88) 99445-7286