You are on page 1of 38

Lógica de

Programação
Objetivo da Disciplina

O objetivo desta disciplina é habilitar os alunos a


aplicar técnicas para o desenvolvimento de algoritmos
classificados como sequenciais, condicionais e
algoritmos com estruturas de repetição.
Ementa
 Lógica e Algoritmos
 Algoritimizando
 Variáveis e Constantes
 Tipos de Dados
 Operadores
 Estruturas Sequenciais
 Estruturas Condicionais
 Estruturas de Repetição
 Visualg
Lógica e Algoritmos
Para usar a lógica, deve-se ter um domínio de
como pensar, ou seja definir passos de forma
coerente para que satisfaça uma determinada
necessidade.

Algoritmo, trata de um conjunto ações para que


resulte em uma sucessão finita de passos
organizados, atingindo o objetivo.
Lógica e Algoritmos
Exemplo de Lógica:
- Todo mamífero é animal.
- Todo cavalo é mamífero.
- Portanto todo cavalo é animal.

- Maria é mais velha que Ana.


- Ana é mais velha que Sara.
- Portanto, Maria é mais velha que Sara.
Lógica e Algoritmos
Exemplo de Algoritmo:
A televisão está desligada.
Preciso ligar a televisão.
Quais passos deve-se executar?
Pegar controle, apontar o controle para a TV,
Pressionar o botão de ligar.
Algoritimizando
Lógica para :
Trocar uma Lâmpada

Início.
 LOCALIZAR Escada;  SEGURAR Lâmpada Nova;;
 POSICIONAR Embaixo da Lâmpada;  SUBIR na Escada;
 LOCALIZAR Nova Lâmpada;  POSICIONAR Lâmpada no Bocal;
 RESERVAR nova Lâmpada;  GIRAR Lâmpada 180º para a Esquerda;
 SUBIR Na Escada;  GIRAR Lâmpada 180º para a Esquerda;
 SEGURAR Lâmpada a ser Trocada;
 GIRAR Lâmpada 180º para a Esquerda;
 GIRAR a Lâmpada 180º para direita;
 DESCER da Escada;
 GIRAR a Lâmpada 180º para direita;
 GIRAR a Lâmpada 180º para direita;  POSICIONAR Frente do Interruptor;
 DESCER da Escada;  ACIONAR Interruptor
 RESERVAR Lâmpada Removida; Fim.
Algoritimizando - Exercício

Exercícios :

1) Construa um algoritmo Tomar Banho;


2) Construa um algoritmo Trocar Pneu;
3) Construa um algoritmo Somar dois Números;
Variáveis e Constantes

Variável, como próprio nome diz, o que pode variar. Na


programação atribuímos valores as variáveis de memória. Estes
valores são armazenados no decorrer de uma execução de um
programa, podendo ser alterado ou não.

Constantes, é uma valor fixo que não se modifica ao longo do


tempo, durante a execução de um programa. Pode ser um
número, um valor lógico ou uma sequencia de caracteres.
Variáveis e Constantes
Uma variável pode ser identificada por um ou mais caracteres.
Obrigatoriamente, deve-se obedecer uma regra:

 Obrigatoriamente iniciar por uma letra;


 Caracteres seguintes letras ou números;
 Não pode uso de caracteres especiais;
 Deve-se utilizar nomes que reflitam a natureza do que será
armazenado;

Exemplos: R - nome – dtnasc - X1


Tipos de Dados
Variáveis e constantes podem ser dos seguintes tipos:
 Numéricas;
 Caracteres;
 Alfanuméricas;
 Lógicas;
Tipo Descrição
Inteiro Conjunto dos números inteiros relativos, sejam negativo,
positivo ou nulo.
Reais Pertencente ao conjunto dos números reais sejam (inteiros e
fracionários, positivos, negativos ou nulos).
Caractere Composto por qualquer simbologia, sejam números (0...9),
alfabéticos (A...Z), ou (a...z), e os símbolos (/ ! @ # $ % & * -).
Lógico Trata-se de valores que só aceitam duas situações: (V, F)
também identificado por tipo booleano.
Operadores
Operadores utilizados na programação estão
classificados como:

 Operadores Aritméticos;
 Operadores Relacionais;
 Operadores Lógicos;
Operadores
 Operadores Aritméticos
Operadores Simbologia
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação **

 Regras de Precedência:
( ) Parênteses;
Exponenciação;
Multiplicação ou divisão;
Soma ou Subtração;
Operadores
 Operadores Aritméticos / Exemplos:

a) (6 + 2) / 4 =

= 8 / 4 = 2;

a) (3 * 4) / 2 + ( 5 + 1) =

= 12 / 2 + 6 =

= 6 + 6 = 12;
Operadores
 Operadores Relacionais

Operadores Simbologia
Igual a =
Diferente de <> ou ≠ ou !=
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Operadores
 Operadores Relacionais / Exemplos:

A = 5; B = 7; Z = 5;

Definida as variáveis acima, determine V ou F:

A = B ( )
B > Z ( )
A = Z ( )
B < Z ( )
A <> B ( )
B >= Z ( )
A <= Z ( )
Operadores

 Operadores Lógicos
Operadores Valor Definição
E AND VERDADEIRO, apenas quando
comparados idênticos.
OU OR VERDADEIRO, quando uma das
opções comparada satisfaça a
condição.
NÃO NOT VERDADEIRO, quando as opções
comparadas forem falsa.
Operadores
 Operadores Lógicos / Exemplos:
Valores Atribuídos:

A = 10 B = 15 Z = 7
Expressões Lógicas Resultado
A = Z OR B > A
Z > B NOT B < A
A < B OR B > A
A >= Z AND B > Z
Z <= A AND A > Z
(A+Z)>(B–A) OR ( B – A ) >= ( A + Z )
Estruturas Sequenciais
Estruturas sequenciais, são executadas de cima para baixo.
Comandos: Início - Fim.
Início
X =8; Z = 4;
Y <- (X / Z) + 2
escreva X, Y, Z
Fim
------------------------------ xxxxxx --------------------------
Início
declare X, Y, Z, numéricos
leia X, Z
Y <- (X / Z) + 2
escreva X, Y, Z
Fim
Estruturas Condicionais
Estrutura Condicional, permite a escolha de determinadas
ações quando determinadas condições são satisfeitas ou não.
Comandos se - fim se.
Início
Início declare X, Y, Z, numéricos
X =8; Z = 4; leia X, Z
Y <- (X / Z) + 2 Y <- (X / Z) + 2
se Y < ( X + Y) se Y > (Y + Z)
então Escreva “MENOR” então escreva “MENOR”
fim se senão escreva “MAIOR”
Fim fim se
Fim
Estruturas Repetição
Estrutura Repetição, permite que uma sequencia de comandos
seja executada repetidamente até que uma determinada
condição de interrupção seja satisfeita.
Comandos: repita – fim repita – interrompa.
Início
X = 0; Z = 10;
repita
se X = Z
então
interrompa
fim se
escreva X
fim repita
escreva Z
Fim
Procedimentos e Funções
Trata-se de blocos de instruções para que seja realizada uma
determinada tarefa.

Podendo ser reutilizados, quantas vezes for necessário.

O uso de procedimentos permite ao programador economizar


espaço e tempo na programação.

Funções nada mais é que um procedimento, só que mais


específico. A função te dar um retorno dentro de uma rotina de
procedimentos.
VisuaAlg

É um visualizador de algoritmo, é um programa


que edita, interpreta e executa algoritmos com uma
linguagem próxima do português estruturado como
se fosse um programa normal de computador.
VisuaAlg
VisuAlg
• A linguagem do VisuAlg permite apenas um comando por linha:
desse modo, não há necessidade de tokens separadores de
estruturas, como o ponto e vírgula em Pascal. Também não existe o
conceito de blocos de comandos (que correspondem ao begin e
end do Pascal e ao { e } do C), nem comandos de desvio
incondicional como o goto. Na versão atual do VisuAlg, com
exceção das rotinas de entrada e saída, não há nenhum

• Importante: para facilitar a digitação e evitar confusões, todas as


palavras-chave do VisuAlg foram implementadas sem acentos,
cedilha, etc. Portanto, o tipo de dados lógico é definido como
logico, o comando se..então..senão é definido como
se..entao..senao, e assim por diante. O VisuAlg também não
distingue maiúsculas e minúsculas no reconhecimento de palavras-
chave e nomes de variáveis.
VisuAlg
• Formato Básico do Pseudocódigo e Inclusão de Comentários
• O formato básico do nosso pseudocódigo é o seguinte:
algoritmo "semnome"
// Função :
// Autor :
// Data :
// Seção de Declarações
inicio
// Seção de Comandos
fimalgoritmo
VisuAlg
A primeira linha é composta pela palavra-chave algoritmo
seguida do seu nome delimitado por aspas duplas.
Este nome será usado como título nas janelas de leitura de
dados. A seção que se segue é a de declaração de
variáveis, que termina com a linha que contém a palavra-
chave inicio.
Deste ponto em diante está a seção de comandos, que
continua até a linha em que se encontre a palavra-chave
fimalgoritmo. Esta última linha marca o final do
pseudocódigo: todo texto existente a partir dela é
ignorado pelo interpretador.
VisuAlg
Tipos de Dados

O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de


caracteres e lógico (ou booleano).

As palavras-chave: ( não têm acentuação):

inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas


decimais.
real: define variáveis numéricas do tipo real, ou seja, com casas
decimais.
caractere: define variáveis do tipo string, ou seja, cadeia de caracteres.
logico: define variáveis do tipo booleano, ou seja, com valor
VERDADEIRO ou FALSO.
VisuAlg
1. Elaborar uma algoritmo para calcular a soma entre dois
números inteiros.
2. Elaborar uma algoritmo que solicite dois números e mostre
qual é o maior.
3. Elaborar um algoritmo para calcular a média aritmética.
4. Elaborar um algoritmo para informar se o número inteiro é
par ou impar.
VisuAlg
• Passos para elaborar um algoritmo:
No modelo computacional, dispomos de três elementos:

Entrada -> Processamento -> Saída


VisuAlg – Entrada -> Processamento -> Saída

• Elaborar uma algoritmo para calcular a soma entre dois números


inteiros.

Entrada -> X, Y
Processamento -> X + Y
Saída -> R
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "soma"
// Função : Efetuar a soma entre dois números inteiros e exibir seu resultado;
// Autor :
// Data :
// Seção de Declarações
var
x,y,r: inteiro
inicio
// Seção de Comandos
escreva ("Digite o primeiro número a ser somado: ")
leia (x)
escreva ("Digite o segundo número a ser somado: ")
leia (y)
r <- x + y
escreval ("A soma de x + y e: ",r)
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar uma algoritmo que solicite dois números inteiros e mostre


qual é o maior.

Entrada -> x, y
Processamento -> x > y
Saída -> x ou Y
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "comparar"
// Função : Efetuar a comparação entre dois números inteiros e exibir o maior;
var
x,y: inteiro
inicio
escreva ("Digite o primeiro número a ser somado: ")
leia (x)
escreva ("Digite o segundo número a ser somado: ")
leia (y)
se (x > y) entao
escreval ("o número maior e: ",x)
senao
escreval ("o número maior e: ",y)
fimse
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar um algoritmo para calcular a média aritmética.

Entrada -> n1, n2


Processamento -> (n1 + n2) / 2
Saída -> m
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "media"
// Função : Calcular a média aritmética
var
n1,n2, m: real
inicio
escreva ("Digite a primeira Nota para n1: ")
leia (n1)
escreva ("Digite a segunda Nota para n2: ")
leia (n2)
m <- (n1 + n2) / 2
escreval ("A média das notas digitadas e: ",m)
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar um algoritmo para informar se o número inteiro é par ou impar.

Entrada -> x
Processamento -> (n1 + n2) / 2
Saída -> “par” ou “impar”
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "parimpar"
// Função : Verificar se um número é par ou impar
var
x : inteiro
inicio
escreva ("Digite um número: ")
leia (x)
se (x mod 2 = 0) entao
escreval ("O número", x, " e PAR")
senao
escreval ("O número", x, " e IMPAR")
fimse
fimalgoritmo

You might also like