• Nenhum resultado encontrado

Aula 04 - Expressões e Operadores

N/A
N/A
Protected

Academic year: 2021

Share "Aula 04 - Expressões e Operadores"

Copied!
10
0
0

Texto

(1)

Lógica e Linguagem de Programação

Prof. Eng. Derig Almeida Vidal

Mestre em Computação Aplicada, Engenheiro de Produção e Tecnólogo em Automática

Aula 04

Expressões, Operadores e Funções

Prof. Derig Almeida Vidal, MSc

Sumário

• Comandos de Atribuição

• Comandos de Entrada e Saída de Dados • Expressões Aritméticas

• Expressões Relacionais • Expressões Lógicas • Expressão Literais

Comando de Atribuição

Este comando é utilizado para atribuir valores

a variáveis e, na linguagem Pascal, é

representado por := (dois-pontos seguidos

do sinal igual).

Exemplos:

cor := ‘verde’; teste := false;

media := (n1 + n2) / 2;

Comando de Entrada - READLN

É utilizado para receber dados do teclado.

READLN(nome da variável);

READLN(lista de variáveis);

Os comandos são atribuídos à variável após

ser prescionado ENTER.

Exemplo:

READLN(X);

READLN(A,B);

(2)

Prof. Derig Almeida Vidal, MSc

Comando de Entrada - READKEY

• É utilizado para receber uma única tecla do

teclado (esta não será exibida na tela

).

• Ex:

ENTRADA := READKEY;

Readkey;

Tecla:= readkey;

• Caso não seja pressionada nem letra nem

numero, o valor retornado é zero.

Prof. Derig Almeida Vidal, MSc

Comando de Saída – WRITE

• Imprime os dados informados e

continua na mesma linha. Sintaxe:

WRITE(lista de identificadores e/ou

constantes e/ou expressões);

Ex:

write(‘Informe o valor de a: ‘);

write(A+B);

write(‘O valor da soma é: ‘, A+B);

Comando de Saída – WRITELN

• Imprime os dados informados e pula de

linha. Sintaxe:

WRITELN(lista de identificadores e/ou

constantes e/ou expressões);

Ex:

writeln(‘Olá Mundo‘);

writeln(X-Y);

writeln(‘O resultado obtido é:’, X);

Exercício

1. Leia um valor inteiro e depois o exiba.

2. Leia uma string chamada nome e imprima

(3)

Prof. Derig Almeida Vidal, MSc

Expressão Aritmética

Uma "expressão aritmética" é usada para

expressar uma computação numérica. O

cálculo desta expressão produz um valor

numérico cujo tipo é inteiro ou real.

Envolve OPERADORES e OPERANDOS

Prof. Derig Almeida Vidal, MSc

Expressão Aritmética

• Operadores Aritméticos

• O operador / sempre conduz a um resultado real; • Com os operadores +, -. * e /, se pelo menos um

dos operandos for real, então o resultado será real.

Operador Função Exemplo

+ Adição 2 + 3, X + Y - Subtração 4 – 2, N - M * Multiplicação 3 * 4, A * B / Divisão 10/2, X1/X2

Expressão Aritmética

• Operadores de resto e quociente de divisão inteira

• Os operadores Div e Mod só podem ser aplicados com operandos inteiros.

Operador Função Exemplo

Mod divisão inteiraResto da resulta 19 Mod 4 Div Quociente da divisão inteira 9 Div 4 resulta 1

Expressão Aritmética

• Exemplos: 3. * 3 = 9. 9 / 2 = 4.5 9 DIV 2 = 4 9 MOD 2 = 1 2 DIV 9 = 0 2 MOD 9 = 2 2 / 9 = 0.22 2 + 4.6 = 6.6

(4)

Prof. Derig Almeida Vidal, MSc

Funções predefinidas

• O Pascal oferece um conjunto de funções

predefinidas (built-in functions), que são

usadas com vários tipos de dados simples.

• As funções, na maioria das vezes,

necessitam de dados como parâmetro

(dados de entrada).

• Vejamos algumas dessas funções:

Prof. Derig Almeida Vidal, MSc

Nome da Função Objetivo Tipo de Parâmetro

abs(x) Calcula o valor absoluto de x Int ou real cos(x) Calcula o cosseno de x em radianos Int ou real exp(x) Calcula ex, em que e= 2,7182818 é sistema

natural de logaritmos neperianos. Int ou real ln(x) Calcula o logaritmo natural de x (x>0) Int ou real exp(ln(x)*y) Retorna x elevado a y (regras logarítmicas) Int ou real sin(x) Calcula o seno de x em radianos Int ou real sqr(x) Calcula o quadrado de x Int ou real sqrt(x) Calcula a raiz quadrada de x (x>=0) Int ou real odd(x) Determina se x é par ou ímpar int random(x) Retorna um número pseudo-aleatório entre 0 e x int

pi Retorna o valor de PI (3,1415...) Nenhum trunc(x) Trunca x para um número inteiro real

int(x) Retorna a parte inteira de x real frac(x) Retorna a parte fracionária de x real round(x) Arredonda x para um inteiro real char(x) Determina o caractere ASCII representado por inteiro

Funções predefinidas

• Como não existe o operador de potencialização, temos:

AB = EXP(B*LN(A))

• Exemplo:

34= EXP(4*LN(3))

510= EXP(5*LN(10))

Raiz cúbica de 8 = 81/3= EXP(1/3*LN(8))

Expressão Aritmética

• Precedência entre os operadores aritméticos

• Obs.: A precedência é alterada por parênteses • Em caso de empate entre prioridades, resolver da

esquerda para a direita.

Prioridade Operador

1 * / div mod

(5)

-Prof. Derig Almeida Vidal, MSc

Expressão Aritmética

Exemplo:

5 + 4 + 9 / 3 = ?

5 + 4 + 3

12

Alteração

(5 + 4 + 9) / 3

Prof. Derig Almeida Vidal, MSc

Exercícios

3. Indique qual o resultado das operações aritméticas a seguir, sendo:

x = 6.0 y = 2 z = 4.0 a = 8 b = 7.5 c = 7.7 d = 12 p = 4 q = 3 r = 10 s = 2.5 a) x + y - z * a b) d div y c) d mod y d) y div d e) y mod d f) (( z / a ) + b * a ) - d g) 100 * (q div p ) + r h) p * (r mod q ) – q / 2 i) sqrt ( r – sqr ( q ) ) + round (c) j) abs (a – b * y - d)

Expressão Relacional

Uma "expressão relacional" é usada para

comparar os valores de duas expressões

aritméticas (ou os valores de duas

expressões caractere).

Envolve OPERADORES e OPERANDOS

Expressão Relacional

• Operadores relacionais

Operador Função Exemplo

= Igual a que 3 = 3, X = Y > Maior que 5 > 4, X > Y < Menor que 3 < 6, X < Y >= Maior ou igual a 5 >= 3, X >= Y <= Menor ou igual a 3 <= 5, X <= Y <> Diferente de 8 <> 9, X <> Y

(6)

Prof. Derig Almeida Vidal, MSc

Expressão Relacional

• Exemplos: – Resultado False: X = 1 Y = 2 Z = 5 X * X + Y > Z 1 * 1 + 2 > 5 1 + 2 > 5 3 > 5 – Resultado True: X = 4 Y = 3 Z = 1 X * X + Y > Z 4 * 4 + 3 > 1 16 + 3 > 1 19 > 1

Prof. Derig Almeida Vidal, MSc

Exercícios

4. Dadas as informações abaixo, informe qual o valor das relações (true ou false):

a) a = 2.0 , b = 9.0 , nome = ‘ana’ , profissão = ‘advogado’ a + 1 >= sqrt ( b ) ( )

nome <> ‘ana’ ( ) Profissão = ‘médico’ ( )

b) a = 6.0 , b = 121.0 , nome = ‘pedro’ , profissão = ‘médico’ a + 1 >= sqrt ( b ) ( )

nome <> ‘ana’ ( ) profissão = ‘médico’ ( )

Expressões Lógicas

Uma expressão lógica é usada para

realizar um cálculo lógico.

Envolve OPERADORES e OPERANDOS

Expressões lógicas

• Os operadores lógicos são utilizados para se analisar duas ou mais expressões inter-relacionadas

Operador

Símbolo

Função

Não

NOT

Negação

E

AND

Conjunção

(7)

Prof. Derig Almeida Vidal, MSc

Expressão Lógica

• Tabelas-Verdade (NÃO – NOT)

A

Não A

V

F

F

V

Prof. Derig Almeida Vidal, MSc

Expressão Lógica

• Tabelas-Verdade (E - AND) A B A e B F F F F V F V F F V V V

Expressão Lógica

• Tabelas-Verdade (OU - OR)

A

B

A ou B

F

F

F

F

V

V

V

F

V

V

V

V

Exercícios

5. Dadas as informações abaixo, informe qual o valor das relações (true ou false):

c) x = 3 , y = 4, z = 16, nome = ‘maria’ , sim = true ( x + y > z ) and nome = ‘maria’ ( ) sim or ( y >= x ) ( ) not sim and ( z div y + 1 = x ) ( ) nome = ‘josé’ and ( x + y + z < sqr ( y ) ) ( )

(8)

Prof. Derig Almeida Vidal, MSc

Expressões Literais

• Estes comandos servem para você manipular strings

(cadeias de caracteres).

Length(str) Retorna o tamanho (número de caracteres) de uma string.

Insert(s1,s2, p) Insere uma string (s1) em outra (s2), na posição especificada por p.

Copy(s, i, t) Retorna uma parte de uma string, a partir de uma posição inicial (i) no tamanho especificado (t). Delete(s, i, t) Apaga parte de uma string, iniciando na posição desejada (i) e indo até o tamanho especificado (t).

Concat(s1, s2) Retorna a concatenação de s1 + s2.

Pos(s1, s2) Retorna a posição de s1 em s2.

Str(v, s) Converte um número (v) para uma string (s).

UpCase(c) Retorna a versão maiúscula do caractere especificado.

Val (s, n, erro) Converte uma string (s) para um número (n), se for possível. Se não for possível, erro é diferente de zero.

Prof. Derig Almeida Vidal, MSc

Expressões Literais - Exemplo

PROGRAM EXEMPLO; CONST LISTA = ‘ABCDEFGHIJKLMN’; SEQ = ‘HI’; VAR K,M : INTEGER; X, Y, Z, W : STRING[25]; BEGIN K := POS(SEQ,LISTA); M := LENGTH(SEQ); X := COPY(LISTA, 7, M+2); Y := COPY(LISTA, K, K-1); Z := SEQ + LISTA + SEQ;

W := ‘***’ + COPY(LISTA,1,2) + ‘***’;

END.

Expressões Literais - Resultado

K = 8; M = 2; X = ‘GHIJ’; Y = ‘HIJKLMN’; Z = ‘HIABCDEFGHIJKLMNHI’; W = ‘***AB***’;

Exercícios

6. Dado o programa abaixo, indique os conteúdos definidos após a execução dos comandos. PROGRAM EX7;

CONST LISTA = ‘PROCESSAMENTODEDADOS’; SEQ = ‘PPPP’;

SEQ1 = ‘DE’;

VAR K, M :INTEGER; A, X, Z ,W:STRING;

(9)

Prof. Derig Almeida Vidal, MSc

Exercícios

BEGIN K:=POS(SEQ1,LISTA); M:=LENGHT(SEQ); X:=COPY(LISTA,K-10,M-1); Z:=SEQ+LISTA; A:=SEQ+SEQ1+SEQ; W:=‘***’+COPY(LISTA,1,2)+’***’; END.

Prof. Derig Almeida Vidal, MSc

Exercícios

7. Dadas as declarações:

VAR NUM:INTEGER; SOMA, X:REAL; SIMBOLO:CHAR;

NOME, COR, DIA:STRING[30]; COD,TESTE,TUDO:BOOLEAN;

Assinale os comandos de atribuição inválidos:

( ) SIMBOLO:=5; ( ) COR:=‘PRETO’; ( ) NUM:=‘*ABC*’; ( ) SOMA:=NUM+2*X; ( ) TESTE:=COD OR (SQR(X) <> SOMA); ( ) TUDO:=SOMA; ( ) X:=X+1; ( ) DIA:=‘SEGUNDA’;

Exercícios

OBS: Fazer o fluxograma e depois em Pascal

8. Faça um programa que receba dois números inteiros, calcule e imprima a soma desses dois números.

9. Faça um programa que receba dois números reais, calcule e imprima a subtração do primeiro número pelo segundo.

10. Faça um programa que receba dois números inteiros, calcule e imprima a divisão do primeiro número pelo segundo.

Exercícios

OBS: Fazer o fluxograma e depois em Pascal

11. Faça um programa que receba três notas de um aluno, calcule e imprima a média aritmética entre essas notas.

12. Faça um programa que receba um número inteiro, calcule e imprima:

– A raiz quadrada desse número; – Esse número elevado ao quadrado.

13. Faça um programa que receba o valor do salário de um funcionário e o valor do salário mínimo. Calcule e imprima quantos salários mínimos ganha esse funcionário.

(10)

Prof. Derig Almeida Vidal, MSc

Exercícios

OBS: Fazer o fluxograma e depois em Pascal

14. Faça um programa que receba uma cadeia de caracteres com no máximo 15 caracteres e imprima o primeiro e o último caractere juntos. 15. Faça um programa que leia o valor de um

produto e imprima este valor com um desconto de 12%.

16. Faça um programa que calcule e imprima a área de um quadrado.

17. Faça um programa que calcule e imprima a área de um círculo (área do círculo = πR²).

Prof. Derig Almeida Vidal, MSc

Exercícios

OBS: Fazer o fluxograma e depois em Pascal

18. Faça um programa que receba o peso de uma pessoa, um valor inteiro, calcule e imprima:

– O peso da pessoa em gramas;

– Se essa pessoa engordar 5%, qual será seu novo peso em gramas.

Bibliografia

• ASCENCIO, Ana Fernanda Gomes. Lógica de

Programação com Pascal. São Paulo: Makron

Books, 2003.

Observações

• Exercícios resolvidos e fluxogramas elaborados por Aldemir Alencar Alves (inspiracaoal@hotmail.com) • Visite o site do professor Derig Almeida Vidal

(https://sites.google.com/site/derigalmeida/) • Caso encontre erros, favor nos informar.

Referências

Documentos relacionados

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

O candidato que se julgar prejudicado, após a publicação do gabarito preliminar do concurso, poderá interpor recurso no prazo de 2 (dois) dias úteis, a contar da

Num estudo aberto envolvendo crianças (n=108, escalão etário: crianças até aos 16 anos de idade) com tumores sólidos recorrentes ou progressivos, o topotecano foi administrado

Palavras-chaves: Séries de Legendre da linha geodésica; função erro para latitude; função erro para longitude e função erro para azimute; modelo de ajustamento pelo MMQ; teste

EDITAL DE RETIFICAÇÃO N° 001 PROCESSO SELETIVO SIMPLIFICADO EDITAL 03/2018, DE 09 DE JANEIRO DE

(*) Os pré-requisitos, de qualquer natureza, exigidos em disciplinas, ficam suspensos para o 1º/2021, exceto os TCCs e Projetos Finais, que estão sendo avaliados

3 15. Faça um programa que receba 10 números e mostre a soma dos números ímpares e a soma dos números pares. Faça um programa que leia a idade, altura e peso de um conjunto de

* Os números da reta que estão a esquerda de um número em questão sempre serão menores que esse número. A subtração de números reais resulta em um número real. Toda