• Nenhum resultado encontrado

Introdução à Lógica de Programação

N/A
N/A
Protected

Academic year: 2022

Share "Introdução à Lógica de Programação"

Copied!
46
0
0

Texto

(1)

TIAGO SANTOS

SANTOS.T.J.DOS@GMAIL.COM

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)

Linguagem algorítmica

(4)

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

(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)

Variáveis

(8)

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>

(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)

Operadores e Expressões

(19)

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 -

(20)

Operadores aritméticos

Prioridade Operadores

Parênteses mais internos

- (unário)

^

* / \

%

+ -

(21)

Operadores aritméticos

Exemplos:

algoritmo "Operadores Aritméticos Inteiros"

varnumInt1, 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"

varnumReal1, 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"

varnumInt1, 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

nao Negaçã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

Parênteses mais internos

nao

e

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çã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

(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

Parênteses mais internos

Operadores aritméticos

Operadores relacionais

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)

Comandos de Entrada e

Saída

(43)

Comando de entrada e saída

algoritmo "Comando de Entrada e Saída"

varvalorReal: 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)

Resumindo ...

(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

SANTOS.T.J.DOS@GMAIL.COM

Introdução à Lógica de Programação

Tópicos Preliminares

Referências

Documentos relacionados

Linguagem de Programação é uma linguagem escrita e formal que especifica um conjunto de instruções e regras usadas para gerar programas (software).. Um software pode ser

IGE ESPECIFICA PARA ESPINAFRE IGE ESPECIFICA PARA EUCALIPTO IGE ESPECIFICA PARA FEIJÃO BFANCO IGE ESPECIFICA PARA FEIJÃO VERMELHO IGE ESPECIFICA PARA FERMENTO DE PÃO IGE

Através desse consumo simbólico de bens, são transmitidos valores sociais e culturais e, mais do que isso, são comunicados gostos e preferências que remetem

Lógica de programação é a forma como você organiza qual passo você deve dar em cada momento para realizar a ação que você deseja.. Em outras palavras, você vai aprender

Fazendo uma analogia com a TCP, o modelo de Triandis também mantém a relação entre crenças, expectativas, atitude, intenção e o comportamento, com alguns construtos em comum, como

Ao longo de nossa pesquisa, tivemos inicialmente como objetivo realizar um mapeamento da produção nacional de artigos que envolvessem a temática do

Um comando de atribuição permite-nos fornecer um valor a uma variável (guardar um valor em uma gaveta), em que o tipo do dado deve ser compatível com o tipo da

O júri foi composto por Ruth Fingerhut, consultora da Fin- gerhut Design e da NEWone Co- municação e Marketing, Ronaldo Rezende, presidente da AsBEA, Associação