O documento apresenta os principais conceitos de lógica de programação, incluindo lógica, algoritmos, variáveis, estruturas de decisão e repetição. Explica como a lógica é usada no dia a dia e como ela é essencial para desenvolvimento de sistemas. Também introduz a linguagem Portugol para escrever algoritmos de forma estruturada.
2. Lógica
• Lógica de programação é a técnica de encadear
pensamentos para atingir determinado objetivo.
• Necessário para pessoas que desejam trabalhar
com desenvolvimento de sistemas.
3. Lógica no dia a dia
• Sei que o livro está no armário.
– Sei que o armário está fechado.
– Logo, concluo que para pegar o livro tenho que
abrir o armário.
• Sei que sou mais velho que João.
– Sei que João é mais velho que José.
– Então, concluo que sou mais velho que José.
4. Lógica – Mini Exercício
• Todos os filhos de João são mais alto que Maria.
– Antônio é filho de João.
– O que posso concluir logicamente?
• José é aluno do FIES.
– Para ser aprovado, um aluno do FIES precisa
obter nota maior ou igual a 60 e comparecer a
mais de 75% das aulas.
– José compareceu a todas aulas e obteve nota 80
– O que podemos concluir?
6. Algoritmo
• Uma sequencia finita de passos que levam a
execução de uma tarefa.
• Objetivo fundamental da programação é construir
algoritmos.
– Receita de bolo.
– Manual de um aparelho eletrônico.
7. Algoritmo - Exemplos
• Até mesmo coisas simples do cotidiano, podem ser
descritas por sequencias lógicas.
• Comer uma bala
– Pegar a bala
– Retirar o papel
– Comer a bala
– Jogar o papel no lixo
8. Algoritmo - Exemplos
• Somar dois números quaiquer
– Escreva o primeiro numero
– Escreva o segundo numero
– Some o primeiro numero com o segundo e
escreva o resulta ao lado
9. Algoritmo - Exercício
• Trocar uma lâmpada
• Tomar banho
• Trocar o pneu de um carro
• Fazer um bolo
• Fritar um ovo
10. Algoritmo: Estrutura de Decisão
• Os algoritmos que construimos até agora
apresentam uma sequência de passos que devem
ser seguidos para atingir um objetivo.
• Porém, há algoritmos nos quais a execução de
alguns passos pode depender de decisões.
11. Algoritmo: Estrutura de Decisão
• No algoritmo da lâmpada em algum momentos
nos perguntamos se a lâmpada estava queimada?
• Simplesmente trocamos a lâmpada sem fazer
qualquer teste.
• Podemos acrescentar em nosso algoritmo um
teste que verifique se a lâmpada deve ser trocada.
12. Algoritmo: Estrutura de Decisão
• Ligue o interruptor
– Se a lâmpada não acender
● Pegue uma escada
● Posicione a escada embaixo da lâmpada
● Pegue uma lâmpada nova
● Suba na escada
● Retire a lâmpada velha
● Coloque a lâmpada nova
13. Algoritmo: Estrutura Repetição
• Essa estrutura define um fluxo de ações que se
repete enquanto uma determinada situação
acontece.
• Voltando ao algoritmo da lâmpada
– …
– Coloque a lâmpada nova
– Enquanto a lâmpada não acender
● Retire a lâmpada
● Coloque uma outra lâmpada
14. Algoritmo - Exercícios
• Suponha que você tenha uma caixa cheia de bolas.
Nessa caixa existem bolas azuis e bolas vermelhas.
Além disso, você tem também duas caixas vazias.
Vamos chamar a caixa que contém as bolas de
“caixa 1” e as duas caixas vazias de “caixa 2” e
“caixa 3”. Neste contexto, escreva um algoritmo
que defina como tirar todas as bolas da “caixa 1”,
colocando as bolas azuis na “caixa 2” e as bolas
vermelhas na “caixa 3”.
15. Algoritmo - Exercícios
Desafio de lógica: Três missionários e três canibais encontram-se na
margem esquerda de um rio. Nessa margem também existe um bote que
pode transportar uma ou duas pessoas. As seis pessoas pretendem todas
passar para a margem direita (usando o bote). No entanto, os
missionários têm de arranjar um plano para consegui-lo de modo que, em
nenhuma circunstância, existam missionários numa margem em minoria
relativamente aos canibais, pois têm receio do que lhes possa acontecer.
Quando o bote chega à margem, os elementos do bote são contados
como estando na margem. Assim, se houver apenas um canibal em uma
margem, não podemos enviar a essa margem o bote com um canibal e
um missionário, pois, ao chegar à outra margem, serão dois canibais
contra um missionário. Lembre-se de que para o bote ir de uma margem
a outra é necessário que alguém esteja remando, ou seja, o bote nunca
atravessa vazio. Faça um algoritmo que exiba, passo a passo, como
efetuar esta travessia de forma segura.
17. Linguagem de Programação
• É a reescrita dos algoritmos que escrevemos em
linguagem natural em uma linguagem que o
computador entenda.
– Delphi, Java, C#, Python
• Linguagem de programação possuem uma
formalização ou padrão que é necessário ser
seguido.
18. Portugol
• O Portugol é uma linguagem que une o formalismo
ou padrões das linguagens de programação à
facilidade de compreensão da linguagem natural.
• Exemplo de comandos:
– Programa
– Inicio
– Fim
– Var
– Escreva
20. Variáveis
• O primeiro passo para que um programa seja
executado em um computador é o carregamento
desse programa para a memória.
• Ao desenvolvermos nossos algoritmos,
frequentemente precisamos armazenar dados
referentes ao problema, como um nome, um
número ou resultado de uma operação.
• A forma de solicitar ao computador que reserve
memória é chamada de Declaração de Variáveis.
22. Declaração – Regras
• Iniciar sempre com Letras
– Nome(correto), 1Nome(errado)
• Não utilizazar caracteres especiais
– “,()/*;+. Nome(M); N*B
• Não colocar espaço em branco ou hífen entre os
nomes
– Salario-bruto ou Salario Bruto
• Se necessário utilizar Underline _
– Salario_Bruto
23. Declaração – Boas Práticas
• Crie suas variaveis com nomes sugestivos
– Se vai guardar o salário, dê à variavel o nome de
Salario.
– Ao contrário de somente S
24. Tipos de variáveis
• Tipo Inteiro: Armazena valores numéricos inteiros
tais como (0, 1, 5, 300, -10).
• Tipo Real: Armazena valores numéricos reais, ou
seja, com ponto decimal (5.7, 3.2, -8.5).
• Tipo Caractere: Armazena um único caractere que
pode ser uma letra ou um simbolo. Exemplo
identificar o sexo de um indivíduo ('F' ou 'M').
25. Tipos de variáveis
• Tipo Cadeia: Armazena uma sequencia ou cadeia
de caracteres. Exemplo o nome de uma pessoa ou
uma frase inteira.
• Tipo Logico: Armazena um valor lógico que sempre
terá seu valor igual a Verdadeiro ou Falso.
30. Constantes
• Ao contrário das variáveis os valores das
constantes não mudam com o tempo.
• Seu tipo é assumido automatico de acordo com o
valor atribuido.
Const
Pi = 3.1415;
• Ex.:
– Resultado := 10 x Pi;
– Resultado := 10 x 3.1415;
32. Comandos: Atribuição de Dados
• O comando utilizado para atribuição de valores à
variáveis é o :=
• Ex.:
Var
Nome: Cadeia;
Inicio
Nome := 'José Araújo';
Escreva(Nome);
Fim.
33. Comandos: Entrada de Dados
• Frequentemente, na construção de algoritmos,
precisamos solicitar que usuários informem, por
meio do teclado, alguns valores a serem utilizados
durante a execução.
• O comando de entrada de dados será responsável
pela leitura e armazenamento desses dados na
variável que indicarmos.
34. Entrada de Dados – Sintaxe
• Sintaxe: Leia(variavel);
• Leia()
– Função responsável por ler o que o usuário
digitou e armazenar o valor na variável indicada.
• Variavel
– Nome da variavel utilizada para armazenar o
valor digitado.
– O valor digitado tem que ser compativel com o
tipo da variavel.
35. Entrada de Dados – Sintaxe
• Sintaxe: Leia(variavel);
• Leia()
– Função responsável por ler o que o usuário
digitou e armazenar o valor na variável indicada.
• Variavel
– Nome da variavel utilizada para armazenar o
valor digitado.
– O valor digitado tem que ser compativel com o
tipo da variavel.
36. Comandos: Saida de Dados
• Por meio da utilização do comando de saída de
dados, conseguimos exibir mensagens ou valores
para o usuário de nossos programas. É através
desse comando que nosso algoritmo consegue se
comunicar com o usuário para solicitar a entrada
de dados ou para fornecer saídas de dados.
• O comando de saída de dados exibe no monitor
valores de constantes, variáveis ou expressões.
37. Saida de Dados – Sintaxe
• Sintaxe: Escreva(expressao);
• Escreva()
– Função responsável por escrever no monitor
uma mensagem para o usuário.
• Expressão
– Indica o que será escrito no monitor. É
normalmente composta por um texto fixo
seguido por uma virgula e um nome de variavel.
– Escreva('Seu nome é: ', Nome);
38. Estrutura Base de um Programa
Programa NomePrograma
Const
Declaracao de constantes
Var
Declaracação de variaveis
Inicio
Conjunto de comandos que formará o algoritmo
Fim.