Sunteți pe pagina 1din 57

ALGORITMOS E

PROGRAMAÇÃO I
AULA 05 – Introdução Portugol
Operadores Aritméticos, Relacionais, Lógicos
Prof. Msc. Salatiel Dantas
Prof. Dr. Marcos E. Cintra
PORTUGOL

• O computador é capaz de realizar diversas operações


matemáticas com rapidez e eficiência:
• 2*3+6/9^2

• O computador também é capaz de realizar diversas


operações lógicas com rapidez e eficiência:
• 2 < 3 ou 5 > 6

2
PORTUGOL

• O computador é capaz de realizar diversas operações


matemáticas com rapidez e eficiência:
• 2*3+6/9^2

• O computador também é capaz de realizar diversas


operações lógicas com rapidez e eficiência:
• 2 < 3 ou 5 > 6

• As linguagens de programação devem dar suporte a estes


tipos de operações.
3
PORTUGOL

• O Portugol detém a capacidade de realizar as operações:


• Atribuição;
• Aritméticos;
• Relacionais;
• Lógicos.

4
PORTUGOL - ATRIBUIÇÃO

• Permite inserir um valor a uma determinada variável. Pode


ser realizada a partir de dois modos:
• :=
• <-

• Notação:
• Idade <- 10
• Idade := 10
• Nome <- “Carlos da Silva”
5
PORTUGOL - ATRIBUIÇÃO

• Permite inserir um valor a uma determinada variável. Pode


ser realizada a partir de dois modos:
• :=
• <-

• Notação: Uma atribuição faz com que uma


variável armazene o valor definido.
Nesses casos a variável Idade irá
• Idade <- 10 armazenar o valor 10 e a variável
nome irá armazenar o valor
• Idade := 10 “Carlos da Silva”

• Nome <- “Carlos da Silva”


6
PORTUGOL – OPERADORES ARITMÉTICOS

• O Portugol provê suporte aos seguintes operadores


aritméticos:
• + soma
• - subtração
• / divisão
• * multiplicação
• div divisão inteira. Exemplo: 5 div 2 resulta em 2 (o resultado é
apenas o valor inteiro)
• mod resto inteiro da divisão. Exemplo 5 mod 2 resulta em 1 (o
resultado é o resto da divisão)

7
PORTUGOL – OPERADORES ARITMÉTICOS

• Soma ( + )
• soma := 2 + 3 (a variável soma irá armazenar o valor 5)
• Subtratração ( - )
• Subtracao <- 5-3 (a variável subtração irá armazenar o valor 2)
• Divisão ( / )
• divisao := 10/5 (a variável divisão irá armazenar o valor 2)
• Multiplicação ( * )
• mult <- 3*3 (a variável mult irá armazenar o valor 9)

8
PORTUGOL – OPERADORES ARITMÉTICOS
• Os operadores aritméticos podem ser aplicados a variáveis
dos tipos inteiro e real:
algoritmo “nome do algoritmo”
< declaração_de_variáveis >
Var
N1, N2, soma: inteiro soma armazena o
NR1, NR2, divReal: real resultado da operação
inicio aritmética de soma entre
N1 e N2
N1 := 5
N2 := 3
soma <- N1+N2
NR1 := 6.5
NR2 := 7.5 divReal armazena o
resultado da operação
divReal <- NR1/NR2 aritmética de divisão entre
fim NR1 e NR2
9
EXERCÍCIO

• Faça um algoritmo que receba a altura e a largura de uma


figura e calcule sua área. O algoritmo deve mostrar o
resultado.

10
EXERCÍCIO - RESOLUÇÃO

algoritmo “CalculaArea”
< declaração_de_variáveis >
Var
Altura, Largura, Area: real
inicio
Leia(Altura)
Leia(Largura)
Area := Altura*Largura
Escreval(Area)
fim

11
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais são geralmente empregados para


comparar valores;
• Seu resultado sempre retorna um valor booleano
(verdadeiro ou falso);

• Em programas pode ser necessário comparar valores:


• 1000 <= 5000 ?
• Nome1 = “user@gmail.com” ?

12
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

13
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
menor que outro.
Exemplo:
2<3

14
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
maior que outro.
Exemplo:
5>3

15
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
menor ou igual que
outro. Exemplo:
5 <= 3

16
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
maior ou igual que outro.
Exemplo:
5 >= 3

17
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
igual a outro. Exemplo:
5=5

18
PORTUGOL – OPERADORES RELACIONAIS

• Operadores relacionais do Portugol são:

Testa se um número é
diferente de outro.
Exemplo:
5 <> 5 19
PORTUGOL – OPERADORES RELACIONAIS

• Quais seriam os resultados dos testes?

variavel_1 ← 2 = 3
variavel_2 ← 1.6 <> 5.0
variavel_3 ← 1 > 5
variavel_4 ← (2 + 2) < 5
variavel_5 ← 8 >= 3
variavel_6 ← 1 <= 4
variavel_7 ← “café” < “expresso”
variavel_8 ← “café” =“café”

20
PORTUGOL – OPERADORES RELACIONAIS

• Resultado dos testes

variavel_1 ← 2 = 3 // (falso)
variavel_2 ← 1.6 <> 5.0 // (verdadeiro)
variavel_3 ← 1 > 5 // (falso)
variavel_4 ← (2+ 2) < 5 // (verdadeiro)
variavel_5 ← 8 >= 3 // (verdadeiro)
variavel_6 ← 1 <= 4 // (verdadeiro)
variavel_7 ← “café” < “expresso” // (verdadeiro)
variavel_8 ← “café” =“café” // (verdadeiro)

21
PORTUGOL – OPERADORES RELACIONAIS
• É possível ainda utilizar os operadores relacionais com as variáveis do
programa:
algoritmo “Maior”
< declaração_de_variáveis >
Var
A, B: inteiro
resultadoTeste: lógico
inicio
Escreva(“Digite o valor de A: ”)
Leia(A)
Escreva(“Digite o valor de B: ”)
Leia(B)
resultadoTeste <- A>B
Escreva(A,“>”,B,”?”,resultadoTeste)
resultadoTeste <- A<B
Escreva(A,“<”,B,”?”,resultadoTeste)
fim
22
PORTUGOL – OPERADORES RELACIONAIS
• É possível ainda utilizar os operadores relacionais com as variáveis do
programa:
algoritmo “Maior”
< declaração_de_variáveis >
A variável resultadoTeste vai
Var armazenar o resultado do teste de
A, B: inteiro maior entre os valores de A e B.
resultadoTeste: lógico Caso A seja maior que B,
inicio resultadoTeste irá armazenar o valor
Escreva(“Digite o valor de A: ”) verdadeiro.
Leia(A) Caso contrário, resultadoTeste irá
Escreva(“Digite o valor de B: ”) armazenar o valor falso
Leia(B)
resultadoTeste <- A>B
Escreva(A,“>”,B,”?”,resultadoTeste)
resultadoTeste <- A<B
Escreva(A,“<”,B,”?”,resultadoTeste)
fim
23
PORTUGOL – OPERADORES RELACIONAIS
• É possível ainda utilizar os operadores relacionais com as variáveis do
programa:
algoritmo “Maior”
< declaração_de_variáveis >
Var
A, B: inteiro
resultadoTeste: lógico
inicio
Escreva(“Digite o valor de A: ”) A variável resultadoTeste vai
Leia(A) armazenar o resultado do teste de
Escreva(“Digite o valor de B: ”) menor entre os valores de A e B.
Caso A seja menor que B,
Leia(B)
resultadoTeste irá armazenar o valor
resultadoTeste <- A>B verdadeiro.
Escreva(A,“>”,B,”?”,resultadoTeste) Caso contrário, resultadoTeste irá
resultadoTeste <- A<B armazenar o valor falso.
Escreva(A,“<”,B,”?”,resultadoTeste
fim)
24
EXERCÍCIO

• Faça um algoritmo que recebe duas idades de dois irmãos


e mostre se é verdadeiro ou falso que o primeiro irmão é
mais velho.

25
EXERCÍCIO - RESOLUÇÃO

26
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos são geralmente empregados para


combinar condições;
• Seu resultado sempre retorna um valor booleano
(verdadeiro ou falso);

• Em programas pode ser necessário comparar mais de um


valor ao mesmo tempo:
• valor >= 0 ? Valor <= 10?
• Letra >= ‘a’? Letra <= ‘z’?
27
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos do Portugol são:


• E (Conjunção);
• OU (Disjunção);
• NÃO (Negação)

28
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Utilizado para realizar a conjunção de partes;
• Retorna verdadeira, se ambas as partes das condições forem
verdadeiras;
• Exemplo:
(2<3) E (5>3)
• Verdadeiro E verdadeiro = Verdadeiro
• Retorna verdadeiro em ambas as partes, e isto faz com que o E
também retorne verdadeiro
29
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Retorna falso, se qualquer uma das partes das condições for falso;
• Exemplo:
(3<3) E (5>3)
• Falso E verdadeiro = Falso
• Retorna falso em uma das partes, e isto faz com que o E também
retorne falso

30
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Segue a seguinte tabela verdade:

Valor 1 Valor 2 E Valor 1 Valor 2 E


0 0 0 Falso Falso Falso
0 1 0 Falso Verdadeiro Falso
1 0 0 Verdadeiro Falso Falso
1 1 1 Verdadeiro Verdadeiro Verdadeiro

31
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Segue a seguinte tabela verdade:

Valor 1 Valor 2 E Valor 1 Valor 2 E


0 0 0 Falso Falso Falso
0 1 0 Falso Verdadeiro Falso
1 0 0 Verdadeiro Falso Falso
1 1 1 Verdadeiro Verdadeiro Verdadeiro

O operador lógico E só
retorna verdadeiro (1)
caso os dois valores
sejam verdadeiro (1) 32
PORTUGOL – OPERADORES RELACIONAIS

• Operadores lógicos E:
• Exemplos:

(10 < 12) E (25 >= 22)


(10 < 12) E (12 = 1)

33
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

verdadeiro verdadeiro

(10 < 12) E (25 >= 22) Valor 1 Valor 2 E


Falso Falso Falso
Falso Verdadeiro Falso
(10 < 12) E (12 = 1) Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro

34
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

verdadeiro verdadeiro
(10 < 12) E (25 >= 22) Valor 1 Valor 2 E
Falso Falso Falso
Falso Verdadeiro Falso
(10 < 12) E (12 = 1) Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro

O resultado de
verdadeiro E verdadeiro
é verdadeiro
35
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

(10 < 12) E (25 >= 22) Valor 1 Valor 2 E


Falso Falso Falso
verdadeiro falso Falso Verdadeiro Falso
(10 < 12) E (12 = 1) Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro

36
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

(10 < 12) E (25 >= 22) Valor 1 Valor 2 E


Falso Falso Falso
verdadeiro falso Falso Verdadeiro Falso
(10 < 12) E (12 = 1) Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro

O resultado de
verdadeiro E falso
é falso
37
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos OU:


• Utilizado para realizar a disjunção de partes;
• Retorna verdadeira, se alguma das partes das condições for
verdadeira;
• Exemplo:
(2<3) OU (1>3)
• Verdadeiro OU falso = Verdadeiro
• Retorna verdadeiro em uma das partes, e isto faz com que o OU
também retorne verdadeiro.
38
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos OU:


• Retorna falso, se ambas as partes das condições forem falsas;
• Exemplo:
(3<3) OU (5>6)
• Falso OU Falso = Falso
• Retorna falso em ambas as partes, e isto faz com que o OU também
retorne falso

39
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos OU:


• Segue a seguinte tabela verdade:

Valor 1 Valor 2 OU Valor 1 Valor 2 OU


0 0 0 Falso Falso Falso
0 1 1 Falso Verdadeiro Verdadeiro
1 0 1 Verdadeiro Falso Verdadeiro
1 1 1 Verdadeiro Verdadeiro Verdadeiro

40
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos OU:


• Segue a seguinte tabela verdade:

Valor 1 Valor 2 OU Valor 1 Valor 2 OU


0 0 0 Falso Falso Falso
0 1 1 Falso Verdadeiro Verdadeiro
1 0 1 Verdadeiro Falso Verdadeiro
1 1 1 Verdadeiro Verdadeiro Verdadeiro

O operador lógico OU só
retorna falso (0) caso os
dois valores sejam falsos
(0) 41
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

falso falso

(10 > 12) OU (25 < 22) Valor 1 Valor 2 OU


Falso Falso Falso
Falso Verdadeiro Verdadeiro
(10 < 12) OU (12 = 1) Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro

42
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

falso falso

(10 > 12) OU (25 < 22) Valor 1 Valor 2 OU


Falso Falso Falso
Falso Verdadeiro Verdadeiro
(10 < 12) OU (12 = 1) Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro

O resultado de
Falso OU Falso
é Falso
43
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

(10 > 12) OU (25 < 22) Valor 1 Valor 2 OU


Falso Falso Falso
verdadeiro falso Falso Verdadeiro Verdadeiro
(10 < 12) OU (12 = 1) Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro

44
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos E:
• Exemplos:

(10 > 12) OU (25 < 22) Valor 1 Valor 2 OU


Falso Falso Falso
verdadeiro falso Falso Verdadeiro Verdadeiro
(10 < 12) OU (12 = 1) Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro

O resultado de
verdadeiro OU falso
é verdadeiro
45
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos NAO:


• Utilizado para realizar a negação de partes;
• Retorna verdadeira, se alguma das partes das condições for falsa;
• Retorna falso, se alguma das partes das condições for verdadeira;
• Exemplo:
NAO (2<3)

verdadeiro

46
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos NAO:


• Utilizado para realizar a negação de partes;
• Retorna verdadeira, se alguma das partes das condições for falsa;
• Retorna falso, se alguma das partes das condições for verdadeira;
• Exemplo:
NAO (verdadeiro)

falso

47
PORTUGOL – OPERADORES LÓGICOS

• Operadores lógicos NAO:


• Trabalha com a seguinte tabela verdade:

Valor 1 NAO Valor 1 NAO


0 1 Falso Verdadeiro
1 0 Verdadeiro Falso

48
PORTUGOL – OPERADORES LÓGICOS

• Em Portugol é possível ainda combinar os operadores


lógicos de maneira a formar expressões mais complexas.
Exemplo:
Variavel_4 := NAO((verdadeiro E falso) OU (5 > 3))

49
PORTUGOL – OPERADORES LÓGICOS

• Em Portugol é possível ainda combinar os operadores


lógicos de maneira a formar expressões mais complexas.
Exemplo:
Variavel_4 := NAO((verdadeiro E falso) OU (5 > 3))
falso verdadeiro

50
PORTUGOL – OPERADORES LÓGICOS

• Em Portugol é possível ainda combinar os operadores


lógicos de maneira a formar expressões mais complexas.
Exemplo:
Variavel_4 := NAO((verdadeiro E falso) OU (5 > 3))
falso OU verdadeiro

verdadeiro

51
PORTUGOL – OPERADORES LÓGICOS

• Em Portugol é possível ainda combinar os operadores


lógicos de maneira a formar expressões mais complexas.
Exemplo:
Variavel_4 := NAO((verdadeiro E falso) OU (5 > 3))
falso OU verdadeiro

verdadeiro

falso

52
PORTUGOL – OPERADORES LÓGICOS

• Em Portugol é possível ainda combinar os operadores


lógicos de maneira a formar expressões mais complexas.
Exemplo:
Variavel_4 := NAO((verdadeiro E falso) OU (5 > 3))
falso OU verdadeiro

verdadeiro

falso
Ao final Variavel_4 irá armazenar o valor falso.
53
EXERCÍCIO

• Crie um algoritmo que receba um valor e verifique em uma


condição se este valor está no intervalo de 0 até 10.

• Crie um algoritmo que receba um valor e verifique em uma


condição se este valor não está no intervalo de 0 até 10.

• Faça isso utilizando os operadores lógicos (E, OU, NAO).

54
EXERCÍCIO - RESOLUÇÃO

• Crie um algoritmo que receba um valor e verifique em uma


condição se este valor está no intervalo de 0 até 10.

55
EXERCÍCIO - RESOLUÇÃO

• Crie um algoritmo que receba um valor e verifique em uma


condição se este valor NÃO está no intervalo de 0 até 10.

56
DÚVIDAS?
Contanto: salatiel.dantas@ufersa.edu.br

S-ar putea să vă placă și