TIAGO SANTOS
SANTOS.T.J.DOS@GMAIL.COM
Introdução à Lógica de
Programação
Tópicos Preliminares
Agenda
• Linguagem algorítmica
• Variáveis
• Operadores e Expressões
• Comandos de Entrada e Saída
Linguagem algorítmica
Linguagem algorítmica
• Linguagem algorítmica (pseudocódigo): Linguagem
estruturada para representação de um algoritmo
• Sem padrão definido: Livros sobre o tema assumem
padrões distintos, mas as estruturas possuem a
mesma finalidade
• Padrão adotado nesta disciplina:
• VisuAlg: https://www.apoioinformatica.inf.br/produtos/visualg
Linguagem algorítmica - VisuAlg
• Estrutura básica:
algoritmo "<Nome do algoritmo>"
var
[declaração das variáveis]
[definição dos subprogramas]
inicio
[expressões, comandos ...]
fimalgoritmo
Linguagem algorítmica - VisuAlg
• Palavras reservadas: Palavras com significado
próprio dentro da linguagem algorítmica
• algoritmo: Especifica o início da definição do algoritmo
• var: Especifica a região de declaração de variáveis
• inicio: Especifica a região das instruções (comandos,
expressões ...) do algoritmo
• fimalgoritmo: Especifica o fim da definição do algoritmo
Variáveis
Variáveis
• Servem para armazenar informação
• Essas informações podem variar no tempo
• Armazenam apenas informação de um único tipo
de dado
• Declaração:
var
<identificador>: <tipo>
Variáveis - Tipo
• inteiro: informação numérica pertencente ao
conjunto dos números inteiros
• Ela tem 15 anos de idade
• Eu posso 2 carros
• real: informação numérica pertencente ao conjunto
dos números reais
• O valor de π é 3.14
• Ela tem 1.82 metro de altura
• numerico: inteiro ou real
Variáveis - Tipo
• caractere: informação constituída por um conjunto
de caracteres
• Havia um aviso no muro: “Não jogue lixo aqui!”
• Em época de eleição sempre tem em muros: “Vote em
mim.”
• logico: informação que pode assumir apenas dois
estados (verdadeiro ou falso)
• A televisão está ligada: verdadeiro
• O usuário respondeu positivamente: falso
Variáveis - Identificador
• Regras para nomenclatura de um identificador:
1. Caracteres permitidos:
• A, B, C, ..., X, Y, Z
• a, b, c, ..., x, y, z
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• _
2. O primeiro caractere não pode ser numérico
3. Não pode existir dois identificadores iguais
independentemente de tipo
4. Não pode utilizar palavras reservadas
Variáveis - Identificador
• Dependendo da linguagem não existe diferença
entre letras maiúsculas e minúsculas
• VisuAlg: NomeDaVariavel = NOMEdaVARIAVEL
• Sempre criar identificadores autoexplicativos:
• n1, ni e n3 – Não são identificadores autoexplicativos
• nota1, notaInterdisciplinar, nota3 – São identificadores
autoexplicativos
Variáveis - Identificador
• Quais identificadores não são válidos?
• %deDesconto
• porcentagem de Desconto
• porcentagemDeDesconto
• ValorServiço
• ValorServico
• Real
• logico
• VelocidadeKm/h
• VelocidadeKmPorH
• 1Opcao
• primeiraOpcao
• 13salario
Variáveis - Identificador
• Quais identificadores não são válidos?
• %deDesconto
• porcentagem de Desconto
• porcentagemDeDesconto
• ValorServiço
• ValorServico
• Real
• logico
• VelocidadeKm/h
• VelocidadeKmPorH
• 1Opcao
• primeiraOpcao
• 13salario
Variáveis - Identificador
• Quais identificadores não são válidos?
• %deDesconto (símbolo especial %)
• porcentagem de Desconto (espaço em branco)
• ValorServiço (uso do ç)
• Real (palavra reservada)
• logico (palavra reservada)
• VelocidadeKm/h (símbolo especial /)
• 1Opcao (Não começou com letra ou _)
• 13salario (Não começou com letra ou _)
Variáveis - Declaração
var
<identificador>: <tipo>
• Exemplo:
var
endereco, complemento: caractere
numero: inteiro
eApartamento: logico
imovelLatitude, imovelLogitude: real
Variáveis - Atribuição
<identificador> <- <valor>
• Exemplo:
endereço <- "Rua Cais do Apolo"
complemento <- "Condomínio Solar BL 4 APT 102"
Numero <- 97
eApartamento <- verdadeiro
imovelLatitude <- 3.5587
imovelLogitude <- 1.5578
Operadores e Expressões
Operadores aritméticos
Operador Tipo Função Expressões
- Unário Negativação - 2 - 2.5
+ Binário Adição 3 + 2 = 5 6.25 + 2.5 = 8.75
– Binário Subtração 3 – 2 = 1 6.25 – 2.5 = 3.75
* Binário Multiplicação 3 * 2 = 6 6.25 * 2.5 = 15.625
 ou / Binário Divisão 3  2 = 1 6.25 / 2.5 = 2.5
^ Binário Potenciação - 6.25 ^ 2.5 = 97.65625
% Binário Resto de divisão 3 % 2 = 1 -
Operadores aritméticos
Prioridade Operadores
1º Parênteses mais internos
2º - (unário)
3º ^
4º * / 
5º %
6º + -
Operadores aritméticos
• Exemplos:
algoritmo "Operadores Aritméticos Inteiros"
var
numInt1, numInt2, numInt3, resultado: inteiro
Inicio
numInt1 <- 16
numInt2 <- 5
numInt3 <- 3
resultado <- numInt1  numInt2 % numInt3
resultado <- (numInt1  numInt2) % numInt3
resultado <- numInt1  (numInt2 % numInt3)
fimalgoritmo
Operadores aritméticos
• Exemplos:
algoritmo "Operadores Aritméticos Reais"
var
numReal1, numReal2, numReal3, resultado: real
Inicio
numReal1 <- 16
numReal2 <- 5
numReal3 <- 3
resultado <- numReal1 / numReal2 ^ numReal3
resultado <- (numReal1 / numReal2) ^ numReal3
resultado <- numReal1 / (numReal2 ^ numReal3)
fimalgoritmo
Operadores aritméticos
• Exemplos:
algoritmo "Operadores Unários"
var
numInt1, numInt2: inteiro
numReal1, numReal2: real
Inicio
numInt1 <- -16
numInt2 <- 5
numInt1 <- numInt1 + 1
numInt2 <- - numInt2 + 1
numReal1 <- -16
numReal2 <- 5
numReal1 <- numReal1 + 1
numReal2 <- -numReal2 + 1
fimalgoritmo
Operadores lógicos
Operador Função
nao Negação
e Conjunção
ou Disjunção não-exclusiva
Operadores lógicos - Tabela
verdade
• “É o conjunto de todas as possibilidades
combinatórias entre os valores de diversas variáveis
lógicas, as quais se encontram em apenas duas
situações (Verdadeiro ou Falso), e um conjunto de
operadores lógicos.”
Operação de negação (nao)
p nao p
F V
V F
Operadores lógicos - Tabela
verdade
Operação de conjunção (e)
p q p e q
F F F
F V F
V F F
V V V
Operadores lógicos - Tabela
verdade
Operação de disjunção não-exclusiva (ou)
p q p ou q
F F F
F V V
V F V
V V V
Operadores lógicos
Prioridade Operadores
1º Parênteses mais internos
2º nao
3º e
4º ou
Operadores lógicos - Tabela
verdade
(p ou q) e nao(p e q)
p q p ou q p e q nao(p e q) (p ou q) e nao(p e q)
F F
F V
V F
V V
Operadores lógicos - Tabela
verdade
(p ou q) e nao(p e q)
p q p ou q p e q nao(p e q) (p ou q) e nao(p e q)
F F F
F V V
V F V
V V V
Operadores lógicos - Tabela
verdade
(p ou q) e nao(p e q)
p q p ou q p e q nao(p e q) (p ou q) e nao(p e q)
F F F F
F V V F
V F V F
V V V V
Operadores lógicos - Tabela
verdade
(p ou q) e nao(p e q)
p q p ou q p e q nao(p e q) (p ou q) e nao(p e q)
F F F F V
F V V F V
V F V F V
V V V V F
Operadores lógicos - Tabela
verdade
(p ou q) e nao(p e q)
p q p ou q p e q nao(p e q) (p ou q) e nao(p e q)
F F F F V F
F V V F V V
V F V F V V
V V V V F F
Operadores lógicos - Tabela
verdade
Operação de disjunção exclusiva (xou)
p q p ou q
F F F
F V V
V F V
V V F
Operadores relacionais
Operador Função Expressões
= Igual a 3 = 3 - Verdadeiro 3 = 4 - Falso
> Maior que 5 > 4 - Verdadeiro 4 > 5 - Falso
< Menor que 3 < 6 - Verdadeiro 6 < 3 - Falso
>= Maior ou igual a 5 >= 3 - Verdadeiro 3 >= 3 - Falso
<= Menor ou igual a 3 <= 5 - Verdadeiro 5 <= 3 - Falso
<> Diferente de 8 <> 9 - Verdadeiro 8 <> 8 - Falso
Operadores relacionais
• nao(2 < 5) = (2 >= 5)
• nao(2 = 2) = (2 <> 2)
• nao(2 > 5) = (2 <= 5)
Operadores
• Verdadeiro = Falso
• Verdadeiro <> Verdadeiro
• “Texto” = “Texto”
• “Texto” <> “Texto”
• “a” < “b”
• “b” > “a”
Operadores
Prioridade Operadores
1º Parênteses mais internos
2º Operadores aritméticos
3º Operadores relacionais
4º Operadores lógicos
Operadores
• 2 < 5 e 16  3 = 5
• 2 < 5 ou 15  3 <> 5
Operadores
• 2 < 5 e 16  3 = 5
2 < 5 e 5 = 5
Verdadeiro e 5 = 5
Verdadeiro e Verdadeiro
Verdadeiro
Operadores
• 2 < 5 ou 15  3 <> 5
2 < 5 ou 5 <> 5
Verdadeiro ou 5 <> 5
Verdadeiro ou Falso
Verdadeiro
Comandos de Entrada e
Saída
Comando de entrada e saída
algoritmo "Comando de Entrada e Saída"
var
valorReal: real
valorInteiro: inteiro
valorLogico: logico
valorCaractere: caractere
Inicio
leia(valorReal)
leia(valorInteiro)
leia(valorLogico)
leia(valorCaractere)
escreval("Valor real:", valorReal)
escreval("Valor inteiro:", valorInteiro)
escreval("Valor logico:", valorLogico)
escreva("Valor caractere:", valorCaractere)
fimalgoritmo
Resumindo ...
• Linguagem algorítmica
• VisuAlg
• Variáveis
• Tipo
• Identificador
• Declaração
• Atribuição
• Operadores e Expressões
• Aritmético
• Lógico
• Tabela verdade
• Relacional
• Comandos de Entrada e Saída
• leia
• escreva
• escreval
TIAGO SANTOS
SANTOS.T.J.DOS@GMAIL.COM
Introdução à Lógica de
Programação
Tópicos Preliminares

AULA-02.pdf

  • 1.
    TIAGO SANTOS [email protected] Introdução àLógica de Programação Tópicos Preliminares
  • 2.
    Agenda • Linguagem algorítmica •Variáveis • Operadores e Expressões • Comandos de Entrada e Saída
  • 3.
  • 4.
    Linguagem algorítmica • Linguagemalgorítmica (pseudocódigo): Linguagem estruturada para representação de um algoritmo • Sem padrão definido: Livros sobre o tema assumem padrões distintos, mas as estruturas possuem a mesma finalidade • Padrão adotado nesta disciplina: • VisuAlg: https://www.apoioinformatica.inf.br/produtos/visualg
  • 5.
    Linguagem algorítmica -VisuAlg • Estrutura básica: algoritmo "<Nome do algoritmo>" var [declaração das variáveis] [definição dos subprogramas] inicio [expressões, comandos ...] fimalgoritmo
  • 6.
    Linguagem algorítmica -VisuAlg • Palavras reservadas: Palavras com significado próprio dentro da linguagem algorítmica • algoritmo: Especifica o início da definição do algoritmo • var: Especifica a região de declaração de variáveis • inicio: Especifica a região das instruções (comandos, expressões ...) do algoritmo • fimalgoritmo: Especifica o fim da definição do algoritmo
  • 7.
  • 8.
    Variáveis • Servem paraarmazenar informação • Essas informações podem variar no tempo • Armazenam apenas informação de um único tipo de dado • Declaração: var <identificador>: <tipo>
  • 9.
    Variáveis - Tipo •inteiro: informação numérica pertencente ao conjunto dos números inteiros • Ela tem 15 anos de idade • Eu posso 2 carros • real: informação numérica pertencente ao conjunto dos números reais • O valor de π é 3.14 • Ela tem 1.82 metro de altura • numerico: inteiro ou real
  • 10.
    Variáveis - Tipo •caractere: informação constituída por um conjunto de caracteres • Havia um aviso no muro: “Não jogue lixo aqui!” • Em época de eleição sempre tem em muros: “Vote em mim.” • logico: informação que pode assumir apenas dois estados (verdadeiro ou falso) • A televisão está ligada: verdadeiro • O usuário respondeu positivamente: falso
  • 11.
    Variáveis - Identificador •Regras para nomenclatura de um identificador: 1. Caracteres permitidos: • A, B, C, ..., X, Y, Z • a, b, c, ..., x, y, z • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • _ 2. O primeiro caractere não pode ser numérico 3. Não pode existir dois identificadores iguais independentemente de tipo 4. Não pode utilizar palavras reservadas
  • 12.
    Variáveis - Identificador •Dependendo da linguagem não existe diferença entre letras maiúsculas e minúsculas • VisuAlg: NomeDaVariavel = NOMEdaVARIAVEL • Sempre criar identificadores autoexplicativos: • n1, ni e n3 – Não são identificadores autoexplicativos • nota1, notaInterdisciplinar, nota3 – São identificadores autoexplicativos
  • 13.
    Variáveis - Identificador •Quais identificadores não são válidos? • %deDesconto • porcentagem de Desconto • porcentagemDeDesconto • ValorServiço • ValorServico • Real • logico • VelocidadeKm/h • VelocidadeKmPorH • 1Opcao • primeiraOpcao • 13salario
  • 14.
    Variáveis - Identificador •Quais identificadores não são válidos? • %deDesconto • porcentagem de Desconto • porcentagemDeDesconto • ValorServiço • ValorServico • Real • logico • VelocidadeKm/h • VelocidadeKmPorH • 1Opcao • primeiraOpcao • 13salario
  • 15.
    Variáveis - Identificador •Quais identificadores não são válidos? • %deDesconto (símbolo especial %) • porcentagem de Desconto (espaço em branco) • ValorServiço (uso do ç) • Real (palavra reservada) • logico (palavra reservada) • VelocidadeKm/h (símbolo especial /) • 1Opcao (Não começou com letra ou _) • 13salario (Não começou com letra ou _)
  • 16.
    Variáveis - Declaração var <identificador>:<tipo> • Exemplo: var endereco, complemento: caractere numero: inteiro eApartamento: logico imovelLatitude, imovelLogitude: real
  • 17.
    Variáveis - Atribuição <identificador><- <valor> • Exemplo: endereço <- "Rua Cais do Apolo" complemento <- "Condomínio Solar BL 4 APT 102" Numero <- 97 eApartamento <- verdadeiro imovelLatitude <- 3.5587 imovelLogitude <- 1.5578
  • 18.
  • 19.
    Operadores aritméticos Operador TipoFunção Expressões - Unário Negativação - 2 - 2.5 + Binário Adição 3 + 2 = 5 6.25 + 2.5 = 8.75 – Binário Subtração 3 – 2 = 1 6.25 – 2.5 = 3.75 * Binário Multiplicação 3 * 2 = 6 6.25 * 2.5 = 15.625 ou / Binário Divisão 3 2 = 1 6.25 / 2.5 = 2.5 ^ Binário Potenciação - 6.25 ^ 2.5 = 97.65625 % Binário Resto de divisão 3 % 2 = 1 -
  • 20.
    Operadores aritméticos Prioridade Operadores 1ºParênteses mais internos 2º - (unário) 3º ^ 4º * / 5º % 6º + -
  • 21.
    Operadores aritméticos • Exemplos: algoritmo"Operadores Aritméticos Inteiros" var numInt1, numInt2, numInt3, resultado: inteiro Inicio numInt1 <- 16 numInt2 <- 5 numInt3 <- 3 resultado <- numInt1 numInt2 % numInt3 resultado <- (numInt1 numInt2) % numInt3 resultado <- numInt1 (numInt2 % numInt3) fimalgoritmo
  • 22.
    Operadores aritméticos • Exemplos: algoritmo"Operadores Aritméticos Reais" var numReal1, numReal2, numReal3, resultado: real Inicio numReal1 <- 16 numReal2 <- 5 numReal3 <- 3 resultado <- numReal1 / numReal2 ^ numReal3 resultado <- (numReal1 / numReal2) ^ numReal3 resultado <- numReal1 / (numReal2 ^ numReal3) fimalgoritmo
  • 23.
    Operadores aritméticos • Exemplos: algoritmo"Operadores Unários" var numInt1, numInt2: inteiro numReal1, numReal2: real Inicio numInt1 <- -16 numInt2 <- 5 numInt1 <- numInt1 + 1 numInt2 <- - numInt2 + 1 numReal1 <- -16 numReal2 <- 5 numReal1 <- numReal1 + 1 numReal2 <- -numReal2 + 1 fimalgoritmo
  • 24.
    Operadores lógicos Operador Função naoNegação e Conjunção ou Disjunção não-exclusiva
  • 25.
    Operadores lógicos -Tabela verdade • “É o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações (Verdadeiro ou Falso), e um conjunto de operadores lógicos.” Operação de negação (nao) p nao p F V V F
  • 26.
    Operadores lógicos -Tabela verdade Operação de conjunção (e) p q p e q F F F F V F V F F V V V
  • 27.
    Operadores lógicos -Tabela verdade Operação de disjunção não-exclusiva (ou) p q p ou q F F F F V V V F V V V V
  • 28.
    Operadores lógicos Prioridade Operadores 1ºParênteses mais internos 2º nao 3º e 4º ou
  • 29.
    Operadores lógicos -Tabela verdade (p ou q) e nao(p e q) p q p ou q p e q nao(p e q) (p ou q) e nao(p e q) F F F V V F V V
  • 30.
    Operadores lógicos -Tabela verdade (p ou q) e nao(p e q) p q p ou q p e q nao(p e q) (p ou q) e nao(p e q) F F F F V V V F V V V V
  • 31.
    Operadores lógicos -Tabela verdade (p ou q) e nao(p e q) p q p ou q p e q nao(p e q) (p ou q) e nao(p e q) F F F F F V V F V F V F V V V V
  • 32.
    Operadores lógicos -Tabela verdade (p ou q) e nao(p e q) p q p ou q p e q nao(p e q) (p ou q) e nao(p e q) F F F F V F V V F V V F V F V V V V V F
  • 33.
    Operadores lógicos -Tabela verdade (p ou q) e nao(p e q) p q p ou q p e q nao(p e q) (p ou q) e nao(p e q) F F F F V F F V V F V V V F V F V V V V V V F F
  • 34.
    Operadores lógicos -Tabela verdade Operação de disjunção exclusiva (xou) p q p ou q F F F F V V V F V V V F
  • 35.
    Operadores relacionais Operador FunçãoExpressões = Igual a 3 = 3 - Verdadeiro 3 = 4 - Falso > Maior que 5 > 4 - Verdadeiro 4 > 5 - Falso < Menor que 3 < 6 - Verdadeiro 6 < 3 - Falso >= Maior ou igual a 5 >= 3 - Verdadeiro 3 >= 3 - Falso <= Menor ou igual a 3 <= 5 - Verdadeiro 5 <= 3 - Falso <> Diferente de 8 <> 9 - Verdadeiro 8 <> 8 - Falso
  • 36.
    Operadores relacionais • nao(2< 5) = (2 >= 5) • nao(2 = 2) = (2 <> 2) • nao(2 > 5) = (2 <= 5)
  • 37.
    Operadores • Verdadeiro =Falso • Verdadeiro <> Verdadeiro • “Texto” = “Texto” • “Texto” <> “Texto” • “a” < “b” • “b” > “a”
  • 38.
    Operadores Prioridade Operadores 1º Parêntesesmais internos 2º Operadores aritméticos 3º Operadores relacionais 4º Operadores lógicos
  • 39.
    Operadores • 2 <5 e 16 3 = 5 • 2 < 5 ou 15 3 <> 5
  • 40.
    Operadores • 2 <5 e 16 3 = 5 2 < 5 e 5 = 5 Verdadeiro e 5 = 5 Verdadeiro e Verdadeiro Verdadeiro
  • 41.
    Operadores • 2 <5 ou 15 3 <> 5 2 < 5 ou 5 <> 5 Verdadeiro ou 5 <> 5 Verdadeiro ou Falso Verdadeiro
  • 42.
  • 43.
    Comando de entradae saída algoritmo "Comando de Entrada e Saída" var valorReal: real valorInteiro: inteiro valorLogico: logico valorCaractere: caractere Inicio leia(valorReal) leia(valorInteiro) leia(valorLogico) leia(valorCaractere) escreval("Valor real:", valorReal) escreval("Valor inteiro:", valorInteiro) escreval("Valor logico:", valorLogico) escreva("Valor caractere:", valorCaractere) fimalgoritmo
  • 44.
  • 45.
    • Linguagem algorítmica •VisuAlg • Variáveis • Tipo • Identificador • Declaração • Atribuição • Operadores e Expressões • Aritmético • Lógico • Tabela verdade • Relacional • Comandos de Entrada e Saída • leia • escreva • escreval
  • 46.
    TIAGO SANTOS [email protected] Introdução àLógica de Programação Tópicos Preliminares